bio-mcp-bwa

bio-mcp/bio-mcp-bwa

3.2

If you are the rightful owner of bio-mcp-bwa and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

MCP server for BWA sequence alignment tool, providing AI assistants with access to BWA functionalities for genome alignment.

Tools
  1. bwa_index

    Create a BWA index for a reference genome.

  2. bwa_mem

    Align reads using the BWA-MEM algorithm.

  3. bwa_aln

    Find SA coordinates with the BWA-backtrack algorithm.

  4. bwa_samse

    Generate single-end alignments in SAM format.

  5. bwa_sampe

    Generate paired-end alignments in SAM format.

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 or is). Defaults to bwtsw 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 from bwa_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