Communitygithub.com

tamarind

Tamarind Bio クラウドプラットフォーム上のオープンソース分子設計・構造生物学ツール群に、REST API または MCP サーバー経由でアクセスできます。ローカル GPU は不要です。

tamarind とは?

このスキルは、Tamarind Bio プラットフォームを AI エージェントから利用するためのものです。Tamarind は、構造予測(AlphaFold、Boltz、Chai、ESMFold)、タンパク質・バインダー・デノボ設計(RFdiffusion、ProteinMPNN、BoltzGen)、抗体・ナノボディ設計、タンパク質-リガンドドッキング(DiffDock、Autodock Vina)、結合親和性予測、MSA 生成、分子動力学など、多数のオープンソースツールをマネージド GPU 上で提供します。ユーザーが Tamarind や tamarind.bio に言及した場合、あるいはこれらのツールをクラウド上で実行したい場合に使用します。REST API と MCP サーバーの2つのインターフェースを提供し、MCP サーバーは AI エージェントに最適化されたスキーマとツールを備えています。ツールの一覧やパラメータは頻繁に変更されるため、ハードコードせずに実行時に `GET /tools` や MCP の `getAvailableTools` を使って動的に取得する必要があります。

対応~Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/tamarind

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Tamarind Bio

Tamarind Bio は、構造予測、タンパク質・抗体設計、ドッキング、結合親和性、MSA 生成、分子動力学といった計算生物学ツールをマネージド GPU 上で実行するクラウドプラットフォームです。ユーザーは配列や構造を送信するだけで、予測された構造、設計、生物物理学的スコアを得ることができ、自身でハードウェアを用意する必要はありません。AlphaFold、Boltz-2、Chai-1、RFdiffusion、ProteinMPNN、BoltzGen、ESMFold2、DiffDock、Autodock Vina など、数百ものツールを1つの統一されたジョブ API で公開しています。

公式ドキュメント: app.tamarind.bio/api-docs · プラットフォーム UI は app.tamarind.bio

正規ソース — これらを取得し、古いコピーに依存しないでください

Tamarind は機械可読なライブソースを公開しています。ハードコードされたリストを信頼するよりも、実行時にこれらを取得することを推奨します。ツール名、スキーマ、エンドポイントは頻繁に変更されます。

  • https://app.tamarind.bio/llms.txt — LLM インデックス: 仕様、API ドキュメント、MCP ガイドへのリンク。
  • https://app.tamarind.bio/openapi.yaml — 8つのコアジョブエンドポイント(submit-job/-batch, jobs, result, upload, files, delete-job/-file; 認証は ApiKeyAuth)の OpenAPI 3.0 仕様。正確な形状についてはこれを取得してください。ディスカバリー/管理エンドポイント(/tools、/usage-statistics、パイプライン…)はこれに含まれていません — それらには MCP/REST のディスカバリーツールを使用してください。
  • https://docs.tamarind.bio/llms.txt — ドキュメントインデックス; すべてのページに .md 形式があります(例: docs.tamarind.bio/tamarind/batch.md、/tamarind/api.md、/tamarind/pipelines.md)。
  • ライブツールディスカバリー — GET /tools(REST)または MCP の getAvailableTools + getJobSchema(jobType) が、存在するツールとそのパラメータの信頼できる情報源です。

このスキルでは、これらのソースには明記されていない表面と非自明な動作を教えます(リファレンスファイルを参照)。形状に疑問がある場合は、openapi.yaml を取得してください。

このスキルを使用するタイミング

ユーザーが以下を希望する場合に Tamarind を使用します:

  • タンパク質、複合体、またはタンパク質-リガンド系の構造予測(AlphaFold、Boltz-2、Chai-1、ESMFold2、Chai/Boltz コフォールディング)
  • タンパク質またはバインダーの設計(RFdiffusion、BoltzGen、BindCraft、ProteinMPNN/LigandMPNN インバースフォールディング)
  • 抗体/ナノボディの設計または特性評価(配列生成、ヒト化、デベロッパビリティ、免疫原性)
  • 低分子のドッキング(DiffDock、Autodock Vina)または結合親和性の予測
  • ダウンストリームフォールディングのための MSA 生成
  • マネージド GPU 上での分子動力学またはその他の生物物理学ワークフローの実行
  • 多くの配列や設計のバッチスクリーニングを同じツールで実行
  • パイプラインへのツール連鎖(例: 設計 → フォールド → スコアリング)1つのジョブの出力を次のジョブの入力として使用

