POP-OUT | CLOSE

The RCSB PDB RESTful Web Service interface

The RCSB PDB supports RESTful (REpresentational State Transfer) Web Services to make accessing data easier. Please use these services instead of screen-scraping.

Generally we are trying to implement two types of services for our RESTful interface:

  • Search services: to return a list of IDs (e.g., PDB IDs, chain IDs, ligand IDs)
  • Fetch services: to return data given a ID (e.g. reports, descriptions, data items)

The services below are currently provided; please let us know if you have additional suggestions.

SEARCH services

 

FETCH services

Custom Reports

 

Descriptions

 

Lists and status

 

Annotations

 

Sequence and Structure Clusters

 


PDB File Description Service
Access general information about a PDB entry (e.g., Header information). Describe the molecular entities that are contained in a PDB entry. Also provides information on the number of available biological assemblies.
 
Descriptions of PDB entities
Access the descriptions of the entities that are contained in a PDB file.
 
Descriptions of Chemical Components
Access the descriptions of the chemical components based on their IDs. XML contains a PDB ID as an example of where it can be found.
 
List all current/obsolete PDB IDs
Get a list of all current PDB IDs. Get a list of all obsolete PDB IDs.
 
BLAST search on the PDB database
 
Information about release status
Get Information about the release status for one or multiple PDB ids.
 
List unreleased PDB IDs
Get a list of PDB IDs that have not been released yet.
 
List pre-release sequences in FASTA format
Get a list of pre-release sequence in FASTA format.
 
Ligands in PDB files
List the ligands that can be found in a PDB entry.
 
Gene Ontology terms for PDB chains
List the Gene Ontology terms that have been annotated for a PDB chain. (Same as on the Annotations tab in the structure explorer pages).
 
Pfam annotations for PDB entries
The Pfam annotations that are displayed on the RCSB PDB web site are calculated by weekly scripting the Hmmer web site. The calculated annotations can be downloaded using any of these options:
 
Sequence and Structure cluster related web services
Various requests related to the sequence and 3D - structure clustering are available:

The names of the representative domains are either SCOP domain IDs (starting with "d") or domain IDs as have been assigned with the Protein Domain Parser software ("PDP:")

The all vs. all structural similarity results table for a representative chain can be downloaded in XML. For example, this returns Rank, PDB.Chain, Description, P-value, Score, RMSD, Len1, Len2, %Sim1, and %Sim2 for 3BMV.A /pdb/explorer/structCompXMLData.jsp?method=pw_fatcat&chain=d3bmva1&page=1&rows=10&prettyXML. Note: A maximum 2000 rows can be returned through this URL. To fetch all approx. 17,000 results for a chain,you need to slice through the results using the page parameter.

There are additional parameters for this URL, which allow sorting. e.g. this sorts by P-value /pdb/explorer/structCompXMLData.jsp?method=pw_fatcat&showAllResults=false&chain=d1iarb1&rows=15&page=1&sidx=probability&sord=asc Parameters that can be used for sorting (the value of the sidx parameter) are: name2,desc,probability, score, rmsdOpt, len1, len2, pid, sim1, sim2.

 
Third-party annotations and PDB to UniProtKB mapping
DAS Service:
The RESTful services for providing third-party annotations (SCOP, CATH, Pfam, etc.) follows the DAS protocol. The DAS server is available from /pdb/rest/das. The DAS protocol command SOURCES (description of the provided sources) is available from /pdb/rest/das/sources. At the present there are two DAS sources provided:

For more documentation on the DAS protocol, see http://www.dasregistry.org/

 
Chemical Structure searches with SMILES or SMARTS strings
This query performs chemical structure searches using SMILES and SMARTS linear notations.
Search types include exact, substructure, superstructure and similarity.
 
SEARCH service

This interface exposes the RCSB PDB advanced search interface as an XML Web Service.

To use this service, POST a XML representation of an advanced search to /pdb/rest/search.

XML representation of advanced search

Every advanced search can be represented by XML. To view an example representation, simply execute an advanced search query and then click on the Result tab. One of the links on the top of the page is Query Details. Clicking on this link will provide the XML representation of the query.

Every query is described by two data items:

  • queryType: the name of the class that is implementing the query
  • arguments: depending on the type of query that is being executed one or more differently named arguments need to be provided.
 

Sample XML Queries:

The Query is displayed in the Textbox below

Example:
<orgPdbQuery>    
    <queryType>org.pdb.query.simple.UpAccessionIdQuery</queryType>
    <description>Simple query for a list of UniprotKB Accession IDs: P50225</description>   
    <accessionIdList>P50225</accessionIdList>
</orgPdbQuery>
 

Now let's POST this query against the Web Service:


Sort results by:    
Results will go here:
 
Examples:
  • View a Perl example that submits a simple search for organism: search_organism.pl
  • View a Java example that submits a more complex Advanced Search doing a BLAST search and only looking at X-RAY structures. PostXMLQuery.java
  • View a Python example that submits a simple search for all Solid State NMR proteins: search_nmr.py