≫ Archive Data

What is SSBD API?

SSBD API is the Application Programming Interface for accessing the internal data of the SSBD database. The API is based on the web development practice of using RESTFul architecture. A RESTful API call is simply an HTTP request to the SSBD server.

Prerequisite

Before you begin, you need to be familiar with BDML file, its terminology and its schema. Please refer to BDML Specification for more information.
The latest API has simiplified the interface and does not follow the structure of BDML schema. But a familarlity of it will help in working with the API.

Summary of SSBD API (v3)

API Request Method Functions Status
/SSBD/api/v3/ GET list all the available APIs
/SSBD/api/v3/data/ GET retrieve meta information Only support BDML 3.0;
/SSBD/api/v3/contact/ GET retrieve contact details Only support BDML 3.0;
/SSBD/api/v3/contributor/ GET retrieve contributors details Only support BDML 3.0;
/SSBD/api/v3/person/ GET retrieve person contact and affiliation details Only support BDML 3.0;
/SSBD/api/v3/affiliation/ GET retrieve affiliation details Only support BDML 3.0;
/SSBD/api/v3/bd5coords/ GET retrieve quantitative data Only support BDML 3.0;

SSBD API Schema

There are two default formats that the API will return. It can either return the data in XML or JSON formats.

div class="text">

affiliation API

Description
Retrieve affiliation information. Normally affiliation data are retrieved with the use of contact contributor and person api instead
Fields Description Usage example Usage comment
E_mail Email address of the contact person http://ssbd.qbic.riken.jp/SSBD/api/v3/affiliation/?format=xml;E_mail__icontains=riken To retrieve Email address which contains 'riken' from SSBD
person Using person API to retrieve affilion >http://ssbd.qbic.riken.jp/SSBD/api/v3/affiliation/?format=xml;person__last_name=OnamiTo retrieve affiliation information by searching the person's last name as 'Onami' from SSBD
affiliation Schema
http://ssbd.qbic.riken.jp/SSBD/api/v3/affiliation/schema/?format=xml

contact API

Description
Contact information It is normally used together with data, person and affiliation API
Fields Description Usage example Usage comment
data meta data stored in SSBD http://ssbd.qbic.riken.jp/SSBD/api/v3/contact/?format=xml;data__localID__icontains=wt(N2)07 To retrieve Contact data from SSBD for data's localID which contains 'wt(N2)07'
person person associated with the data. http://ssbd.qbic.riken.jp/SSBD/api/v3/contact/?format=xml;person__last_name=Okada To retrieve Contact data from SSBD for person with the last name Okada
affiliation affiliation associated with the data. http://ssbd.qbic.riken.jp/SSBD/api/v3/contact/?format=xml;affiliation__E_mail__icontains=kellerTo retrieve Contact information from SSBD with affiliation's email address containing the phrase 'keller'
Contact Schema
http://ssbd.qbic.riken.jp/SSBD/api/v3/contact/schema/?format=xml

b5coords API

Description
It provides an interface to retrieve the quantitative numerical data. It only support BDML 3.0
Fields Description Usage example Usage comment
bdmlUUID retrieve quantitiatve data based on unique bdmlID (UUID) identity number of the BDML file stored in SSBD. It uses "bdml__" as prefix for bdml API; Also see bdml API http://ssbd.qbic.riken.jp/SSBD/api/v3/contact/?format=xml;bdml__bdml_ID__icontains=247 To retrieve coordinates data from SSBD for bdmlUUID which contains '247'
entity Type of entity that the coordinates belong to, e.g. line, point, sphere, etc. NA cannot be searched; retrieval only
id entity ID. NA cannot be searched; retrieval only
x x coordinates NA cannot be searched; retrieval only
y y coordinates NA cannot be searched; retrieval only
z z coordinates. NA cannot be searched; retrieval only
radius radius of a sphere or a circle entity NA cannot be searched; retrieval only
t time values NA cannot be searched; retrieval only; use ts (time step) for retrieval.

