Bio-MCP FastQC Server

Proporciona control de calidad para datos de secuencias biológicas utilizando las herramientas FastQC y MultiQC.

Documentación

Servidor Bio-MCP FastQC 🔬

Análisis de Control de Calidad mediante Protocolo de Contexto de Modelos

Un servidor MCP que permite a los asistentes de IA ejecutar análisis de control de calidad FastQC y MultiQC en datos de secuenciación. Parte del ecosistema Bio-MCP.

🎯 Propósito

FastQC es esencial para la evaluación de calidad de datos de secuenciación de alto rendimiento. Este servidor MCP permite a los asistentes de IA:

  • Analizar archivos individuales - Obtener informes de control de calidad detallados para archivos FASTQ/FASTA individuales
  • Procesamiento por lotes - Ejecutar control de calidad en múltiples archivos simultáneamente
  • Generar informes resumidos - Crear informes MultiQC que combinan múltiples análisis
  • Manejar grandes conjuntos de datos - Soporte de sistema de cola para trabajos computacionalmente intensivos

🚀 Inicio Rápido

Requisitos Previos

Instalar FastQC y MultiQC:

# Via conda (recommended)
conda install -c bioconda fastqc multiqc

# Via package managers
# Ubuntu/Debian
sudo apt-get install fastqc
pip install multiqc

# macOS
brew install fastqc
pip install multiqc

Instalación

# Clone and install
git clone https://github.com/bio-mcp/bio-mcp-fastqc.git
cd bio-mcp-fastqc
pip install -e .

# Or install directly
pip install git+https://github.com/bio-mcp/bio-mcp-fastqc.git

Configuración de Claude Desktop

Agregar a su claude_desktop_config.json:

{
  "mcpServers": {
    "bio-fastqc": {
      "command": "python",
      "args": ["-m", "src.server"],
      "cwd": "/path/to/bio-mcp-fastqc"
    }
  }
}

🔧 Herramientas Disponibles

Herramientas de Análisis Principal

fastqc_single

Ejecutar FastQC en un archivo FASTQ/FASTA individual.

Parámetros:

  • input_file (obligatorio): Ruta al archivo FASTQ o FASTA
  • threads (opcional): Número de hilos (predeterminado: 1)
  • contaminants (opcional): Ruta al archivo de contaminantes personalizado
  • adapters (opcional): Ruta al archivo de adaptadores personalizado
  • limits (opcional): Ruta al archivo de límites personalizado

Ejemplo:

User: "Run quality control on my_sample.fastq.gz"
AI: [calls fastqc_single] → Returns detailed QC report with pass/warn/fail status for each module

fastqc_batch

Ejecutar FastQC en múltiples archivos en un directorio.

Parámetros:

  • input_dir (obligatorio): Directorio que contiene archivos FASTQ/FASTA
  • file_pattern (opcional): Patrón de archivo a coincidir (predeterminado: ".fastq")
  • threads (opcional): Número de hilos (predeterminado: 4)

Ejemplo:

User: "Analyze all fastq files in the data/ directory"
AI: [calls fastqc_batch] → Processes all files and returns summary statistics

multiqc_report

Generar informe MultiQC a partir de resultados FastQC.

Parámetros:

  • input_dir (obligatorio): Directorio que contiene FastQC y otros resultados de análisis
  • title (opcional): Título personalizado para el informe
  • comment (opcional): Comentario para agregar al informe
  • template (opcional): Plantilla de informe (default, simple, sections, gathered)

Ejemplo:

User: "Create a summary report from all the QC results"
AI: [calls multiqc_report] → Generates interactive HTML report combining all analyses

Herramientas del Sistema de Cola (cuando la cola está habilitada)

Para grandes conjuntos de datos o procesamiento por lotes:

  • fastqc_single_async - Poner en cola análisis de archivo individual
  • fastqc_batch_async - Poner en cola análisis por lotes
  • multiqc_report_async - Poner en cola generación de informes
  • get_job_status - Verificar progreso del trabajo
  • get_job_result - Recuperar resultados completados
  • cancel_job - Cancelar trabajos en ejecución

💡 Ejemplos de Uso

Evaluación Básica de Calidad

User: "What's the quality of my sequencing data in sample1.fastq.gz?"

AI Response:
✅ FastQC Analysis Complete for sample1

Module Status Summary:
✅ Basic Statistics: PASS
✅ Per base sequence quality: PASS
⚠️ Per sequence quality scores: WARN
✅ Per base sequence content: PASS
✅ Per sequence GC content: PASS
✅ Per base N content: PASS
✅ Sequence Length Distribution: PASS
❌ Sequence Duplication Levels: FAIL
✅ Overrepresented sequences: PASS
✅ Adapter Content: PASS

Basic Statistics:
• Total Sequences: 2,450,000
• Sequences flagged as poor quality: 0
• Sequence length: 150
• %GC: 47

Análisis por Lotes

User: "Analyze all FASTQ files in my project/raw_data/ folder"

AI Response:
FastQC Batch Analysis Complete
========================================

Processed 12 files:

