Skip to main content
Glama

SAMtools MCP(モデル制御プロトコル)

SAMtools のモデル制御プロトコル実装。SAM/BAM/CRAM ファイルを操作するための標準化されたインターフェースを提供します。

特徴

  • SAM/BAM/CRAM ファイルの表示と変換

  • アライメントファイルの並べ替え

  • BAM/CRAM ファイルのインデックス

  • 統計を生成する

  • 複数のBAMファイルを結合する

  • 読み取り深度を計算する

  • FASTAファイルのインデックス

  • さらに…

コア機能

  • ファイル形式のサポート: SAM (テキスト)、BAM (バイナリ)、CRAM (圧縮) アライメント ファイルを処理します。

  • フォーマット変換: SAM、BAM、CRAM フォーマット間でシームレスに変換

  • 領域特異的解析:特定のゲノム領域を抽出して解析する

  • フラグベースのフィルタリング: SAMフラグに基づいて読み取りをフィルタリングする

  • パフォーマンスの最適化: ソートとマージのマルチスレッド操作

  • 統計分析:包括的なアライメント統計を生成する

ツールの概要

道具

説明

主な特徴

view

アライメントファイルの表示と変換

- フォーマット変換(SAM/BAM/CRAM)- 領域フィルタリング- フラグベースのフィルタリング- ヘッダー操作

sort

アライメントファイルの並べ替え

- 座標ベースのソート - 名前ベースのソート - スレッドごとのメモリ制御 - マルチスレッドのサポート

index

BAM/CRAM ファイルのインデックス

- BAIインデックス生成 - CSIインデックスサポート - CRAMインデックス作成

merge

複数のBAM/CRAMファイルを結合する

- 複数ファイルのマージ - スレッド対応処理 - ヘッダー調整

depth

読み取り深度を計算する

- 塩基ごとの深度計算 - 領域固有の分析 - 複数ファイルのサポート

flagstat

アライメント統計を生成する

- 包括的なフラグ統計 - 品質チェック - ペアエンドメトリクス

idxstats

BAM/CRAM インデックス統計

- 参照配列統計 - マップ/非マップ数 - 長さ情報

faidx

FASTAファイルのインデックス

- FASTAインデックス作成 - 領域抽出 - 配列検索

Related MCP server: Nmap MCP Server

インストール

Dockerの使用(推奨)

SAMtools MCP を使用する最も簡単な方法は、Docker を使用することです。

# Pull the Docker image
docker pull nadhir/samtools-mcp:latest

# Run the container
docker run -it --rm nadhir/samtools-mcp:latest

# To process BAM files, mount a volume:
docker run -it --rm -v /path/to/your/bam/files:/data nadhir/samtools-mcp:latest

ローカルインストール

  1. リポジトリをクローンします。

git clone https://github.com/your-username/samtools_mcp.git
cd samtools_mcp
  1. 依存関係をインストールします:

pip install uv
uv pip install -r requirements.txt

構成

MCP サーバーの構成

Docker イメージを使用するように MCP サーバーを構成するには、MCP 構成ファイルに次のコードを追加します。

{
  "servers": {
    "samtools": {
      "type": "docker",
      "image": "nadhir/samtools-mcp:latest",
      "volumes": [
        {
          "source": "/path/to/your/data",
          "target": "/data"
        }
      ]
    }
  }
}

ローカル MCP 構成

uvを使用して MCP を実行するように設定するには、 ~/.cursor/mcp.jsonに以下を追加します。

{
  "samtools_mcp": {
    "command": "uv",
    "args": ["run", "--with", "fastmcp", "fastmcp", "run", "/path/to/samtools_mcp.py"]
  }
}

/path/to/samtools_mcp.pysamtools_mcp.pyファイルへの実際のパスに置き換えます。

使用法

基本コマンド

  1. BAM ファイルを表示:

from samtools_mcp import SamtoolsMCP

mcp = SamtoolsMCP()
result = mcp.view(input_file="/data/example.bam")
  1. BAM ファイルを並べ替える:

result = mcp.sort(input_file="/data/example.bam", output_file="/data/sorted.bam")
  1. インデックス BAM ファイル:

result = mcp.index(input_file="/data/sorted.bam")

高度な使用法

  1. フラグ付きの特定の地域を表示します:

result = mcp.view(
    input_file="/data/example.bam",
    region="chr1:1000-2000",
    flags_required="0x2",
    output_format="SAM"
)
  1. 読み取った名前で並べ替え:

result = mcp.sort(
    input_file="/data/example.bam",
    output_file="/data/namesorted.bam",
    sort_by_name=True
)
  1. 複数の入力ファイルで深度を計算します。

result = mcp.depth(
    input_files=["/data/sample1.bam", "/data/sample2.bam"],
    region="chr1:1-1000000"
)

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sirusb/samtools_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server