bioservices
Provides a Python interface to bioinformatics services including UniProt, KEGG, ChEMBL, Reactome, QuickGO, and UniChem.
Skill by K-Dense-AI
Chalk Labs
Need help deploying bioservices?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/k-dense-ai-bioservices
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/bioservices
Tools it pre-approves 4
From allowed-tools in SKILL.md: the agent may use these without asking you each time.
ReadWriteEditBash
What's inside
- Skill name
bioservices- Description
- Provides a Python interface to bioinformatics services including UniProt, KEGG, ChEMBL, Reactome, QuickGO, and UniChem. Used for cross-database protein annotation, pathway retrieval, chemical identifier mapping, and integrated biological data workflows with BioServices.
- License
- MIT
- Compatibility
- Requires Python >=3.9,<4 with bioservices==1.16.0 and internet access. EMBL-EBI BLAST submission requires a real contact email; the bundled script reads NCBI_EMAIL or an explicit parameter.
- Allowed tools
- Read, Write, Edit, Bash
- Metadata
- version: 1.7 · skill-author: K-Dense Inc. · last-reviewed: 2026-09-30
- Instructions
- 232 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Pre-approves any shell command
Files (8)
- SKILL.md
- identifier_mapping.md · references/
- services_reference.md · references/
- workflow_patterns.md · references/
- batch_id_converter.py · scripts/
- compound_cross_reference.py · scripts/
- pathway_analysis.py · scripts/
- protein_analysis_workflow.py · scripts/
SKILL.md (first lines)
# BioServices
## When to use
Use BioServices when combining protein annotation, gene/pathway membership,
compound cross-references, or genomic resources in Python. Its service clients
share transport helpers, but their request parameters and return types differ.
Use [the service reference](references/services_reference.md) before composing
clients; method names from PubChemPy, mygene, or older BioServices are not portable.
Targets **bioservices 1.16.0**, the current PyPI release at review. Package metadata
allows Python >=3.9,<4; the bundled tests were run in an isolated Python 3.13
environment. The previous 3.12 upper bound was not a package requirement.
```bash
uv pip install "bioservices==1.16.0"
```
## Workflow
1. Resolve the requested organism and entity to stable accessions. Review search
hits before selecting one; gene symbols and compound names may be ambiguous.
2. Inspect the service's actual response type, including pagination and errors.
BioServices can return an integer-like HTTP error or `None`, not only raise.
3. Preserve one-to-many mappings, failed identifiers, taxonomy, database release,
query parameters, and retrieval date alongside derived tables.
4. Distinguish annotations and inferred associations from experimental evidence.
Pathway membership alone is not an enrichment analysis or causal finding.
5. Run a small lookup before batching; honor provider limits and retain failures
separately from confirmed empty results.
## Protein search, sequence retrieval, and mapping
```python
from bioservices import UniProt
u = UniProt(verbose=False)
u.services.TIMEOUT = 30
rows = u.search(
"gene_exact:ZAP70 AND organism_id:9606 AND reviewed:true",
frmt="tsv", columns="accession,gene_names,organism_name,length",
limit=5, size=5,
)
if not isinstance(rows, str):
raise RuntimeError("UniProt search failed")
print(rows)
fasta = u.retrieve("P43403", frmt="fasta")
record = u.retrieve("P43403", frmt="json")
mapping = u.mapping(fr="UniProtKB_AC-ID", to="KEGG", query="P43403")
if not isinstance(mapping, dict) or "results" not in mapping:
raise RuntimeError("Mapping incomplete or failed")
kegg_ids = [row["to"] for row in mapping["results"] if row["from"] == "P43403"]
print(kegg_ids, mapping.get("failedIds", []))
```
Use `frmt="tsv"`, not `"tab"`; current field names include `accession`,
`gene_names`, `organism_name`, `protein_name`, `go_id`, and `xref_pdb`.
`mapping()` returns a `results`/`failedIds` envelope, **not** a source-to-list
dictionary. Mapping **to** UniProt uses `to="UniProtKB"` and returns full records
in `row["to"]`; extract `primaryAccession`. `UniProtKB_AC-ID` is a source code.
See [identifier mapping](references/identifier_mapping.md) for allowed pairs,
normalization, and limits. For bounded searches set `size=limit` (at most 500);
1.16.0 mixes the two values in its pagination loop.
## KEGG pathways and networks
```python
from bioservices import KEGG
k = KEGG(verbose=False)
k.services.url = "https://rest.kegg.jp"
pathway_names = k.get_pathway_by_gene("7535", "hsa") # dict: pathway ID -> name
print(pathway_names)
kgml = k.parse_kgml_pathway("hsa04660")
entries = {entry["id"]: entry for entry in kgml["entries"]}
for relation in kgml["relations"][:5]:
print(entries[relation["entry1"]]["name"], relation["name"],
entries[relation["entry2"]]["name"])
```
The reviewed `/list/organism` endpoint returned HTTP 400 despite remaining in
the manual. SDK methods that validate against that catalogue can fail. The
bundled compound and pathway-list scripts use the documented scoped endpoints
through `k.services.http_get` to avoid that unrelated catalogue dependency.
KEGG `get` permits at most ten entries; KGML permits one pathway per request.
Keep requests at or below three per second. `list`/`find` return TSV strings;
`get` returns a flat-file string unless an option changes the representation.
KGML entries include genes, compounds, groups, and maps. A relation can produce
several subtype records; those counts are neither unique genes nor independent
physical interactions. Entry IDs are local to each pathway. The bundled SIF
export namespaces them as `pathway#entry` so combining pathways cannot merge
unrelated nodes. `pathway2sif(..., uniprot=False)` is an optional lossy projection
of gene-to-gene activation/inhibition, not a complete pathway network.
## Compound cross-references
```python
from bioservices import UniChem
uc = UniChem(verbose=False)
response = uc.get_compounds("CHEBI:15365", "chebi") # aspirin
if not isinstance(response, dict) or "compounds" not in response:
raise RuntimeError("UniChem request failed")
chembl_ids = sorted({source["compoundId"]
for match in response["compounds"] for source in match.get("sources", [])
if source.get("shortName") == "chembl"})
print(chembl_ids)
```
UniChem 2 uses `POST /api/v1/compounds` with a JSON body; BioServices assembles it.
Discover source names through `uc.source_ids`; KEGG is absent at review. From a
KEGG compound, preserve every ChEBI cross-reference and use only a uniquely
resolved, structurally reviewed candidate. Check charge, stereochemistry, salts,
and parent forms before merging data. Multiple unresolved name hits or mappings remain
unresolved in the bundled compound script. Empty results do not prove absence.
## QuickGO annotationsFrom K-Dense-AI/scientific-agent-skills, MIT.
More from K-Dense-AI/scientific-agent-skills
- 0.699score
13c-metabolic-flux
K-Dense-AI
Estimates intracellular metabolic fluxes from steady-state carbon-13 isotope-tracing measurements using validated atom maps, mfapy isotope simulation…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
adaptyv
K-Dense-AI
Uses the Adaptyv Bio Foundry API and Python SDK to design protein characterization experiments, estimate costs, submit sequences, monitor laboratory progress…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
exploratory-data-analysis
K-Dense-AI
Performs bounded, local exploratory analysis of explicitly supported scientific files.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
openpiv
K-Dense-AI
Performs Particle Image Velocimetry (PIV) analysis with OpenPIV.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
citation-management
K-Dense-AI
Comprehensive citation management for academic research.
SkillAFreshness: A★ 54.4KClaude Code - 0.699score
parallel-web
K-Dense-AI
Uses Parallel CLI for web search, URL extraction, deep research, structured data enrichment, entity discovery, and recurring web monitoring.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
scientific-schematics
K-Dense-AI
Generates scientific diagram drafts using Nano Banana 2 AI with smart iterative refinement.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
glycoengineering
K-Dense-AI
Analyzes and engineers protein glycosylation by scanning canonical N-glycosylation sequons, describing S/T-rich regions, checking curated glycan evidence, and…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
venue-templates
K-Dense-AI
Prepares journal manuscripts, conference papers, research posters, and grant documents using venue-specific formatting guidance and bundled LaTeX scaffolds.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
uncertainty-and-units
K-Dense-AI
Tracks physical units and propagates measurement uncertainty in scientific calculations using pint and uncertainties.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
ginkgo-cloud-lab
K-Dense-AI
Guides protocol selection, input preparation, pricing checks, and browser ordering on Ginkgo Bioworks Cloud Lab (cloud.ginkgo.bio).
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
alphagenome
K-Dense-AI
Looks up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and…
SkillAFreshness: A★ 54.4KClaude Code +9
Signals
- Stars
- 54,411
- Forks
- 4,797
- Open issues
- 8
- Last commit (this folder)
- Oct 1, 2026 (29 days ago)
- Last release
- Oct 1, 2026 (28 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Version
- 1.7
- License
- MIT
- Website
- arxiv.org/abs/2609.00065
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from K-Dense-AI
- 0.699score
exploratory-data-analysis
K-Dense-AI
Performs bounded, local exploratory analysis of explicitly supported scientific files.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
citation-management
K-Dense-AI
Comprehensive citation management for academic research.
SkillAFreshness: A★ 54.4KClaude Code - 0.699score
glycoengineering
K-Dense-AI
Analyzes and engineers protein glycosylation by scanning canonical N-glycosylation sequons, describing S/T-rich regions, checking curated glycan evidence, and…
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
openpiv
K-Dense-AI
Performs Particle Image Velocimetry (PIV) analysis with OpenPIV.
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
ginkgo-cloud-lab
K-Dense-AI
Guides protocol selection, input preparation, pricing checks, and browser ordering on Ginkgo Bioworks Cloud Lab (cloud.ginkgo.bio).
SkillAFreshness: A★ 54.4KClaude Code +9 - 0.699score
parallel-web
K-Dense-AI
Uses Parallel CLI for web search, URL extraction, deep research, structured data enrichment, entity discovery, and recurring web monitoring.
SkillAFreshness: A★ 54.4KClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get bioservices running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
bioservices skill. Agent Mart. https://agentmart.dev/skills/k-dense-ai-bioservices (last updated 2026-10-24)