Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
delphine-l avatar

Bioservices

  • 27 installs
  • 17 repo stars
  • Updated May 14, 2026
  • delphine-l/claude_global

Query 40+ bioinformatics web services (UniProt, KEGG, ChEMBL, Reactome) from Python for cross-database analysis, ID mapping, and pathway workflows.

About

Provides a Python interface to roughly 40 bioinformatics web services, handling REST and SOAP transparently for cross-database analysis. A developer uses it for multi-service workflows like UniProt/KEGG/ChEMBL queries, cross-database ID mapping, pathway analysis, and protein-protein interaction lookups.

  • Best for multi-database workflows and ID mapping across UniProt, KEGG, Ensembl, and PDB
  • Ships reference docs and scripts for protein characterization, pathway extraction, and batch ID conversion

Bioservices by the numbers

  • 27 all-time installs (skills.sh)
  • Ranked #1,135 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Data as of Jul 29, 2026 (Skillselion catalog sync)
npx skills add https://github.com/delphine-l/claude_global --skill bioservices

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs27
repo stars17
Last updatedMay 14, 2026
Repositorydelphine-l/claude_global

What it does

Query 40+ bioinformatics web services (UniProt, KEGG, ChEMBL, Reactome) from Python for cross-database analysis, ID mapping, and pathway workflows.

Files

SKILL.mdMarkdownGitHub ↗

BioServices

Python package providing programmatic access to ~40 bioinformatics web services. Handles REST and SOAP protocols transparently.

Installation

uv pip install bioservices

When to Use

  • Querying multiple databases in a single workflow (UniProt + KEGG + ChEMBL)
  • ID mapping across databases (UniProt ↔ KEGG ↔ Ensembl ↔ PDB)
  • Pathway analysis (KEGG, Reactome)
  • Protein-protein interaction queries (PSICQUIC: MINT, IntAct, BioGRID, 30+ others)
  • Gene ontology lookups (QuickGO)

For quick single-database lookups, prefer gget.

Supporting Files

  • [services_reference.md](references/services_reference.md) - All 40+ services with methods
  • [workflow_patterns.md](references/workflow_patterns.md) - Multi-step analysis workflows
  • [identifier_mapping.md](references/identifier_mapping.md) - Cross-database ID conversion guide

Scripts

  • `scripts/protein_analysis_workflow.py` - End-to-end protein characterization
  • `scripts/pathway_analysis.py` - KEGG pathway network extraction
  • `scripts/compound_cross_reference.py` - Multi-database compound search
  • `scripts/batch_id_converter.py` - Bulk identifier mapping

Core Capabilities

1. Protein Analysis (UniProt)

from bioservices import UniProt

u = UniProt(verbose=False)

# Search by name
results = u.search("ZAP70_HUMAN", frmt="tab", columns="id,genes,organism")

# Retrieve FASTA
sequence = u.retrieve("P43403", "fasta")

# Map identifiers
kegg_ids = u.mapping(fr="UniProtKB_AC-ID", to="KEGG", query="P43403")

Supported mappings: UniProtKB ↔ KEGG, Ensembl, PDB, RefSeq, and many more.

2. Pathway Analysis (KEGG)

from bioservices import KEGG

k = KEGG()
k.organism = "hsa"

# Find pathways containing a gene
pathways = k.get_pathway_by_gene("7535", "hsa")  # ZAP70

# Parse pathway data
data = k.get("hsa04660")
parsed = k.parse(data)

# Extract interactions
interactions = k.parse_kgml_pathway("hsa04660")
sif_data = k.pathway2sif("hsa04660")  # Simple Interaction Format

3. Compound Cross-Referencing

from bioservices import KEGG, UniChem

k = KEGG()
results = k.find("compound", "Geldanamycin")  # → cpd:C11222

# KEGG → ChEMBL via UniChem
u = UniChem()
chembl_id = u.get_compound_id_from_kegg("C11222")

4. Sequence Analysis (BLAST)

from bioservices import NCBIblast

s = NCBIblast(verbose=False)
jobid = s.run(program="blastp", sequence=protein_sequence,
              stype="protein", database="uniprotkb",
              email="your.email@example.com")
s.getStatus(jobid)  # Async - check status first
results = s.getResult(jobid, "out")

5. Gene Ontology (QuickGO)

from bioservices import QuickGO

g = QuickGO(verbose=False)
term_info = g.Term("GO:0003824", frmt="obo")
annotations = g.Annotation(protein="P43403", format="tsv")

6. Protein-Protein Interactions (PSICQUIC)

from bioservices import PSICQUIC

s = PSICQUIC(verbose=False)
interactions = s.query("mint", "ZAP70 AND species:9606")
databases = s.activeDBs  # 30+ databases

Best Practices

  • Set verbose=False to suppress HTTP request details
  • Adjust timeout for slow connections: k.TIMEOUT = 30
  • Wrap service calls in try-except (APIs can be flaky)
  • Organism codes: hsa (human), mmu (mouse), dme (fly), sce (yeast). List all: k.list("organism")
  • Works well with BioPython (sequences), Pandas (tabular data), NetworkX (pathway networks)

Attribution

Adapted from K-Dense-AI/claude-scientific-skills (GPLv3). Docs: https://bioservices.readthedocs.io/ | Source: https://github.com/cokelaer/bioservices

Related skills

Data Science & MLpipelinesetl

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.