このスキルは、ローカルインストールではなく Tamarind のマネージドクラウドで実行する場合に適しています。純粋にローカルな cheminformatics や1回限りの配列 I/O には、代わりにローカルライブラリ(RDKit、BioPython)を使用してください。

アクセスと認証

  1. app.tamarind.bio にサインインし、アカウント/API 設定から API キーを作成します。
  2. すべての REST リクエストを x-api-key ヘッダーで認証します。
  3. キーをハードコードしないでください。 TAMARIND_API_KEY 環境変数または .env ファイルから読み取ります(python-dotenv を使用)。キーをソースコントロールにコミットしないでください。

料金: すべてのユーザーに 10回の無料ジョブが与えられます。大規模な使用については、[email protected] までお問い合わせの上、サブスクリプションを購入してください。

export TAMARIND_API_KEY="your_api_key"
# 利用可能なツールを一覧表示
curl https://app.tamarind.bio/api/tools \
  -H "x-api-key: $TAMARIND_API_KEY"

ベース URL: https://app.tamarind.bio/api/

公式の Python SDK はありません — PyPI パッケージ名 tamarind は無関係な Neo4j ツールです。uv pip install tamarind を実行しないでください。REST API に対してプレーンな requests 呼び出しを記述するか(エンドポイントの形状は openapi.yaml にあります)、エージェントホストには MCP サーバーを使用してください。

Tamarind を呼び出す2つの方法

MCP サーバー(AI エージェントに最適)

Tamarind は https://mcp.tamarind.bio/mcp で MCP サーバーをホストしています(API キー認証は X-API-Key ヘッダー経由)。エージェントホストが MCP をサポートしている場合は、そちらを推奨します — ツールは REST API をエージェントフレンドリーなスキーマでミラーリングしています:

  • listModalities() / listTags() — ライブフィルター語彙(分子タイプ/機能)にラベルとツールカウントを付けて返します。ハードコードする代わりに、これらを呼び出して有効な modality / function の値を学習してください。
  • getAvailableTools(modality?, function?, search?, custom?) — ツールを発見します(category / tag は非推奨のエイリアスですが、まだ有効です)。
  • getJobSchema(jobType) — ツールの正確なパラメータスキーマと、exampleJob 開始ペイロードを返します(送信前に検証してください)。
  • validateJob(jobName, type, settings) — 送信前のドライランバリデーション。
  • submitJob(jobName, type, settings) / submitBatch(batchName, type, settings[], jobNames[])
  • getJobs(jobName?, batch?, limit?, includeSequences?) — ジョブとステータスの一覧表示/検査(デフォルトで大きなジョブごとの入力ブロブは省略されます。保持するには includeSequences=true を渡します)。
  • getJobLogs(jobName) — デバッグ用の出力ログを取得します。
  • listJobFiles(jobName) — 出力ファイルを一覧表示します(連鎖用に s3Path を返します)。
  • getResult(jobName, fileName?) — 結果をダウンロードします。
  • uploadFile(filename) — 署名付きアップロード URL; または uploadFileContent(filename, content, encoding?) MCP 経由でファイルコンテンツを送信します(サンドボックス化されたエージェントが S3 に到達できない場合)。

スコープに関する注意: MCP クエリツール(getJobs、getResult、listJobFiles、…)は認証されたアカウントにスコープされます。

REST API(ユニバーサル)

プレーンな HTTP と requests を使用します — エンドポイントの形状は openapi.yaml にあります。コアループは以下にあります。references/workflows.md に完全なレシピがあります。

コアワークフロー

常に 発見 → スキーマ → 検証 → 送信 → ポーリング → 結果 の順序に従います。ツール名や設定をハードコードしないでください — カタログは頻繁に変更されます。

import os, time, requests

BASE = "https://app.tamarind.bio/api"
HEADERS = {"x-api-key": os.environ["TAMARIND_API_KEY"]}

# 1. ツールを発見。REST /tools は完全なリストを返します。クライアント側でフィルタリングします。
tools = requests.get(f"{BASE}/tools", headers=HEADERS).json()
alphafold = next(t for t in tools if t["name"] == "alphafold")

