samtools_mcp

by sirusb
Verified

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アライメントファイルの並べ替え- 座標ベースのソート - 名前ベースのソート - スレッドごとのメモリ制御 - マルチスレッドのサポート
indexBAM/CRAM ファイルのインデックス- BAIインデックス生成 - CSIインデックスサポート - CRAMインデックス作成
merge複数のBAM/CRAMファイルを結合する- 複数ファイルのマージ - スレッド対応処理 - ヘッダー調整
depth読み取り深度を計算する- 塩基ごとの深度計算 - 領域固有の分析 - 複数ファイルのサポート
flagstatアライメント統計を生成する- 包括的なフラグ統計 - 品質チェック - ペアエンドメトリクス
idxstatsBAM/CRAM インデックス統計- 参照配列統計 - マップ/非マップ数 - 長さ情報
faidxFASTAファイルのインデックス- FASTAインデックス作成 - 領域抽出 - 配列検索

インストール

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
-
license - not tested
-
quality - not tested

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

  1. Features
    1. Core Capabilities
    2. Tools Overview
  2. Installation
    1. Using Docker (Recommended)
    2. Local Installation
  3. Configuration
    1. MCP Server Configuration
    2. Local MCP Configuration
  4. Usage
    1. Basic Commands
    2. Advanced Usage
  5. Contributing
    1. License
      ID: jttoifepxt