<response>
    <meta type="hash">
        <limit type="integer">20</limit>
        <next type="null" />
        <offset type="integer">0</offset>
        <previous type="null" />
        <total_count type="integer">20</total_count>
    </meta>
    <objects type="list">
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">402.0</x>
            <y type="float">436.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">403.0</x>
            <y type="float">437.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">404.0</x>
            <y type="float">437.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">405.0</x>
            <y type="float">438.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">404.0</x>
            <y type="float">439.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">404.0</x>
            <y type="float">440.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">404.0</x>
            <y type="float">441.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">403.0</x>
            <y type="float">442.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">402.0</x>
            <y type="float">443.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">401.0</x>
            <y type="float">444.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">400.0</x>
            <y type="float">444.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">399.0</x>
            <y type="float">445.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">398.0</x>
            <y type="float">444.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">398.0</x>
            <y type="float">445.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">399.0</x>
            <y type="float">445.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">400.0</x>
            <y type="float">446.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">401.0</x>
            <y type="float">447.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">401.0</x>
            <y type="float">448.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">401.0</x>
            <y type="float">449.0</y>
            <z type="float">21.0</z>
        </object>
        <object>
            <entity>line</entity>
            <id type="integer">1000</id>
            <radius type="null" />
            <sid type="integer">0</sid>
            <t type="float">1.0</t>
            <x type="float">400.0</x>
            <y type="float">450.0</y>
            <z type="float">21.0</z>
        </object>
    </objects>
</response>

data API

Description
Retrieve meta information of the data stored in SSBD.
Fields Description Usage example Usage comment
bdmlID Retrieve data based on unique BDMLID http://ssbd.qbic.riken.jp/SSBD/api/v3/data/?format=xml;bdmlID=6b0978f2-1594-4f8f-9560-e9e26b66a06d To retrieve summary data from SSBD for bdmlID "6b0978f2-1594-4f8f-9560-e9e26b66a06d"
localID Retreive data based on internal or local identifier http://ssbd.qbic.riken.jp/SSBD/api/v3/data/?format=xml;localID__icontains=wt(N2)07 To retrieve all the meta data from SSBD when localID contains the phrase "wt(N2)07". Note that the field is changed from previous bdml_ID to bdmlUUID in the new API.
organism Retrieve data based on organism http://ssbd.qbic.riken.jp/SSBD/api/v3/data/?format=xml\;organism=zebrafish Return zebrafish data.
Data Schema
Example of response
  • Trying to retrieve meta data from SSBD for bdmlID "6b0978f2-1594-4f8f-9560-e9e26b66a06d"
  • output format is in XML format
    • http://ssbd.qbic.riken.jp/SSBD/api/v3/data/?format=xml;bdmlID=6b0978f2-1594-4f8f-9560-e9e26b66a06d
      
      <response>
         <meta type="hash">
         <limit type="integer">20</limit>
         <next type="null"/>
         <offset type="integer">0</offset>
         <previous type="null"/>
         <total_count type="integer">1</total_count>
         </meta>
         <objects type="list">
            <object>
               <PMID>23172286</PMID>
               <basedon>Experiment</basedon>
               <bdmlID>6b0978f2-1594-4f8f-9560-e9e26b66a06d</bdmlID>
               <citation type="null"/>
               <datatype>nuclear division dynamics</datatype>
               <dblink>http://so.qbic.riken.jp/wddd/</dblink>
               <description>
                  quantitative information about nuclear division dynamics in wild-type embryo
               </description>
               <gene type="null"/>
               <license>CC BY-SA</license>
               <localID>wt(N2)071220_01</localID>
               <method_summary>
                  See details in Kyoda et al. (2013) Nucleic Acids Res 41, D732-D737.
               </method_summary>
               <orf type="null"/>
               <organism>C. elegans</organism>
               <release>2017-10-03</release>
               <schema_ver>3.000</schema_ver>
               <title>
                  BDML file for quantitative information about nuclear division dynamics of wild-type embryo
               </title>
            </object>
         </objects>
      </response>