BWA (Burrows-Wheeler Aligner)
An MCP server for the BWA sequence alignment tool.
bio-mcp-bwa
MCP (Model Context Protocol) server for the BWA (Burrows-Wheeler Aligner) sequence alignment tool.
Overview
This MCP server provides access to BWA functionality, allowing AI assistants to perform alignment of short and long sequencing reads to a reference genome.
Features
- bwa_index: Create an index for a reference genome.
- bwa_mem: Align reads using the BWA-MEM algorithm.
- bwa_aln: Find SA coordinates with the BWA-backtrack algorithm.
- bwa_samse: Generate single-end alignments in SAM format.
- bwa_sampe: Generate paired-end alignments in SAM format.
- Support for large reference genomes and read files.
Installation
Prerequisites
- Python 3.9+
- BWA installed (
bwa
)
Install BWA
# macOS
brew install bwa
# Ubuntu/Debian
sudo apt-get install bwa
# From conda
conda install -c bioconda bwa
Install the MCP server
git clone https://github.com/bio-mcp/bio-mcp-bwa
cd bio-mcp-bwa
pip install -e .
Configuration
Add to your MCP client configuration (e.g., Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json
):
{
"mcpServers": {
"bio-bwa": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/bio-mcp-bwa"
}
}
}
Environment Variables
BIO_MCP_MAX_FILE_SIZE
: Maximum input file size in bytes (default: 50GB)BIO_MCP_TIMEOUT
: Command timeout in seconds (default: 3600)BIO_MCP_BWA_PATH
: Path to BWA executable (default: finds in PATH)BIO_MCP_TEMP_DIR
: Temporary directory for processing
Usage
Once configured, the AI assistant can use the following tools:
bwa_index
- Create BWA Index
Create a BWA index for a reference genome.
Parameters:
reference_fasta
(required): Path to the reference FASTA file.algorithm
: Indexing algorithm (bwtsw
oris
). Defaults tobwtsw
for genomes >2GB.
bwa_mem
- Align with BWA-MEM
Align reads using the BWA-MEM algorithm.
Parameters:
reference
(required): Path to the indexed reference genome.reads1
(required): Path to the first reads file (FASTQ).reads2
: Path to the second reads file for paired-end alignment.threads
: Number of threads to use (default: 4).min_seed_length
: Minimum seed length (default: 19).band_width
: Band width for banded alignment (default: 100).read_group
: Read group header line.
bwa_aln
- Find SA Coordinates
Find SA coordinates with the BWA-backtrack algorithm.
Parameters:
reference
(required): Path to the indexed reference genome.reads
(required): Path to the reads file (FASTQ).threads
: Number of threads to use (default: 4).max_mismatches
: Maximum number of mismatches (default: 4).max_gap_opens
: Maximum number of gap opens (default: 1).
bwa_samse
- Generate Single-End SAM
Generate alignments in SAM format for single-end reads.
Parameters:
reference
(required): Path to the indexed reference genome.sai_file
(required): Path to the .sai file frombwa_aln
.reads
(required): Path to the original reads file.
bwa_sampe
- Generate Paired-End SAM
Generate alignments in SAM format for paired-end reads.
Parameters:
reference
(required): Path to the indexed reference genome.sai_file1
(required): Path to the .sai file for read 1.sai_file2
(required): Path to the .sai file for read 2.reads1
(required): Path to the reads file 1.reads2
(required): Path to the reads file 2.
Examples
Index a reference genome
Create a BWA index for the file hg38.fasta.
Align paired-end reads
Align the paired-end reads from r1.fastq and r2.fastq to the hg38 reference genome using BWA-MEM.
Development
Running tests
pytest tests/
Building Docker image
docker build -t bio-mcp-bwa .
License
MIT License
Related Servers
O'RLY Book Cover Generator
Generates O'RLY? (O'Reilly parody) book covers.
Sitecore MCP server
MCP server for work with Sitecore
Current Time JST
Provides the current time in Japan Standard Time (JST, UTC+9).
MCP 3D Printer Server
Connects to 3D printer management systems like OctoPrint, Klipper, and Bambu Labs for model manipulation and printing workflows.
Fibrous MCP Server
A server for Fibrous Finance, a DeFi aggregation platform.
AbuseIpDB MCP Server
A Model Context Protocol (MCP) server implementation that provides seamless integration with the AbuseIPDB API for IP reputation checking and abuse report management.
WoWok
A server for the WoWok platform, designed for co-creation, transactions, and empowering potential.
Airthings Consumer
Monitor air quality with Airthings devices.
Time
Get the current time and perform timezone conversions using IANA timezone names.
OP.GG
Access real-time gaming data across popular titles like League of Legends, TFT, and Valorant, offering champion analytics, esports schedules, meta compositions, and character statistics.