Migration Guide: Legacy Fetch API Web Service

Legacy Fetch API Web Service

If your application currently uses Legacy Fetch API Web Service, it is important that you migrate to new GraphQL API and/or REST API so that your application continues to work.

Migration Guidelines Summary:

Custom Reports

The /pdb/rest/customReport.xml service, that provided pre-defined summary and customizable reports, is discontinued. Instead, use GraphQL API that allows writing flexible and declarative queries to access PDB data. Refer to the Data Attributes page for a full list of available attributes.

You can get an example GraphQL query for pre-defined reports available at rcsb.org:

Report

Descriptions

PDB File Description Service

Describe PDB Entry

Access general information about a PDB entry (e.g., Header information). Former endpoint: /pdb/rest/describePDB?structureId=4hhb

Legacy API Field GraphQL API Field
structureId entry.entry.id
title entry.struct.title
pubmedId entry.rcsb_primary_citation.pdbx_database_id_PubMed
pubmedCentralId entry.pubmed.rcsb_pubmed_central_id
expMethod entry.rcsb_entry_info.experimental_method
resolution entry.rcsb_entry_info.resolution_combined
replaces entry.pdbx_database_PDB_obs_spr.replace_pdb_id
keywords entry.struct_keywords.pdbx_keywords
nr_entities entry.rcsb_entry_info.polymer_entity_count
nr_residues entry.rcsb_entry_info.deposited_polymer_monomer_count
nr_atoms entry.rcsb_entry_info.deposited_atom_count
deposition_date entry.rcsb_accession_info.deposit_date
release_date entry.rcsb_accession_info.initial_release_date
last_modification_date entry.rcsb_accession_info.revision_date
structure_authors entry.audit_author.name
citation_authors entry.rcsb_primary_citation.rcsb_authors
status N/A
relatedPDB.pdbId entry.pdbx_database_related.db_id (content_type != 'split' & content_type != 're-refinement')
relatedPDB.details entry.pdbx_database_related.details
originalStructureForRefinementPDB.pdbId entry.pdbx_database_related.db_id (content_type == 're-refinement')
originalStructureForRefinementPDB.details entry.pdbx_database_related.details
largeStructure entry.pdbx_database_status.pdb_format_compatible = 'N'

GraphQL Query:

Describe Molecular Entities

Describe the molecular entities that are contained in a PDB entry. Also provides information on the number of available biological assemblies. Former endpoint /pdb/rest/getEntityInfo?structureId=1hv4.

Legacy API Field GraphQL API Field
structureId entry.entry.id
bioAssemblies entry.rcsb_entry_info.assembly_count
release_date entry.rcsb_accession_info.initial_release_date
resolution entry.rcsb_entry_info.resolution_combined
Method.name entry.rcsb_entry_info.experimental_method
Entity.id entry.polymer_entities.rcsb_polymer_entity_container_identifiers.entity_id
Entity.type entry.polymer_entities.entity_poly.rcsb_entity_polymer_type
Chain.id entry.polymer_entities.rcsb_polymer_entity_container_identifiers.auth_asym_ids

GraphQL Query:

Descriptions of PDB entities

Access the descriptions of the entities that are contained in a PDB file. Former endpoint /pdb/rest/describeMol?structureId=4hhb.

Legacy API Field GraphQL API Field
structureId entry.entry.id
polymer.entityNr entry.polymer_entities.rcsb_polymer_entity_container_identifiers.entry_id
chain.id entry.polymer_entities.rcsb_polymer_entity_container_identifiers.auth_asym_ids
polymer.length entry.polymer_entities.entity_poly.rcsb_sample_sequence_length
polymer.type entry.polymer_entities.entity_poly.rcsb_entity_polymer_type
polymer.weight entry.polymer_entities.rcsb_polymer_entity.formula_weight
Taxonomy.name entry.polymer_entities.rcsb_entity_source_organism.ncbi_scientific_name
Taxonomy.id entry.polymer_entities.rcsb_entity_source_organism.ncbi_taxonomy_id
synonym.name entry.polymer_entities.rcsb_polymer_entity_name_com.name
macroMolecule.name entry.polymer_entities.uniprots.rcsb_uniprot_protein.name.value
macroMolecule.accession.id entry.polymer_entities.uniprots.rcsb_uniprot_container_identifiers.uniprot_id
polymerDescription.description entry.polymer_entities.rcsb_polymer_entity.pdbx_description
fragment.desc entry.polymer_entities.rcsb_polymer_entity.pdbx_fragment
enzClass.ec entry.polymer_entities.rcsb_polymer_entity.pdbx_ec
mutation.desc entry.polymer_entities.rcsb_polymer_entity.pdbx_mutation
details.desc entry.polymer_entities.rcsb_polymer_entity.details

GraphQL Query:

Descriptions of Chemical Components

Access the descriptions of the chemical components based on their IDs. Former endpoint /pdb/rest/describeHet?chemicalID=NAG,EBW

Legacy API Field GraphQL API Field
chemicalID chem_comps.chem_comp.id
type chem_comps.chem_comp.type
molecularWeight chem_comps.chem_comp.formula_weight
chemicalName chem_comps.chem_comp.name
formula chem_comps.chem_comp.formula
InChI chem_comps.rcsb_chem_comp_descriptor.InChI
InChIKey chem_comps.rcsb_chem_comp_descriptor.InChIKey
smiles chem_comps.pdbx_chem_comp_descriptor.descriptor (pdbx_chem_comp_descriptor.type == 'SMILES_CANONICAL' & pdbx_chem_comp_descriptor.program == 'OpenEye OEToolkits')