# 2. 選択したツールの正確なスキーマを取得。
#    REST: /tools の各エントリにはすでにインラインの `settings` スキーマ(パラメータリスト)が含まれています —
#          名前がジョブタイプと一致するエントリを見つけてください。
#    MCP:  getJobSchema(jobType) は同じツールごとの詳細を返します。

# 3. ジョブを送信。`settings` はツール固有です — スキーマと正確に一致させてください。
payload = {
    "jobName": "my-alphafold-run",          # ^[a-zA-Z0-9_-]+$, <=100 文字、一意
    "type": "alphafold",
    "settings": {
        "sequence": "MKTVRQERLKSIVRILERSKEPVSGAQLAEELSVSRQVIVQDIAYLRSLGYNIVATPRGYVLAGG",
        "numRecycles": 3,
    },
}
resp = requests.post(f"{BASE}/submit-job", headers=HEADERS, json=payload)
resp.raise_for_status()   # 200 ok; 400 bad request; 403 budget exceeded; 401 unauthorized

# 4. 完了するまでポーリング。
#    注意: レスポンスの形状: GET /jobs?jobName=<name> はジョブの ROW を直接返します("jobs" ラッパーはありません);
#    リストクエリ(jobName なし)は {"jobs": [...]} を返します。名前指定のレスポンスに対して ["jobs"][0] でインデックスしないでください。
while True:
    job = requests.get(f"{BASE}/jobs", headers=HEADERS,
                       params={"jobName": "my-alphafold-run"}).json()
    if job["JobStatus"] in ("Complete", "Stopped", "Deleted"):
        break
    time.sleep(30)

# 5. 結果を取得。POST /result は署名付き URL の*文字列*を返します;
#    その URL に GET リクエストを送信して、実際の結果 zip をダウンロードします(2段階)。
url = requests.post(f"{BASE}/result", headers=HEADERS,
                    json={"jobName": "my-alphafold-run"}).text.strip('"')
open("my-alphafold-run.zip", "wb").write(requests.get(url).content)

MCP ツールを使用したこのループのエージェント版、およびより豊富な例については、references/workflows.md を参照してください。

ツールの発見

カタログには数百のツールがあります。必ず実行時に列挙してください — ハードコードされたリストに決して依存しないでください。

REST GET /tools は完全なリストを返します(サーバー側ではフィルタリングしません)。各項目は {name, displayName, github, paper, description, settings} で、settings はそのツールのインラインパラメータスキーマです。クライアント側でフィルタリング:

tools = requests.get(f"{BASE}/tools", headers=HEADERS).json()   # リスト
boltz = [t for t in tools if "boltz" in t["name"].lower()]

注意: どちらのサーフェスもツール名ごとに1行を返します — REST /tools と MCP getAvailableTools は両方とも重複排除されています(MCP は最新のツールバージョンを保持するため)、名前の一致は1行を返します。

MCP getAvailableTools(search=..., modality=..., function=...) はサーバー側でフィルタリングし、ツールごとに categories / tags を追加します(category / tag は modality / function の非推奨エイリアスで、まだ有効です)。語彙をハードコードしないでください — それは変化します。listModalities() / listTags() からライブ値を取得するか(それぞれ value、label、description、toolCount を返します)、またはすべての getAvailableTools レスポンスで返される availableCategories / availableTags ファセット配列を読み取ってください。Modality は分子タイプ(protein、antibody、peptide、small-molecule、nucleic-acid、…)です。Function はツールが何をするか(structure-prediction、binder-design、protein-ligand-docking、…)です。

広く使用されているツールの代表的なセット(/tools で確認してください): alphafold、boltz (Boltz-2)、chai (Chai-1)、esmfold / esmfold2、rfdiffusion、proteinmpnn、ligandmpnn、boltzgen、bindcraft、diffdock。完全なカテゴリ/タグマップとツールメタデータの読み方については、references/tool_catalog.md を参照してください。

適切なツールの選択

