OpenBio API 用于访问生物数据及计算生物学工具。适用场景:①查询生物数据库(PDB、UniProt、ChEMBL 等),②搜索蛋白质或基因等生物信息。
bash
bunx skills add https://github.com/openbio-ai/skills --skill openbio
Required: OPENBIO_API_KEY environment variable.
Tell the user to create their API key at: http://openbio.tech/profile#apikeys and securely store it in their environment variables.
If the user has not signed in to OpenBio, tell them to sign in to OpenBio ( https://openbio.tech/auth) and create their account first and then create their API key.
bash
export OPENBIO_API_KEY=your_key_here
Base URL: https://api.openbio.tech/api/v1
Before using the API, verify your skill is up to date:
bash
curl -s "https://api.openbio.tech/api/v1/tools/skill-version"
This returns {"skill": "openbio", "version": "X.Y.Z", ...}. Compare against the version field at the top of this file (currently 1.0.4). If the API returns a newer version:
bash
bunx skills update
If that fails, remove and re-install:
bash
bunx skills remove openbio --global -y
bunx skills add openbio-ai/skills --skill openbio --global --agent '*' -y
bash
# Health check (no auth required)
curl -X GET "https://api.openbio.tech/api/v1/tools/health"
# List available tools
curl -X GET "https://api.openbio.tech/api/v1/tools" \
-H "X-API-Key: $OPENBIO_API_KEY"
# Get tool schema (always do this first!)
curl -X GET "https://api.openbio.tech/api/v1/tools/{tool_name}" \
-H "X-API-Key: $OPENBIO_API_KEY"
# Validate parameters before invoking (optional)
curl -X POST "https://api.openbio.tech/api/v1/tools/validate" \
-H "X-API-Key: $OPENBIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"tool_name": "search_pubmed", "params": {"query": "CRISPR", "max_results": 5}}'
# Invoke tool
curl -X POST "https://api.openbio.tech/api/v1/tools" \
-H "X-API-Key: $OPENBIO_API_KEY" \
-F "tool_name=search_pubmed" \
-F 'params={"query": "CRISPR", "max_results": 5}'
text
What do you need?
│
├─ Protein/structure data?
│ └─ Read rules/protein-structure.md
│ → PDB, AlphaFold, UniProt tools
│
├─ Literature search?
│ └─ Read rules/literature.md
│ → PubMed, arXiv, bioRxiv, OpenAlex
│
├─ Genomics/variants?
│ └─ Read rules/genomics.md
│ → Ensembl, GWAS, VEP, GEO
│
├─ Sequence similarity search (BLAST)?
│ └─ Read rules/blast.md
│ → submit_blast, check_blast_status, get_blast_results
│
├─ Small molecule analysis?
│ └─ Read rules/cheminformatics.md
│ → RDKit, PubChem, ChEMBL
│
├─ Cloning/PCR/assembly?
│ └─ Read rules/molecular-biology.md
│ → Primers, restriction, Gibson, Golden Gate
│
├─ Plasmid analysis/editing?
│ └─ Read rules/plasmid.md
│ → parse_plasmid_file, edit_plasmid
│
├─ Structure prediction/design?
│ └─ Read rules/structure-prediction.md
│ → Boltz, Chai, ProteinMPNN, LigandMPNN
│
├─ Pathway analysis?
│ └─ Read rules/pathway-analysis.md
│ → KEGG, Reactome, STRING, g:Profiler (GO enrichment)
│
└─ Clinical/drug data?
└─ Read rules/clinical-data.md
→ ClinicalTrials, ClinVar, FDA, Open Targets
bash
# Before invoking ANY tool:
curl -X GET "https://api.openbio.tech/api/v1/tools/{tool_name}" \
-H "X-API-Key: $OPENBIO_API_KEY"
Parameter names vary (e.g., pdb_ids not pdb_id). Check schema to avoid errors.
Prediction tools return a job_id. Poll for completion:
bash
# Check status
curl -X GET "https://api.openbio.tech/api/v1/jobs/{job_id}/status" \
-H "X-API-Key: $OPENBIO_API_KEY"
# Get results with download URLs
curl -X GET "https://api.openbio.tech/api/v1/jobs/{job_id}" \
-H "X-API-Key: $OPENBIO_API_KEY"
Don't just retrieve data—interpret it:
AlphaFold pLDDT: > 70 = confident, < 50 = disordered Experimental resolution: < 2.5 Å for binding sites GWAS p-value: < 5×10⁻⁸ = genome-wide significant Tanimoto similarity: > 0.7 = similar compounds
See individual rule files for detailed thresholds.
Read these for domain-specific knowledge:
FileDescriptionrules/api.mdCore endpoints, authentication, job management
FileTools Coveredrules/protein-structure.mdPDB, PDBe, AlphaFold, UniProtrules/literature.mdPubMed, arXiv, bioRxiv, OpenAlexrules/genomics.mdEnsembl, ENA, Gene, GWAS, GEOrules/blast.mdNCBI BLAST sequence similarity searchrules/cheminformatics.mdRDKit, PubChem, ChEMBLrules/molecular-biology.mdPrimers, PCR, restriction, assemblyrules/plasmid.mdparse_plasmid_file, edit_plasmidrules/pathway-analysis.mdKEGG, Reactome, STRING, g:Profilerrules/clinical-data.mdClinicalTrials, ClinVar, FDA
FileToolUse Caserules/structure-prediction.mdIndexDecision tree for all prediction toolsrules/boltz.mdBoltz-2Structure + binding affinityrules/chai.mdChai-1Multi-modal (protein+ligand+RNA+glycan)rules/simplefold.mdSimpleFoldQuick single-protein foldingrules/proteinmpnn.mdProteinMPNNFixed-backbone sequence designrules/ligandmpnn.mdLigandMPNNLigand-aware sequence designrules/thermompnn.mdThermoMPNNStability (ΔΔG) predictionrules/geodock.mdGeoDockProtein-protein dockingrules/pinal.mdPinalDe novo design from textrules/boltzgen.mdBoltzGenEnd-to-end binder design
CategoryCountExamplesProtein structure23fetch_pdb_metadata, get_alphafold_predictionLiterature14search_pubmed, arxiv_search, biorxiv_search_keywordsGenomics27lookup_gene, vep_predict, gwas_search_associations_by_traitSequence similarity3submit_blast, check_blast_status, get_blast_resultsCheminformatics20+calculate_molecular_properties, chembl_similarity_searchMolecular biology15design_primers, restriction_digest, assemble_gibsonPlasmid2parse_plasmid_file, edit_plasmidStructure prediction15+submit_boltz_prediction, submit_proteinmpnn_predictionPathway analysis26analyze_gene_list, get_string_network, go_enrichment, convert_gene_idsClinical data22search_clinical_trials, clinvar_search
If the API returns a newer version than the one in this file (see Version Check above), update your skill. See the Version Check section at the top for commands.
POST /api/v1/tools/validate to pre-check params.Tip: When in doubt, search for tools: GET /api/v1/tools/search?q=your_query