A python wrapper for the PDBe REST API, inspired by pyEnsemblRest.
Easy install from github using pip.
$ pip install --upgrade http://github.com/biomadeira/pyPDBeREST/zipball/masterIf you want to mess up with the source code.
git clone https://github.com/biomadeira/pyPDBeREST.git
cd pyPDBeREST
sudo python setup.py installFor a full set of examples and more details on all functionality see these notes. For the impatient see below.
# loading the module...
from pdbe import pyPDBeREST
p = pyPDBeREST()Alternatively overriding the base url for the endpoints…
# using the dev branch of the api
p = pyPDBeREST(base_url='http://wwwdev.ebi.ac.uk/pdbe/')Printing out all the available method endpoints…
print(p.endpoints())The following endpoints are available:
EMDB
SSM
SEARCH
SIFTS
COMPOUNDS
TOPOLOGY
VALIDATION
PDB
PISA
Printing out all the available endpoints for one of the top level methods…
print(p.PDB.endpoints())The following endpoints are available:
getReleaseStatus
getBindingSites
getObservedRanges
getRelatedPublications
getResidueListingChain
getNmrResources
getExperiments
getSecondaryStructure
getVariousUrls
getModifiedResidues
getSummary
getResidueListing
getPublications
getLigands
getMutatedResidues
getMolecules
# example of a GET query...
data = p.PDB.getSummary(pdbid='1cbs')
print(data){
"2pah": [
{
"related_structures": [],
"split_entry": [],
"title": "TETRAMERIC HUMAN PHENYLALANINE HYDROXYLASE",
"release_date": "19991006",
"experimental_method": [
"X-ray diffraction"
],
"experimental_method_class": [
"x-ray"
],
"revision_date": "20110713",
"entry_authors": [
"Stevens, R.C.",
"Fusetti, F.",
"Erlandsen, H."
],
"deposition_site": "BNL",
"number_of_entities": {
"polypeptide": 1,
"dna": 0,
"ligand": 1,
"dna/rna": 0,
"rna": 0,
"sugar": 0,
"water": 0,
"other": 0
},
"processing_site": "RCSB",
"deposition_date": "19980526",
"assemblies": [
{
"assembly_id": "1",
"form": "homo",
"preferred": true,
"name": "tetramer"
}
]
}
]
}Not all endpoints enable post requests. Those will raise a
NotImplementedError() exception.
# an example POST query...
# up to 1000 pdb ids can be queried with post methods
data = p.PDB.getSummary(pdbid='1cbs, 2pah', method='POST')
print(data){
"1cbs": [
{
"related_structures": [],
"split_entry": [],
"title": "CRYSTAL STRUCTURE OF CELLULAR RETINOIC-ACID-BINDING PROTEINS I AND II IN COMPLEX WITH ALL-TRANS-RETINOIC ACID AND A SYNTHETIC RETINOID",
"release_date": "19950126",
"experimental_method": [
"X-ray diffraction"
],
"experimental_method_class": [
"x-ray"
],
"revision_date": "20090224",
"entry_authors": [
"Kleywegt, G.J.",
"Bergfors, T.",
"Jones, T.A."
],
"deposition_site": null,
"number_of_entities": {
"polypeptide": 1,
"dna": 0,
"ligand": 1,
"dna/rna": 0,
"rna": 0,
"sugar": 0,
"water": 1,
"other": 0
},
"processing_site": null,
"deposition_date": "19940928",
"assemblies": [
{
"assembly_id": "1",
"form": "homo",
"preferred": true,
"name": "monomer"
}
]
}
],
"2pah": [
{
"related_structures": [],
"split_entry": [],
"title": "TETRAMERIC HUMAN PHENYLALANINE HYDROXYLASE",
"release_date": "19991006",
"experimental_method": [
"X-ray diffraction"
],
"experimental_method_class": [
"x-ray"
],
"revision_date": "20110713",
"entry_authors": [
"Stevens, R.C.",
"Fusetti, F.",
"Erlandsen, H."
],
"deposition_site": "BNL",
"number_of_entities": {
"polypeptide": 1,
"dna": 0,
"ligand": 1,
"dna/rna": 0,
"rna": 0,
"sugar": 0,
"water": 0,
"other": 0
},
"processing_site": "RCSB",
"deposition_date": "19980526",
"assemblies": [
{
"assembly_id": "1",
"form": "homo",
"preferred": true,
"name": "tetramer"
}
]
}
]
}For a full set of examples and more details on all functionality see these notes.
See the necessary requirements for this module.
Feel free to fork, clone, share and distribute. If you find any bugs or issues please log them in the issue tracker.
GNU General Public License v3 (GPLv3). See license for details.
