POP-OUT | CLOSE
MyPDB Login - Username: Password:

About: MyPDB stores and automatically runs your favorite queries. Email alerts are sent when matching structures are found.

    MyPDB Login
MyPDB: Login | Register
A Member of the wwPDB

An Information Portal to Biological Macromolecular Structures

As of Tuesday Mar 16, 2010 at 5 PM PDT there are 64098 Structures RSS Feed for the Latest Released Structures Help | Latest Released  |  PDB Statistics Help | PDB Statistics
RCSB PDB Protein Data Bank | Home

Print Options: BW Safe Color Safe Print




URL:
 

The RCSB PDB RESTful Web Service interface

The RCSB PDB is supporting RESTful (REpresentational State Transfer) Web Services to make accessing data easier. Please use these services instead of screen-scraping. If relevant services are missing, please let us know.

As a general strategy we are trying to implement two types of services for our RESTful interface:

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

At the present the following services are provided:

SEARCH services

  • A generic SEARCH service allowing to POST advanced queries
  • Search for Ligands and PDB IDs based on a SMILES query

FETCH services

  • View descriptions for the whole PDB file
  • View descriptions for PDB entities
  • View descriptions of chemical components
  • Get information about the release status of a PDB ID
  • Get a list of unreleased PDB IDs
  • Viewing Ligands that are present in a single protein structure
  • A service for providing third-party annotations mapped onto PDB chains
  • A service for accessing PDB to UniProtKB mappings
  • Access Gene Ontology terms for a PDB chain.

Descriptions of PDB entities:

 
PDB File Description Service:
Access overall descriptions of the PDB file.
 
 

Descriptions of PDB entities:

 
Entity Description Service:
Access the descriptions of the entities that are contained in a PDB file.
 
 

Descriptions of Chemical Components:

 
Chemical Component Description Service:
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.
 
 

Information about release status:

 
Release Status Service:
Get Information about the release status for one or multiple PDB ids.
 
 

List unreleased PDB IDs:

 
Description Service:
Get a list of PDB IDs that have not been released yet.
 
 

Ligands in PDB files:

 
LigandInfo Service:
List the ligands that can be found in a PDB entry.
 
 

Gene Ontology terms for PDB chains:

 
Gene Ontology Service:
List the Gene Ontology terms that have been annotated for a PDB chain. (Same as on the Derived Data tab in the structure explorer pages).
 
 

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/

 
 

Search PDB with SMILES string:

 
SMILES search:
Lists the ligands and PDB IDs that match a SMILES query.
 
 

SEARCH service:

 
SEARCH service:

At present this interface exposes the RCSB PDB advanced search interface as an XML Web Service.

In order to utilize 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 left hand menu is Show 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:


 
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