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: Filesystem 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.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

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