✅ sample01_R1.fastq.gz: 8P/2W/0F
✅ sample01_R2.fastq.gz: 8P/2W/0F
⚠️ sample02_R1.fastq.gz: 7P/2W/1F
⚠️ sample02_R2.fastq.gz: 7P/2W/1F
...

Overall Summary:
• Total PASS: 94
• Total WARN: 24
• Total FAIL: 2

Tip: Run multiqc_report on this directory to generate a combined report!

Flujo de Trabajo Completo

User: "I have a directory of paired-end FASTQ files. Can you run quality control and create a summary report?"

AI: I'll run a complete QC workflow on your paired-end data:

1. First, let me analyze all FASTQ files in batch:
   [runs fastqc_batch on directory]

2. Now I'll generate a MultiQC summary report:
   [runs multiqc_report on results]

✅ Complete QC workflow finished!

Summary:
- 24 FASTQ files processed (12 samples, paired-end)
- Average quality score: 32.5
- 2 samples have adapter contamination warnings
- 1 sample shows high duplication levels
- Interactive HTML report generated: multiqc_report.html

The MultiQC report provides detailed visualizations of:
- Quality score distributions across all samples
- GC content comparison
- Sequence length distributions
- Adapter content analysis
- Sample correlation analysis

🐳 Uso con Docker

Construir y Ejecutar

# Build the image
docker build -t bio-mcp-fastqc .

# Run with data mounting
docker run -v /path/to/data:/data bio-mcp-fastqc

Docker Compose (con Sistema de Cola)

services:
  fastqc-server:
    build: .
    volumes:
      - ./data:/data
    environment:
      - BIO_MCP_QUEUE_URL=http://queue-api:8000
    depends_on:
      - queue-api

⚙️ Configuración

Variables de Entorno

  • BIO_MCP_FASTQC_PATH - Ruta al ejecutable FastQC (predeterminado: "fastqc")
  • BIO_MCP_MULTIQC_PATH - Ruta al ejecutable MultiQC (predeterminado: "multiqc")
  • BIO_MCP_MAX_FILE_SIZE - Tamaño máximo de archivo en bytes (predeterminado: 10GB)
  • BIO_MCP_TIMEOUT - Tiempo de espera del comando en segundos (predeterminado: 1800)
  • BIO_MCP_TEMP_DIR - Directorio temporal para procesamiento

Integración del Sistema de Cola

Para habilitar procesamiento asíncrono de grandes conjuntos de datos:

from src.server_with_queue import FastQCServerWithQueue

server = FastQCServerWithQueue(queue_url="http://localhost:8000")

📊 Archivos de Salida

FastQC genera varios archivos de salida:

  • Informe HTML (*_fastqc.html) - Informe de calidad interactivo
  • Archivo de Datos (fastqc_data.txt) - Métricas y estadísticas crudas
  • Archivo de Resumen (summary.txt) - Estado de aprobado/advertencia/fallo para cada módulo
  • Gráficos - Varios gráficos y tablas de calidad

MultiQC combina estos en:

  • Informe MultiQC (multiqc_report.html) - Informe interactivo combinado
  • Directorio de Datos (multiqc_data/) - Datos procesados y estadísticas
  • Estadísticas Generales (multiqc_general_stats.txt) - Tabla resumen

🔍 Métricas de Calidad Explicadas

FastQC analiza múltiples aspectos de calidad:

Módulos Clave

  • Calidad de secuencia por base - Puntuaciones de calidad en posiciones de lectura
  • Puntuaciones de calidad por secuencia - Distribución de puntuaciones de calidad medias
  • Contenido de secuencia por base - Contenido A/T/G/C en posiciones
  • Contenido GC por secuencia - Distribución de GC% vs esperado
  • Niveles de duplicación de secuencia - Evaluación de duplicación por PCR
  • Contenido de adaptadores - Secuencias de adaptadores contaminantes

Interpretación de Estado

  • ✅ APROBADO - El análisis no indica problemas
  • ⚠️ ADVERTENCIA - Ligeramente inusual, puede no ser problemático
  • ❌ FALLO - Probablemente problemático, requiere atención

🧬 Integración con el Ecosistema Bio-MCP

FastQC funciona perfectamente con otras herramientas Bio-MCP:

User: "Run the complete preprocessing pipeline on my samples"

AI Workflow:
1. fastqc_batch → Initial quality assessment
2. trimmomatic → Trim low-quality bases and adapters  
3. fastqc_batch → Post-trimming QC
4. multiqc_report → Combined before/after report

🤝 Contribuciones

¡Agradecemos las contribuciones! Consulte la guía de contribución de Bio-MCP.

Configuración de Desarrollo

git clone https://github.com/bio-mcp/bio-mcp-fastqc.git
cd bio-mcp-fastqc
pip install -e ".[dev]"
pytest

📄 Licencia

Licencia MIT - consulte el archivo LICENSE.

🙏 Agradecimientos

  • FastQC por Simon Andrews en Babraham Bioinformatics
  • MultiQC por Phil Ewels y la comunidad MultiQC
  • Proyecto Bio-MCP y colaboradores

Parte del ecosistema Bio-MCP - Haciendo la bioinformática accesible para asistentes de IA.

Para más herramientas: Organización Bio-MCP