tamarind について
Tamarind Bio は、構造予測、ドッキング、分子動力学などの分子設計・構造生物学ツールをマネージド計算環境で提供します。REST API、CLI、MCP サーバーを使う研究者向けで、ジョブの検証、送信、監視、結果取得を行えます。
主な機能
- 01タンパク質・抗体設計ツール
- 02構造予測とドッキング
- 03結合親和性予測と MSA 生成
- 04分子動力学ワークフロー
- 05ジョブの検証・送信・ポーリング
- 06バッチとパイプラインの操作
活用シーン
- 01リモートでのタンパク質構造予測
- 02結合体やタンパク質配列の設計
- 03ドッキングや分子動力学ジョブの送信
- 04バッチと保存済みパイプラインの管理
MCP 対応
Tamarind は https://mcp.tamarind.bio/mcp に MCP サーバーを提供し、OAuth 2.1 または API キーで接続できます。文書化されたツールには、ジョブやバッチの送信、状態・結果の取得、ファイルのアップロードと一覧表示があります。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ k-dense-ai/ scientific-agent-skills --skill tamarindインストール後、Claude Code で/tamarindを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/api_reference.mdexamples.mdtool_catalog.mdworkflows.md詳細
Tamarind Bio
Tamarind は、分子設計および構造生物学のツールをマネージドコンピューティング上で実行します。構造予測、タンパク質および抗体の設計、ドッキング、結合親和性予測、MSA 生成、分子動力学などです。ユーザーが Tamarind、その REST API/MCP サーバー、またはこれらの科学ツールのクラウド実行を求めた場合に使用してください。ローカルの配列処理や分子記述子には、ローカルライブラリを使用してください。
情報源とレビュー範囲
REST コントラクトと公開カタログは 2026-09-30 にレビューされました。例は、ユーザーのアカウントに対して検証されるまでは例示的なものです。このレビューでは、認証済みジョブの実行や、いずれかのモデルの科学的精度の確立は行っていません。
- API インデックスおよび 完全ガイド。
- 現在の OpenAPIには、ディスカバリー、 バリデーション、ジョブ、ファイル、および新しいパイプライン/カスタムツールの サーフェスが含まれます。 openapi.yamlも利用できます。必要な パスが存在することを確認してください。バックエンドのスペックを取得できない場合、 マージされたスペックはそのクラシックなサーフェスのみを含む HTTP 200 を返すことがあります。
- 公開カタログにはキーは不要です。
?type=または?tag=でクエリできます。これは公開ツールと条件付きの必須設定を 文書化したものであり、すべてのオプションパラメータやアカウントの権利を 示すものではありません。 - 製品ドキュメントインデックスは、 MCP ガイドを含む Markdown ページにリンクしています。
実行を構成する前に、アカウントの現在のスキーマを取得してください。散文ガイドと OpenAPI が異なる場合は、フィールドの形については操作/スキーマを優先し、未解決の 相違があれば推測せずに記録してください。
アクセス
- ユーザーの Tamarind デプロイメントを使用してください。共有ベースは
https://app.tamarind.bio/apiです。専用の組織デプロイメントには、独自の ホストとアカウントデータがあります。以下のすべての相対 REST パスは/apiの 下にあります。 - デプロイメントの API 設定からキーを取得し、
TAMARIND_API_KEYから読み取って、x-api-keyとして送信してください。キーはファイルやログに残さないでください。 - スケールアップする前に、アカウントの現在の許容量とコンピュート予算を確認してください。 無料利用は月次の許容量であり、10 ジョブを永久に無条件で約束するものではありません。 請求と権利は変更される可能性があります。
# Public discovery requires no credential.
curl --fail-with-body 'https://app.tamarind.bio/tools.json?type=alphafold'
# Account-scoped discovery:
curl --fail-with-body 'https://app.tamarind.bio/api/tools' \
-H "x-api-key: $TAMARIND_API_KEY"
REST の例では、実行環境に requests をインストールしてください。公式の
CLI ディストリビューションは tamarind-cli であり、その Custom Tools Python
クライアントは from tamarind import Tamarind としてインポートされます。tamarind
という名前の無関係なパッケージは、このクライアントではありません。
SDK リファレンスを
参照してください。以下の主要なジョブレシピは HTTP を直接使用します。
ワークフロー
- 検出。
GET /toolsを読み、ユーザーの科学的タスクをツールの説明と照合します。組み込みツールは配列を返します。?custom=trueはレガシーのカスタムツールのみを一覧表示します。現在のカスタムデプロイメントがこのリストに含まれていない場合があります。利用できないと結論付ける前に、既知のデプロイ済み名とそのスキーマを使用してください。 - スキーマを読む。
GET /tools/{name}/schemaはsettingsオブジェクトの JSON Schema を返します。GET /toolsも簡略化されたsettingsパラメーターリストを提供します。タスク依存のフィールド、ファイル拡張子、リスト値、デフォルトを確認してください。 - 検証。
type、settings、および省略可能なjobNameを指定してPOST /validate-jobを送信します。まず HTTP ステータスを確認し、次に JSON のvalidを確認します。成功した場合は、normalizedを検査し、送信する settings として使用してください。valid: trueと同時に返された場合でも、unrecognized_settingsが返されたら対処してください。そうしないと、省略可能フィールドのタイポによりデフォルトが有効なまま黙って残る可能性があります。検証はフィールドをチェックするものであり、すべての送信ポリシー、キューの制限、デプロイメントの準備状況をチェックするものではありません。 - 一度だけ送信。
POST /submit-jobはjobName、type、settings、カスタムツールビルド用の省略可能なversion、および省略可能または組織必須のprojectTagを受け取ります。送信した名前と settings を保存してください。成功レスポンスはプレーンテキストであり、JSON の受領書ではありません。返された保存済み名を使用してください。 - ポーリング。
GET /jobs?jobName=...は行を直接返します。単一ジョブの終了状態はComplete、Stopped、Failedです。レガシーのDeletedや完全一致検索のエラーは、無限ループせずに処理してください。バッチの親はbatchStatusを使用してポーリングし、新しいパイプラインはそれぞれの実行エンドポイントでポーリングしてください。 - ダウンロードと検査。
POST /resultは 200 で JSON 文字列の URL を返すか、202 でstatus: "preparing"を返します。202 の後は、計算を再送信せずに結果取得を再試行してください。署名付き URL は Tamarind API キーヘッダーなしで GET してください。アーカイブは成功した実行に対してのみダウンロードし、停止または失敗したジョブにはfileName: "output.log"を要求してください。ダウンロード後に科学的出力を検証してください。
ワークフローレシピは、検証、保存済み名、制限付きポーリング、202 の処理、バッチ検証、ページネーションを実装しています。これらはシミュレートされたレスポンスを使用してローカルでスモークテストされていますが、認証付きの実行は未検証のままです。
ツールの選択と結果の解釈
入力、意図する出力、モデリングの前提に基づいて選択し、その後、ライブカタログで候補を確認してください。これらは目安であり、保証されたカタログではありません。
| タスク | 候補と判断 |
|---|---|
| タンパク質/複合体構造 | AF2 の単量体/多量体には alphafold、リガンド/核酸を含む共折りたたみには boltz、chai、または protenix、高速な単一配列のタンパク質折りたたみには esmfold を使用します。esmfold2 は別途確認してください。現在のカタログにはタンパク質、DNA、RNA、リガンド複合体が含まれています。 |
| バインダー/モチーフ設計 | bindcraft、boltzgen、rfdiffusion。標的の種類、スキャフォールドの制約、必要な構造入力に基づいて選択します。 |
| 逆折りたたみ | proteinmpnn/ligandmpnn は構造を入力として配列を設計します。設計を再折りたたみし、意図したバックボーン/インターフェースと比較してください。 |
| 低分子ドッキング | 固定された受容体と探索ボックスには autodock-vina、拡散ドッキングには diffdock、共折りたたみには boltz/chai を使用します。必要な入力を供給しないで済むようにではなく、タスクに応じてモデリング手法を選択してください。 |
| 抗体/開発可能性/MSA/MD | 特定のタスクに応じて説明とスキーマを絞り込んでください。利用可否と入力はツールによって異なります。 |
信頼度スコアはモデルの信頼度を表すものであり、実験的な結合、特異性、親和性を表すものではありません。設計されたバックボーン、インターフェース、衝突、鎖/残基のマッピング、開発可能性を比較してください。リガンドの化学構造と立体化学を確認してください。ドッキングスコアは測定された結合自由エネルギーと互換ではありません。ツール/モデル、入力の出所、鎖のマッピング、シード/サンプル、MSA/テンプレートの選択、正規化された設定、ユーザーが選択したフィルタリングしきい値を記録してください。
ユーザーが選択したツールと予算を尊重してください。日常的な選択には承認されたデフォルトを使用し、大規模なキャンペーンの前に、科学的タスクや計算スコープに実質的に影響する未解決の選択を提示してください。入力がより簡単に供給できるという理由で、別の科学的タスクに無断で置き換えないでください。
ファイル入力とチェーン
PUT /upload/{filename}で構造をアップロードし(バイナリボディ、文書化されたリダイレクトに従ってください)、その後、登録された相対名を参照します。例えばtarget.pdb、または?folder=inputsを使用した場合はinputs/target.pdbです。GET /filesで名前を確認してください。これは選択したフォルダーのページネーションされていない配列を返すものであり、ジョブの出力のリストではありません。- インラインファイルの内容よりもこれらのパスを優先してください。現在のガイドによると、冗長なアカウントメールのプレフィックスは除去されます。もはや普遍的な二重プレフィックスの失敗はありません。任意の文字列が必ずしもファイル参照であるとは限りません。
- 完了したジョブのファイルを
JobName/path/to/file.extとして再利用し、次のパラメータがサポートする拡張子とリスト/スカラーの形状に一致させてください。ファイル名を推測しないでください。 - ProteinMPNN の設計は、折りたたみツールの sequence フィールドに渡す必要があります。構造テンプレートフィールドは「この設計された配列を折りたたむ」という意味ではありません。生成された FASTA/CSV 配列を読み取り、配列ごとに 1 つの折りたたみ設定オブジェクトを検証してください。
submit_method、msa、monomer_msaなどの内部フィールドを作成しないでください。
バッチとパイプライン
POST /submit-batch は、1 つの type、空でない settings 配列、batchName、
および省略可能な並列の jobNames を受け付けます。配列モードの
/validate-job(1 回の呼び出しで最大 1,000 行)を使用してすべての行を検証し、
各行の正規化された設定を使用してください。送信では、設計上のファンアウトを
含めて最大 30,000 個の展開済みジョブが許可され、さらに別途おおよそ
4.5 MB のリクエスト制限があります。両方の制約で分割してください。
古い weightedHoursBudget、maxRuntimeSeconds、gpuType リクエスト
フィールドが上限を適用すると想定しないでください。これらは現在のバッチ
スキーマには存在しません。確認済みのアカウント制御と、合意済みの
ジョブ/サンプル数を使用してください。
batchStatus が Complete、Stopped、または AggregationFailed になるまで
GET /jobs?jobName=<batchName> をポーリングしてください。サブジョブは集約より
先に完了する場合があります。/result を通じてアーカイブを取得し、202 を
処理してください。resultUrl は省略可能であり、信頼できる準備完了の
シグナルではありません。GET /jobs?batch=... を startKey でページングして
子ジョブを検査してください。
新しく保存するワークフローには、/pipelines 配下のテンプレート/実行 API を
使用してください。現在のパイプライングラフの契約を読み、提案された実行を
POST /pipelines/validate で検証し、POST /pipelines/submit(必須の
name、bindings、および templateId/pipeline のいずれか)で送信し、
GET /pipelines/runs/{run_id} をポーリングしてください。そのステータスは
小文字で、ジョブのステータスとは別です。レガシーの /submit-pipeline と
/run-pipeline も引き続きドキュメント化されています。
API リファレンス に、それらの実際の必須
フィールドが記載されています。
MCP の代替手段
OAuth 2.1 または x-api-key ヘッダーを使用して https://mcp.tamarind.bio/mcp に
接続してください。公式ガイドでは submitJob、submitBatch、getJobs、
getResult、uploadFile、getFiles が確認されています。シグネチャを使用したり
結果エンベロープを解釈したりする前に、接続されたサーバーの tools/list
スキーマを読んでください。
接続が getAvailableTools、getJobSchema、validateJob などの
ディスカバリ/検証ヘルパーを通知する場合は、それらの現在のスキーマを
使用してください。追加のヘルパー、フィルター語彙、submitBatch(fromJob=...)、
および MCP 経由のアップロードの変種は、公開ガイドでは保証されていません。
このレビューの匿名 tools/list リクエストは 401 を返したため、それらの
現在の契約は検証されていません。必要に応じて、ドキュメント化された REST の
同等機能を使用してください。
リカバリ
HTTP 認証失敗はルートによって異なります。クラシックエンドポイントは 400 を 返す場合があり、ジョブは 401 またはゲートウェイ 403 を返す場合があり、 usage は 401 を返す場合があります。403 は予算エラーの証明では ありません。設定を変更する前に、ステータスと実際のレスポンスボディを 確認してください。送信エラーは、Content-Type に関係なく JSON または プレーンテキストの場合があります。
送信時のタイムアウト/5xx は、何もキューに入らなかったことを証明しません。
再試行する前に、永続化された名前を検索してください。キャンペーンでは、
1 リクエストあたり最大 1,000 個の名前を指定して POST /jobs/search を
使用してください。レート制限を尊重し、大規模環境でジョブごとに 1 リクエストの
ポーリングを避けてください。413 は、ジョブを作成する前にサイズ超過の
リクエストを拒否します。ボディを分割するか、ファイルの内容を別途
アップロードしてください。DELETE /delete-job はソフト削除です。
ジョブを非表示にし、保存された結果ファイルはそのまま残します。
リファレンスファイル
- API リファレンス: エンドポイントの形状、検証、 ページネーション、認証の違い、およびレガシー/新規パイプラインの境界。
- ツールカタログ: スキーマの解釈とディスカバリ。
- 例: 現在のカタログに基づく設定例 とツール固有の注意事項。検証スコープによって明示的に制限されています。
- ワークフロー: ローカルでモック検証された 実行可能な HTTP レシピ。このレビューでは認証済みの科学ジョブは 実行されていません。