PyCoM comes with a RESTful API hosted at https://pycom.brunel.ac.uk/api/. It can be used to query the 540,000+ proteins alongside coevolution matrices.
Full specifications (in Swagger) are available at: https://pycom.brunel.ac.uk/api/spec/
If you only need a short tutorial, one is available here: https://pycom.brunel.ac.uk/tutorials/00_WebAPI.html
Find proteins associated with cancer (first 10 entries):
https://pycom.brunel.ac.uk/api/find?disease=cancer
Load the second page (entries 11 to 20)
https://pycom.brunel.ac.uk/api/find?disease=cancer&page=2
Entries with cofactor FAD which have a PTM, and have a disease associated with them:
https://pycom.brunel.ac.uk/api/find?cofactor=FAD&has_ptm=true&has_disease=true
Look for proteins with with 10-15 residues, and load the matrix (by setting matrix=true). Set per_page=2 to only load two proteins (instead of 10).
https://pycom.brunel.ac.uk/api/find?min_length=10&max_length=15&matrix=true&per_page=2
The main endpoint (/api/find) is used to query the database.
https://pycom.brunel.ac.uk/api/find
The /api/find endpoint support the following parameters:
uniprot_id
: The UniProt ID of the protein.sequence
: The amino acid sequence of protein to search for. (full match)min_length
/ max_length
: Min/Max number of residues in the protein.min_helix
/ max_helix
: Min/Max percentage of helical structure in the protein.min_turn
/ max_turn
: Min/Max percentage of turn structure in the protein.min_strand
/ max_strand
: Min/Max percentage of beta strand structure in the protein.organism
: Taxonomic name of the genus / species of the protein. (case-insensitive)pyc.get_organism_list()
for full list):
to get precise results:homo:
returns Homo sapiens
& Homo sapiens neanderthalensis
)homo
also returns homoeomma, thomomys, and hundreds othersorganism_id
: Precise NCBI Taxonomy ID of the species of the protein. (prefer to use organism
instead)cath
: CATH classification of the protein (3.40.50.360
or 3.40.*.*
or 3.*
).enzyme
: Enzyme Commission number of the protein. (1.3.1.3
or 1.3.*.*
or 1.*
).has_substrate
: Whether the protein has a known substrate. (True
/False
)has_ptm
: Whether the protein has a known post-translational modification. (True
/False
)has_pdb
: Whether the protein has a known PDB structure. (True
/False
)disease
: The disease associated with the protein. (name of disease, case-insensitive, e.g cancer
)pyc.get_disease_list()
for full list.cancer
searches for Ovarian cancer
, Lung cancer
, ...disease_id
: The ID of the disease associated with the protein. (DI-02205
, get_disease_list()has_disease
: Whether the protein is associated with a disease. (True
/False
)cofactor
: The cofactor associated with the protein. (name of cofactor, case-insensitive, e.g Zn(2+)
])cofactor_id
: The ID of the cofactor associated with the protein. (CHEBI:00001
, get_cofactor_list())biological_process
: Biological process associated with the protein. (e.g antiviral defense
, use pyc.get_biological_process_list()
for full list)cellular_component
: Cellular component associated with the protein. (e.g nucleus
, use pyc.get_cellular_component_list()
for full listdomain
: Domain associated with the protein. (e.g zinc-finger
, use pyc.get_domain_list()
for full list)ligand
: Ligand associated with the protein. (e.g zinc
, use pyc.get_ligand_list()
for full listmolecular_function
: Molecular function associated with the protein. (e.g antioxidant activity
, use pyc.get_molecular_function_list()
for full listptm
: Post-translational modification associated with the protein. (e.g phosphoprotein
, use pyc.get_ptm_list()
for full listThere are secondary (support) endpoints. These serve static content and take no parameters.
https://pycom.brunel.ac.uk/api/get-disease-list
https://pycom.brunel.ac.uk/api/get-cofactor-list
https://pycom.brunel.ac.uk/api/get-organism-list
https://pycom.brunel.ac.uk/api/get-biological-process-list
https://pycom.brunel.ac.uk/api/get-cellular-component-list
https://pycom.brunel.ac.uk/api/get-development-stage-list
https://pycom.brunel.ac.uk/api/get-domain-list
https://pycom.brunel.ac.uk/api/get-ligand-list
https://pycom.brunel.ac.uk/api/get-molecular-function-list
https://pycom.brunel.ac.uk/api/get-ptm-list