Skip to main content
Glama

SAMtools MCP (Modellkontrollprotokoll)

Eine Model Control Protocol-Implementierung für SAMtools, die eine standardisierte Schnittstelle für die Arbeit mit SAM/BAM/CRAM-Dateien bietet.

Merkmale

  • Anzeigen und Konvertieren von SAM/BAM/CRAM-Dateien

  • Alignment-Dateien sortieren

  • BAM/CRAM-Dateien indizieren

  • Statistiken erstellen

  • Mehrere BAM-Dateien zusammenführen

  • Lesetiefe berechnen

  • Indexieren Sie FASTA-Dateien

  • Und mehr...

Kernkompetenzen

  • Dateiformatunterstützung : Verarbeitung von SAM- (Text), BAM- (Binär) und CRAM- (komprimierten) Ausrichtungsdateien

  • Formatkonvertierung : Nahtlose Konvertierung zwischen den Formaten SAM, BAM und CRAM

  • Regionsspezifische Analyse : Extrahieren und analysieren Sie bestimmte Genomregionen

  • Flag-basiertes Filtern : Filtern Sie Lesevorgänge basierend auf SAM-Flags

  • Leistungsoptimierung : Multithread-Operationen zum Sortieren und Zusammenführen

  • Statistische Analyse : Erstellen Sie umfassende Ausrichtungsstatistiken

Werkzeugübersicht

Werkzeug

Beschreibung

Hauptmerkmale

view

Anzeigen und Konvertieren von Ausrichtungsdateien

- Formatkonvertierung (SAM/BAM/CRAM) - Regionsfilterung - Flag-basierte Filterung - Header-Manipulation

sort

Alignment-Dateien sortieren

- Koordinatenbasierte Sortierung - Namensbasierte Sortierung - Speicher pro Thread-Steuerung - Multithreading-Unterstützung

index

BAM/CRAM-Dateien indizieren

- BAI-Indexgenerierung - CSI-Indexunterstützung - CRAM-Indexerstellung

merge

Mehrere BAM/CRAM-Dateien zusammenführen

- Zusammenführen mehrerer Dateien - Thread-fähige Verarbeitung - Header-Abgleich

depth

Lesetiefe berechnen

- Tiefenberechnung pro Basis - Regionsspezifische Analyse - Unterstützung mehrerer Dateien

flagstat

Generieren von Ausrichtungsstatistiken

- Umfassende Flaggenstatistiken - Qualitätsprüfungen - Paired-End-Metriken

idxstats

BAM/CRAM-Indexstatistiken

- Referenzsequenzstatistiken - Zugeordnete/nicht zugeordnete Zählungen - Längeninformationen

faidx

Indexieren Sie FASTA-Dateien

- FASTA-Indizierung - Regionsextraktion - Sequenzabruf

Related MCP server: Maya MCP

Installation

Docker verwenden (empfohlen)

Der einfachste Weg, SAMtools MCP zu verwenden, ist über 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

Lokale Installation

  1. Klonen Sie das Repository:

git clone https://github.com/your-username/samtools_mcp.git
cd samtools_mcp
  1. Installieren Sie Abhängigkeiten:

pip install uv
uv pip install -r requirements.txt

Konfiguration

MCP-Serverkonfiguration

Um den MCP-Server für die Verwendung des Docker-Images zu konfigurieren, fügen Sie Ihrer MCP-Konfigurationsdatei Folgendes hinzu:

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

Lokale MCP-Konfiguration

Um MCP für die Ausführung mit uv zu konfigurieren, fügen Sie Folgendes zu Ihrer ~/.cursor/mcp.json hinzu:

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

Ersetzen Sie /path/to/samtools_mcp.py durch den tatsächlichen Pfad zu Ihrer Datei samtools_mcp.py .

Verwendung

Grundlegende Befehle

  1. BAM-Datei anzeigen:

from samtools_mcp import SamtoolsMCP

mcp = SamtoolsMCP()
result = mcp.view(input_file="/data/example.bam")
  1. BAM-Datei sortieren:

result = mcp.sort(input_file="/data/example.bam", output_file="/data/sorted.bam")
  1. BAM-Datei indizieren:

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

Erweiterte Nutzung

  1. Bestimmte Regionen mit Flaggen anzeigen:

result = mcp.view(
    input_file="/data/example.bam",
    region="chr1:1000-2000",
    flags_required="0x2",
    output_format="SAM"
)
  1. Nach gelesenem Namen sortieren:

result = mcp.sort(
    input_file="/data/example.bam",
    output_file="/data/namesorted.bam",
    sort_by_name=True
)
  1. Berechnen Sie die Tiefe mit mehreren Eingabedateien:

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

Beitragen

Beiträge sind willkommen! Senden Sie gerne einen Pull Request.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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