Skip to main content

pyPDBeREST

Build Status Coverage Status License

A python wrapper for the PDBe REST API, inspired by pyEnsemblRest.

Setup

git clone https://github.com/biomadeira/pyPDBeREST.git
cd pyPDBeREST
sudo python setup.py install

Example usage

For a full set of examples and more details on all functionality see these notes. For the impatient see below.

Quickstart

# 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

GET

# 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"
                }
            ]
        }
    ]
}

POST

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"
                }
            ]
        }
    ]
}

Looking for more?

For a full set of examples and more details on all functionality see these notes.

Dependencies

Python: versions

See the necessary requirements for this module.

Contributing and Bug tracking

Feel free to fork, clone, share and distribute. If you find any bugs or issues please log them in the issue tracker.

License

GNU General Public License v3 (GPLv3). See license for details.

Metadata

Release files for pyPDBeREST 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyPDBeREST 0.1.0
File Size Uploaded
pypdberest-0.1.0.tar.gz 36.2 kB Details

Release files / pypdberest-0.1.0.tar.gz

Download URL pypdberest-0.1.0.tar.gz
Size 36.2 kB
Tags Source
SHA-256 checksum
How to use checksums
8843549e904aa3a635926f1f70c4a7d91d4303868bb0415109de12285a126bd5
BLAKE2b-256 checksum
How to use checksums
c76ab6e4ff4030356532fe39764ec1811278cf0e8b38e0d0b225f3116d46c0ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page