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