4.4 KiB
title, task, lineage_type, upstream_source, upstream_sha, imported_at, prompt_class, upstream_changes, author, validated
| title | task | lineage_type | upstream_source | upstream_sha | imported_at | prompt_class | upstream_changes | author | validated |
|---|---|---|---|---|---|---|---|---|---|
| Tamarind Bio tool catalog | import | https://github.com/K-Dense-AI/scientific-agent-skills/blob/0807ddbc/skills/tamarind/references/tool_catalog.md | 0807ddbc | 2026-06-30 | prompt | accepted | upstream | false |
Tamarind Bio tool catalog
Tamarind exposes hundreds of tools through one uniform job API. The catalog changes frequently — always enumerate at runtime with GET /tools (or MCP getAvailableTools) rather than hardcoding names. This file is a map for interpreting what you get back.
How to discover
REST GET /tools returns the full list (it does not filter server-side). Filter client-side:
tools = requests.get(f"{BASE}/tools", headers=HEADERS).json() # a list
docking = [t for t in tools if "vina" in t["name"].lower()]
Each REST tool entry carries: name (the type you submit), displayName, description, github, paper, and settings (the inline parameter schema). REST entries do not include categories/tags.
MCP getAvailableTools(search=..., modality=..., function=...) filters server-side and returns entries with categories and tags (category/tag are deprecated aliases of modality/function, still honored).
Modalities and functions (the two filter axes)
Don't hardcode the filter vocabulary — it drifts as tools are added. Fetch it live: listModalities() returns the molecule-type axis (protein, antibody, enzyme, peptide, nucleic-acid, small-molecule, small-molecule-binding-protein, cryoem, …); listTags() returns the function axis (structure-prediction, protein-design, binder-design, protein-ligand-docking, binding-affinity, inverse-folding, developability, molecular-dynamics, finetuning, …). Each entry carries value, label, description, and a live toolCount. Every getAvailableTools response also includes availableCategories / availableTags arrays computed from the current catalog. Filter with getAvailableTools(modality=..., function=...).
Representative tool families
Verify exact names and availability with /tools — these are common anchors, not an exhaustive or guaranteed list.
Structure prediction / folding
alphafold— AlphaFold; monomer + multimer, MSA + templates, recycles, relaxation.boltz— Boltz-2; structure + affinity, biomolecular complexes incl. ligands.chai— Chai-1; complex structure prediction with optional MSA.esmfold/esmfold2— fast single-sequence folding.
Protein / binder design
rfdiffusion— protein/binder design and motif scaffolding.boltzgen— generative design.bindcraft— binder design.proteinmpnn/ligandmpnn— inverse folding (sequence given backbone; ligand-aware variant).
Docking / affinity
boltz/chai— co-fold the ligand into the complex (predict the bound structure); the default for protein-small-molecule docking.autodock-vina— classical docking into a known pocket; the pick for fast, large-scale screening.- Boltz/affinity tools — binding-affinity prediction.
Antibody
- Antibody language models and generators, humanization, developability, immunogenicity scoring.
MSA / utilities
- MSA generation tools feed downstream folding; utilities cover format conversion, scoring, and analysis.
Reading a tool schema
getJobSchema(jobType) (MCP) or the /tools entry returns a parameters list. Each parameter has:
name,type(sequence,number,boolean,dropdown, file types likepdb/cif/sdf, …)descr,displayNamerequired,defaultoptions/optionsDescr(for dropdowns),lowerBound/upperBound/lengthLimitconditionals— applies only when another field has a given valueexclude(["api"]/["batch"]) — omit on that surfacelist: true— accepts multiple values/filesexample— a sample value
(Org-gated parameters are filtered server-side: getJobSchema drops a param your account isn't authorized for and never returns the old restrictOrgs key.)
Top-level tool metadata also includes a hint, and getJobSchema returns an exampleJob built from each parameter's example/default — start from that (then validateJob it) rather than hand-building settings.
Always read the schema before constructing settings, and run validateJob to confirm before submitJob.