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 FASTAthreads(opcional): Número de hilos (predeterminado: 1)contaminants(opcional): Ruta al archivo de contaminantes personalizadoadapters(opcional): Ruta al archivo de adaptadores personalizadolimits(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/FASTAfile_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álisistitle(opcional): Título personalizado para el informecomment(opcional): Comentario para agregar al informetemplate(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 individualfastqc_batch_async- Poner en cola análisis por lotesmultiqc_report_async- Poner en cola generación de informesget_job_status- Verificar progreso del trabajoget_job_result- Recuperar resultados completadoscancel_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