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

Чтобы настроить сервер MCP для использования образа Docker, добавьте в файл конфигурации MCP следующее:

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

Локальная конфигурация MCP

Чтобы настроить MCP для работы с использованием uv , добавьте следующее в ваш ~/.cursor/mcp.json :

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

Замените /path/to/samtools_mcp.py на фактический путь к вашему файлу samtools_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