SAMtools MCP(모델 제어 프로토콜)
SAMtools에 대한 모델 제어 프로토콜 구현으로, SAM/BAM/CRAM 파일 작업을 위한 표준화된 인터페이스를 제공합니다.
특징
SAM/BAM/CRAM 파일 보기 및 변환
정렬 파일 정렬
BAM/CRAM 파일 인덱스
통계 생성
여러 BAM 파일 병합
읽기 깊이 계산
FASTA 파일 인덱스
그리고 더 많은 것...
핵심 역량
파일 형식 지원 : SAM(텍스트), BAM(바이너리), CRAM(압축) 정렬 파일 처리
형식 변환 : SAM, BAM 및 CRAM 형식 간을 원활하게 변환합니다.
지역별 분석 : 특정 게놈 지역 추출 및 분석
플래그 기반 필터링 : SAM 플래그를 기반으로 읽기 필터링
성능 최적화 : 정렬 및 병합을 위한 멀티스레드 작업
통계 분석 : 포괄적인 정렬 통계 생성
도구 개요
도구 | 설명 | 주요 특징 |
| 정렬 파일 보기 및 변환 | - 포맷 변환(SAM/BAM/CRAM) - 지역 필터링 - 플래그 기반 필터링 - 헤더 조작 |
| 정렬 파일 정렬 | - 좌표 기반 정렬 - 이름 기반 정렬 - 스레드당 메모리 제어 - 멀티 스레딩 지원 |
| BAM/CRAM 파일 인덱스 | - BAI 지수 생성 - CSI 지수 지원 - CRAM 지수 생성 |
| 여러 BAM/CRAM 파일 병합 | - 다중 파일 병합 - 스레드 지원 처리 - 헤더 조정 |
| 읽기 깊이 계산 | - 베이스별 깊이 계산 - 지역별 분석 - 다중 파일 지원 |
| 정렬 통계 생성 | - 포괄적인 플래그 통계 - 품질 검사 - 페어드엔드 메트릭 |
| BAM/CRAM 지수 통계 | - 참조 시퀀스 통계 - 매핑/비매핑 카운트 - 길이 정보 |
| FASTA 파일 인덱스 | - FASTA 인덱싱 - 영역 추출 - 시퀀스 검색 |
Related MCP server: Filesystem MCP Server
설치
Docker 사용(권장)
SAMtools MCP를 사용하는 가장 쉬운 방법은 Docker를 사용하는 것입니다.
지엑스피1
로컬 설치
저장소를 복제합니다.
git clone https://github.com/your-username/samtools_mcp.git
cd samtools_mcp종속성 설치:
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.py samtools_mcp.py 파일의 실제 경로로 바꾸세요.
용법
기본 명령
BAM 파일 보기:
from samtools_mcp import SamtoolsMCP
mcp = SamtoolsMCP()
result = mcp.view(input_file="/data/example.bam")BAM 파일 정렬:
result = mcp.sort(input_file="/data/example.bam", output_file="/data/sorted.bam")인덱스 BAM 파일:
result = mcp.index(input_file="/data/sorted.bam")고급 사용법
플래그가 있는 특정 지역 보기:
result = mcp.view(
input_file="/data/example.bam",
region="chr1:1000-2000",
flags_required="0x2",
output_format="SAM"
)읽은 이름으로 정렬:
result = mcp.sort(
input_file="/data/example.bam",
output_file="/data/namesorted.bam",
sort_by_name=True
)여러 입력 파일로 깊이 계산:
result = mcp.depth(
input_files=["/data/sample1.bam", "/data/sample2.bam"],
region="chr1:1-1000000"
)기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
This server cannot be installed
Maintenance
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