GraphQL Query:

Ligands in PDB Entry

List the ligands that can be found in a PDB entry. Former endpoint: /pdb/rest/ligandInfo?structureId=4HHB

Legacy API Field GraphQL API Field
structureId entry.nonpolymer_entities.rcsb_nonpolymer_entity_container_identifiers.entry_id
chemicalID entry.nonpolymer_entities.nonpolymer_comp.chem_comp.id
type entry.nonpolymer_entities.nonpolymer_comp.chem_comp.type
molecularWeight entry.nonpolymer_entities.nonpolymer_comp.chem_comp.formula_weight
chemicalName entry.nonpolymer_entities.nonpolymer_comp.chem_comp.name
formula entry.nonpolymer_entities.nonpolymer_comp.chem_comp.formula
InChI entry.nonpolymer_entities.nonpolymer_comp.rcsb_chem_comp_descriptor.InChI
InChIKey entry.nonpolymer_entities.nonpolymer_comp.rcsb_chem_comp_descriptor.InChIKey
smiles entry.nonpolymer_entities.nonpolymer_comp.pdbx_chem_comp_descriptor.descriptor (pdbx_chem_comp_descriptor.type == 'SMILES_CANONICAL' & pdbx_chem_comp_descriptor.program == 'OpenEye OEToolkits')

GraphQL Query:

Lists and Status

Release Status

Get the status information of one PDB ID.

Former endpoint: /pdb/rest/idStatus?structureId=4HHB
Current endpoint: https://data.rcsb.org/rest/v1/holdings/status/4HHB

Get the status information for a set of PDB IDs.

Former endpoint: /pdb/rest/idStatus?structureId=450D,451D
Current endpoint: https://data.rcsb.org/rest/v1/holdings/status?ids=450D,451D

List Current/Obsolete PDB IDs

Get a list of all current PDB IDs.

Former endpoint: /pdb/json/getCurrent
Current endpoint: https://data.rcsb.org/rest/v1/holdings/current/entry_ids

Get a list of all obsolete PDB IDs.

Former endpoint: /pdb/json/getObsolete
Current endpoint: https://data.rcsb.org/rest/v1/holdings/removed/entry_ids

List Unreleased PDB IDs

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

Access the information for all unreleased PDB IDs.
Former endpoint: /pdb/rest/getUnreleased
Current endpoint: https://data.rcsb.org/rest/v1/holdings/unreleased/entry_ids

Access the information for a subset of PDB IDs.
Former endpoint: /pdb/rest/getUnreleased?structureId=450D,451D
Current endpoint: https://data.rcsb.org/rest/v1/holdings/unreleased?ids=450D,451D

List Pre-Release Sequences

The /pdb/rest/getStatusSequence service is discontinued. You can get pre-release sequences from REST API: https://data.rcsb.org/rest/v1/holdings/unreleased?ids=450D,451D.

List Biological Assemblies

Number of biological assemblies associated with a PDB entry. Former endpoint: /pdb/rest/bioassembly/nrbioassemblies?structureId=1hv4

GraphQL Query:

Access the transformation information needed to generate a biological assembly (nr=0 will return information for the asymmetric unit, nr=1 will return information for the first assembly, etc.). Former endpoint: /pdb/rest/bioassembly/bioassembly?structureId=1hv4&nr=1

Legacy API Field GraphQL API Field
bioassembly.structureId assembly.rcsb_assembly_container_identifiers.entry_id
bioassembly.assemblyNr assembly.rcsb_assembly_container_identifiers.assembly_id
bioassembly.method assembly.pdbx_struct_assembly.method_details
bioassembly.desc assembly.pdbx_struct_assembly.details
transformations.chainIds assembly.pdbx_struct_assembly_gen.asym_id_list
transformations.operator assembly.pdbx_struct_oper_list.id
transformations.matrix:
m11, m12, m13, m21, m22, m23, m31, m32, m33
pdbx_struct_oper_list:
matrix_1_1, matrix_1_2, matrix_1_3, matrix_2_1, matrix_2_2, matrix_2_3, matrix_3_1, matrix_3_2, matrix_3_3
transformations.shift:
v1, v2, v3
pdbx_struct_oper_list:
vector_1, vector_2, vector_3

GraphQL Query:

Annotations

Legacy DAS Service is discontinued. Please, find below examples similar in content.

Third-party annotations

Provides various third party annotations that have been computed for PDB chains (SCOP, CATH, etc.). Similar in content to former endpoint: /pdb/rest/das/pdbchainfeatures/features?segment=5pti.A

GraphQL Query:

PDB to UniProtKB mappings

GraphQL Query:

Pfam annotations for PDB entries

The support of /pdb/rest/hmmer is discontinued. Pfam annotations can be requested as:

GraphQL Query:

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). Former endpoint: /pdb/rest/goTerms?structureId=4HHB.A,1A4W.H

GraphQL Query:

Sequence and Structure Clusters

Sequence cluster membership of individual entities is now accessed via the rcsb_polymer_entity_group_membership attribute:

GraphQL Query:

The rcsb_cluster_membership property should not be used anymore.

Structure clusters are not available at this point but may be added in a future release.

Contact Us

Contact info@rcsb.org with questions or feedback about this service.