scientific-skills/bioservices/references/services_reference.md
This document provides a comprehensive reference for all major services available in BioServices, including key methods, parameters, and use cases.
Protein sequence and functional information database.
Initialization:
from bioservices import UniProt
u = UniProt(verbose=False)
Key Methods:
search(query, frmt="tab", columns=None, limit=None, sort=None, compress=False, include=False, **kwargs)
frmt: "tab", "fasta", "xml", "rdf", "gff", "txt"columns: Comma-separated list (e.g., "id,genes,organism,length")retrieve(uniprot_id, frmt="txt")
frmt: "txt", "fasta", "xml", "rdf", "gff"mapping(fr="UniProtKB_AC-ID", to="KEGG", query="P43403")
fr/to: Database identifiers (see identifier_mapping.md)query: Single ID or comma-separated listsearchUniProtId(pattern, columns="entry name,length,organism", limit=100)
Common columns: id, entry name, genes, organism, protein names, length, sequence, go-id, ec, pathway, interactor
Use cases:
Metabolic pathways, genes, and organisms database.
Initialization:
from bioservices import KEGG
k = KEGG()
k.organism = "hsa" # Set default organism
Key Methods:
list(database)
database: "organism", "pathway", "module", "disease", "drug", "compound"find(database, query)
get(entry_id)
parse(data)
lookfor_organism(name)
lookfor_pathway(name)
get_pathway_by_gene(gene_id, organism)
parse_kgml_pathway(pathway_id)
pathway2sif(pathway_id)
Organism codes:
Use cases:
Official human gene naming authority.
Initialization:
from bioservices import HGNC
h = HGNC()
Key Methods:
search(query): Search gene symbols/namesfetch(format, query): Retrieve gene informationUse cases:
Gene annotation and query service.
Initialization:
from bioservices import MyGeneInfo
m = MyGeneInfo()
Key Methods:
querymany(ids, scopes, fields, species): Batch gene queriesgetgene(geneid): Get gene annotationUse cases:
Dictionary of molecular entities.
Initialization:
from bioservices import ChEBI
c = ChEBI()
Key Methods:
getCompleteEntity(chebi_id): Full compound informationgetLiteEntity(chebi_id): Basic informationgetCompleteEntityByList(chebi_ids): Batch retrievalUse cases:
Bioactive drug-like compound database.
Initialization:
from bioservices import ChEMBL
c = ChEMBL()
Key Methods:
get_molecule_form(chembl_id): Compound detailsget_target(chembl_id): Target informationget_similarity(chembl_id): Get similar compounds for givenget_assays(): Bioassay dataUse cases:
Chemical identifier mapping service.
Initialization:
from bioservices import UniChem
u = UniChem()
Key Methods:
get_compound_id_from_kegg(kegg_id): KEGG → ChEMBLget_all_compound_ids(src_compound_id, src_id): Get all IDsget_src_compound_ids(src_compound_id, from_src_id, to_src_id): Convert IDsSource IDs:
Use cases:
Chemical compound database from NIH.
Initialization:
from bioservices import PubChem
p = PubChem()
Key Methods:
get_compounds(identifier, namespace): Retrieve compoundsget_properties(properties, identifier, namespace): Get propertiesUse cases:
Sequence similarity searching.
Initialization:
from bioservices import NCBIblast
s = NCBIblast(verbose=False)
Key Methods:
run(program, sequence, stype, database, email, **params)
program: "blastp", "blastn", "blastx", "tblastn", "tblastx"stype: "protein" or "dna"database: "uniprotkb", "pdb", "refseq_protein", etc.email: Required by NCBIgetStatus(jobid)
getResult(jobid, result_type)
result_type: "out" (default), "ids", "xml"Important: BLAST jobs are asynchronous. Always check status before retrieving results.
Use cases:
Pathway database.
Initialization:
from bioservices import Reactome
r = Reactome()
Key Methods:
get_pathway_by_id(pathway_id): Pathway detailssearch_pathway(query): Search pathwaysUse cases:
Protein interaction query service (federates 30+ databases).
Initialization:
from bioservices import PSICQUIC
s = PSICQUIC()
Key Methods:
query(database, query_string)
activeDBs
Available databases: MINT, IntAct, BioGRID, DIP, InnateDB, MatrixDB, MPIDB, UniProt, and 30+ more
Query syntax: Supports AND, OR, species filters
Use cases:
Protein complex database.
Initialization:
from bioservices import IntactComplex
i = IntactComplex()
Key Methods:
search(query): Search complexesdetails(complex_ac): Complex detailsUse cases:
Integrated signaling pathway database.
Initialization:
from bioservices import OmniPath
o = OmniPath()
Key Methods:
interactions(datasets, organisms): Get interactionsptms(datasets, organisms): Post-translational modificationsUse cases:
Gene Ontology annotation service.
Initialization:
from bioservices import QuickGO
g = QuickGO()
Key Methods:
Term(go_id, frmt="obo")
Annotation(protein=None, goid=None, format="tsv")
GO categories:
Use cases:
Data mining tool for genomic data.
Initialization:
from bioservices import BioMart
b = BioMart()
Key Methods:
datasets(dataset): List available datasetsattributes(dataset): List attributesquery(query_xml): Execute BioMart queryUse cases:
Gene expression database.
Initialization:
from bioservices import ArrayExpress
a = ArrayExpress()
Key Methods:
queryExperiments(keywords): Search experimentsretrieveExperiment(accession): Get experiment dataUse cases:
Nucleotide sequence database.
Initialization:
from bioservices import ENA
e = ENA()
Key Methods:
search_data(query): Search sequencesretrieve_data(accession): Retrieve sequencesUse cases:
3D protein structure database.
Initialization:
from bioservices import PDB
p = PDB()
Key Methods:
get_file(pdb_id, file_format): Download structure filessearch(query): Search structuresFile formats: pdb, cif, xml
Use cases:
Protein family database.
Initialization:
from bioservices import Pfam
p = Pfam()
Key Methods:
searchSequence(sequence): Find domains in sequencegetPfamEntry(pfam_id): Domain informationUse cases:
Systems biology model repository.
Initialization:
from bioservices import BioModels
b = BioModels()
Key Methods:
get_model_by_id(model_id): Retrieve SBML modelUse cases:
Orthologous gene classification.
Initialization:
from bioservices import COG
c = COG()
Use cases:
Metabolic network models.
Initialization:
from bioservices import BiGG
b = BiGG()
Key Methods:
list_models(): Available modelsget_model(model_id): Model detailsUse cases:
All services may throw exceptions. Wrap calls in try-except:
try:
result = service.method(params)
if result:
# Process result
pass
except Exception as e:
print(f"Error: {e}")
Most services support verbose parameter:
service = Service(verbose=False) # Suppress HTTP logs
Services have timeouts and rate limits:
service.TIMEOUT = 30 # Adjust timeout
service.DELAY = 1 # Delay between requests (if supported)
Common format parameters:
frmt: "xml", "json", "tab", "txt", "fasta"format: Service-specific variantsSome services cache results:
service.CACHE = True # Enable caching
service.clear_cache() # Clear cache
For detailed API documentation: