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