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: Nmap MCP Server

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.

-
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