カタログにはタスクごとに多くのツールがあります。お気に入りをハードコードしないでください — function(および modality)でフィルタリングし、各候補の description を読み、ユーザーの実際の目標(持っている入力、必要な出力、速度や「MSA なし」などの制約)に一致させてください。 description と tags フィールドは公開の「何のためのものか」というシグナルです。これらと validateJob に選択を任せてください。タスクごとの簡単な方向性:

  • 単一タンパク質/複合体のフォールド (function=structure-prediction): AlphaFold3 クラスの再現 — boltz / chai / openfold / protenix / intfold — はすべての場合において正確なデフォルトであり、タンパク質のみのシステムも含みます。また、核酸 + 低分子複合体も処理できるため、リガンド/RNA/DNA がシステムの一部である場合にこれらを使用してください(boltz は結合親和性も追加します)。alphafold (AF2) はモノマー + マルチマーに対して堅実な選択肢です(チェーンは : で結合)。esmfold は単一配列(MSA なし)で高速です — 速度を重視し MSA がない場合に使用してください。esmfold2 はより新しく、デフォルトで MSA を条件とします(model 設定で高速な単一配列モードを提供します)。抗体(abodybuilder、immunebuilder)、環状ペプチド(highfold)、コンフォメーションアンサンブル(afcluster、alphaflow)用の特殊なフォルダーがあります — フィルタリングして説明を読んでください。
  • バインダーの設計 (function=binder-design): bindcraft(デノボミニプロテインバインダー)と boltzgen(タンパク質および低分子ターゲットに対するバインダー、ナノボディ/抗体/ペプチドを含む)が主要なデノボバインダーツールです。rfdiffusion もバインダー設計を行い、モチーフ足場 / 既存のバックボーンの多様化に適しています。抗体特異的なジェネレーターは function=antibody-design 以下にあります。
  • 既知のバックボーンの配列設計 (function=inverse-folding): proteinmpnn(汎用)、ligandmpnn(リガンド認識)、および耐熱性/可溶性/抗体 MPNN バリアント。インバースフォールディングは構造を受け取り、配列を出力します — 検証のためにそれらをフォールドバックします(連鎖を参照)。
  • 低分子のドッキング (function=protein-ligand-docking): boltz / chai を推奨します — これらはリガンドを複合体にコフォールドし、固定されたレセプターにドッキングするのではなく、結合構造を予測します。既知のポケットに対する高速な大規模スクリーニングが必要な場合は autodock-vina を使用してください。
  • 結合親和性の予測 (function=binding-affinity) または MSA の生成(msa を検索) — フィルタリングして読んでください。

ユーザーが特定のツールを指定した場合、そのツールを評価し、その tag グループ内の代替案を健全性チェックしてください — より高速またはより適切な類似ツールが存在することがよくあります。不明な場合は、コミットする前に getJobSchema / validateJob を使用して、候補が実際に持っている入力を受け入れるかどうかを確認してください。

ジョブ設定、スキーマ、バリデーション

各ツールには独自の settings スキーマがあります。送信前に取得してください:

  • REST /tools エントリ: 各 settings パラメータはトリミングされた辞書です。name と required は常に存在します。type、default、description、options は関連する場合にのみ表示されます(約60%に type があります)— したがって param.get("type") を使用し、param["type"] は使用しないでください。高度なゲーティングキー(exclude、conditionals)は REST レスポンスにはまったく含まれていません。
  • MCP getJobSchema(jobType): 完全なスキーマで、exclude、conditionals、境界を含みます。これらのゲーティングキーについて推論する必要がある場合は MCP を使用してください。(restrictOrgs は両方のサーフェスで削除されています — 使用できない組織ゲート付きパラメータは単に省略されます。references/api_reference.md を参照してください。)

送信前に必ず validateJob(MCP)を実行してください — 信頼できるガードです。送信せずに /submit-job と同じバリデーションを実行し、最初の欠落または無効なフィールドを明らかにします。どのフィールドをスキーマキーから削除するかを手動で導き出そうとしないでください(REST ではそれらを見ることができません)— validateJob に任せてください。(レスポンスには source フィールドが含まれる場合があります。例: "static-fallback" — これはどのスキーマソースが検証したかに関する内部メモです。valid: true/false が行動の基準となるシグナルです。)

validateJob は、デフォルトが入力された設定の normalized ビューをエコーバックします。検証したのと同じクリーンな settings を送信してください。normalized は情報提供として扱ってください(設定しなかったデフォルトや、一部のツールではプラットフォーム管理フィールドが含まれる可能性があります)。そのため、正規化されたブロブではなく、独自の設定から送信を構築してください。

配列: アミノ酸文字列。マルチマーのチェーンは : または `

次に、sequences キー(文字列のリスト)を使用します。

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

関連スキル