MCP Sequence Simulation Server

Simula secuencias de ADN y aminoácidos utilizando modelos y algoritmos evolutivos.

Documentación

Servidor de Simulación de Secuencias MCP

Un servidor MCP (Protocolo de Contexto de Modelos) para simular secuencias de ADN y aminoácidos utilizando diversos modelos y algoritmos evolutivos. Este servidor proporciona potentes herramientas para la generación de secuencias, simulación de mutaciones, modelado evolutivo y análisis filogenético.

Características

🧬 Generación de Secuencias de ADN

  • Generación Aleatoria de ADN: Genera secuencias con contenido GC especificado
  • Modelos de Cadena de Markov: Generación de secuencias dependientes del contexto
  • Generación con Sesgo de Codones: Secuencias codificantes de proteínas realistas
  • Parámetros Personalizables: Longitud, contenido GC, semilla para reproducibilidad

📊 Simulación de Secuenciación FASTQ

  • Simulación de Lecturas NGS: Genera lecturas de secuenciación de próxima generación realistas
  • Modelos Específicos de Plataforma: Modelos de calidad para Illumina, 454, Ion Torrent y PacBio
  • Soporte de Extremos Pareados: Lecturas de secuenciación de extremo único y pareado
  • Modelado de Errores: Tasas de error de secuenciación configurables con puntuaciones de calidad realistas
  • Control de Cobertura: Genera lecturas para alcanzar profundidades de cobertura especificadas
  • Basado en NEAT: Implementación inspirada en la metodología NEAT publicada

🧭 Generación de Secuencias de Proteínas

  • Generación Aleatoria de Proteínas: Distribución uniforme de aminoácidos
  • Sesgo Hidrofóbico: Secuencias similares a proteínas de membrana
  • Propenso al Desorden: Secuencias de proteínas intrínsecamente desordenadas
  • Composición Personalizada: Frecuencias de aminoácidos definidas por el usuario

🔬 Mutación de Secuencias

  • Mutaciones de Sustitución: Mutaciones puntuales con sesgo de transición/transversión
  • Eventos de Inserción/Eliminación: Mutaciones indel
  • Múltiples Iteraciones: Seguimiento de cambios a lo largo del tiempo
  • ADN y Proteínas: Soporte para secuencias de nucleótidos y aminoácidos

🌳 Simulación Evolutiva

  • Evolución de Poblaciones: Simular poblaciones a lo largo de generaciones
  • Presión de Selección: Funciones de aptitud configurables
  • Seguimiento de Linajes: Seguir rutas evolutivas individuales
  • Funciones de Aptitud: Contenido GC, longitud, objetivos de hidrofobicidad

🌲 Simulación Filogenética

  • Evolución Basada en Árboles: Simular secuencias en árboles filogenéticos
  • Múltiples Modelos de Sustitución: JC69, K80, HKY85, GTR
  • Reloj Molecular: Tasas evolutivas uniformes o variables
  • Múltiples Formatos de Salida: FASTA, NEXUS, PHYLIP

Instalación

npm install
npm run build

Uso

Con Claude Code

./start-claude.sh

Configuración Manual

Agregue a su configuración MCP de Claude Code:

{
  "mcpServers": {
    "sequence-simulation": {
      "command": "node",
      "args": ["dist/server.js"],
      "cwd": "/path/to/mcp-sequence-simulation"
    }
  }
}

Herramientas Disponibles

1. Generar Secuencia de ADN

Generar secuencias de ADN aleatorias con varios modelos.

Parámetros:

  • length (obligatorio): Longitud de la secuencia
  • gcContent (opcional): Relación de contenido GC (0-1, predeterminado: 0.5)
  • count (opcional): Número de secuencias (predeterminado: 1)
  • model (opcional): "random", "markov" o "codon-biased"
  • seed (opcional): Semilla aleatoria para reproducibilidad
  • outputFormat (opcional): "fasta" o "plain"

Ejemplo:

{
  "length": 1000,
  "gcContent": 0.6,
  "count": 5,
  "model": "markov",
  "outputFormat": "fasta"
}

2. Generar Secuencia de Proteínas

Generar secuencias de proteínas aleatorias con varios sesgos.

Parámetros:

  • length (obligatorio): Longitud de la secuencia
  • count (opcional): Número de secuencias (predeterminado: 1)
  • model (opcional): "random", "hydrophobic-bias" o "disorder-prone"
  • composition (opcional): Frecuencias de aminoácidos personalizadas
  • seed (opcional): Semilla aleatoria
  • outputFormat (opcional): "fasta" o "plain"

Ejemplo:

{
  "length": 200,
  "count": 3,
  "model": "hydrophobic-bias",
  "outputFormat": "fasta"
}

3. Simular Archivo FASTQ

Simular lecturas de secuenciación FASTQ con puntuaciones de calidad y modelos de error realistas.

Parámetros:

  • referenceSequence (obligatorio): Secuencia de ADN de referencia para generar lecturas
  • readLength (obligatorio): Longitud de cada lectura de secuenciación (50-300 pb)
  • coverage (obligatorio): Profundidad de cobertura de secuenciación objetivo (1-1000x)
  • readType (opcional): "single-end" o "paired-end" (predeterminado: "single-end")
  • insertSize (opcional): Tamaño de inserto medio para lecturas de extremos pareados (predeterminado: 300)
  • insertSizeStd (opcional): Desviación estándar del tamaño de inserto (predeterminado: 50)
  • errorRate (opcional): Tasa de error de llamada de bases 0-0.1 (predeterminado: 0.01)
  • qualityModel (opcional): "illumina", "454", "ion-torrent" o "pacbio" (predeterminado: "illumina")
  • mutationRate (opcional): Tasa de mutaciones verdaderas 0-0.05 (predeterminado: 0.001)
  • seed (opcional): Semilla aleatoria para reproducibilidad
  • outputFormat (opcional): "fastq" o "json" (predeterminado: "fastq")

Ejemplo:

{
  "referenceSequence": "ATCGATCGATCGATCGATCGATCGATCGATCGATCG",
  "readLength": 150,
  "coverage": 30,
  "readType": "paired-end",
  "errorRate": 0.01,
  "qualityModel": "illumina"
}

Citación: Basado en Stephens et al. (2016) PLOS ONE 11(11): e0167047.

4. Mutar Secuencia

Aplicar mutaciones a secuencias existentes.

Parámetros:

  • sequence (obligatorio): Secuencia de entrada
  • sequenceType (obligatorio): "dna" o "protein"
  • substitutionRate (opcional): Tasa de sustitución (predeterminado: 0.01)
  • insertionRate (opcional): Tasa de inserción (predeterminado: 0.001)
  • deletionRate (opcional): Tasa de eliminación (predeterminado: 0.001)
  • transitionBias (opcional): Sesgo de transición vs transversión para ADN (predeterminado: 2.0)
  • iterations (opcional): Número de rondas de mutación (predeterminado: 1)
  • seed (opcional): Semilla aleatoria
  • outputFormat (opcional): "fasta" o "plain"

Ejemplo:

{
  "sequence": "ATGCGATCGATCG",
  "sequenceType": "dna",
  "substitutionRate": 0.02,
  "iterations": 5,
  "outputFormat": "fasta"
}

5. Evolucionar Secuencia

Simular la evolución de secuencias a lo largo de múltiples generaciones.

Parámetros:

  • sequence (obligatorio): Secuencia inicial
  • generations (obligatorio): Número de generaciones
  • populationSize (obligatorio): Tamaño de la población
  • mutationRate (obligatorio): Tasa de mutación por generación
  • selectionPressure (opcional): Fuerza de selección (0-1)
  • fitnessFunction (opcional): "gc-content", "length", "hydrophobic" o "custom"
  • targetValue (opcional): Valor objetivo para la función de aptitud
  • trackLineages (opcional): Seguimiento de linajes individuales
  • seed (opcional): Semilla aleatoria
  • outputFormat (opcional): "summary", "detailed" o "fasta"

Ejemplo:

{
  "sequence": "ATGCGATCGATCG",
  "generations": 100,
  "populationSize": 50,
  "mutationRate": 0.01,
  "selectionPressure": 0.3,
  "fitnessFunction": "gc-content",
  "targetValue": 0.5,
  "outputFormat": "detailed"
}

6. Simular Filogenia

Simular la evolución de secuencias en árboles filogenéticos.

Parámetros:

  • rootSequence (obligatorio): Secuencia ancestral
  • treeStructure (opcional): Árbol en formato Newick o "random"
  • numTaxa (opcional): Número de taxones para árbol aleatorio (predeterminado: 5)
  • mutationRate (opcional): Tasa de mutación por longitud de rama (predeterminado: 0.1)
  • branchLengthVariation (opcional): Variación de longitud de rama (predeterminado: 0.2)
  • molecularClock (opcional): Usar reloj molecular (predeterminado: true)
  • substitutionModel (opcional): "JC69", "K80", "HKY85" o "GTR"
  • seed (opcional): Semilla aleatoria
  • outputFormat (opcional): "fasta", "nexus" o "phylip"

Ejemplo:

{
  "rootSequence": "ATGCGATCGATCGATCG",
  "numTaxa": 8,
  "mutationRate": 0.05,
  "substitutionModel": "K80",
  "outputFormat": "nexus"
}

Formatos de Salida

Formato FASTA

Formato FASTA estándar con encabezados descriptivos que contienen parámetros de simulación.

Estadísticas

Todas las herramientas proporcionan estadísticas detalladas que incluyen:

  • Análisis de composición de secuencias
  • Conteos y tipos de mutaciones
  • Parámetros evolutivos
  • Estadísticas de árboles filogenéticos

Formatos Especializados

  • NEXUS: Para software de análisis filogenético
  • PHYLIP: Para análisis filogenético
  • JSON: Datos estructurados con detalles completos de simulación

Casos de Uso

Aplicaciones de Investigación

  • Estudios de Evolución Molecular: Simular evolución de secuencias bajo diferentes modelos
  • Análisis Filogenético: Generar conjuntos de datos de prueba con historial evolutivo conocido
  • Pruebas de Algoritmos: Crear conjuntos de datos de referencia para herramientas bioinformáticas
  • Fines Educativos: Demostrar principios evolutivos

Desarrollo Bioinformático

  • Validación de Algoritmos: Probar herramientas de análisis de secuencias con datos controlados
  • Análisis Estadístico: Generar distribuciones nulas para pruebas estadísticas
  • Evaluación de Rendimiento: Crear conjuntos de datos de complejidad variable
  • Comparación de Métodos: Comparar herramientas en datos simulados vs reales

Detalles Técnicos

Modelos Evolutivos

  • Jukes-Cantor (JC69): Tasas de sustitución iguales
  • Kimura 2-Parámetros (K80): Sesgo de transición/transversión
  • HKY85: Frecuencias de bases desiguales con sesgo de transición
  • GTR: Modelo general de tiempo reversible

Generación de Secuencias

  • Cadenas de Markov: Selección de nucleótidos dependiente del contexto
  • Sesgo de Uso de Codones: Secuencias codificantes de proteínas realistas
  • Propiedades de Aminoácidos: Hidrofobicidad y propensión al desorden

Modelos de Mutación

  • Mutaciones Puntuales: Cambios de un solo nucleótido/aminoácido
  • Indels: Eventos de inserción y eliminación
  • Sesgo de Transición: Patrones de mutación de ADN realistas

Dependencias

  • @modelcontextprotocol/sdk: Marco MCP
  • zod: Validación de esquemas
  • typescript: Seguridad de tipos
  • Node.js: Entorno de ejecución

Contribuciones

Este servidor proporciona un marco integral para la simulación de secuencias. Las extensiones podrían incluir:

  • Modelos de sustitución adicionales
  • Simulación de recombinación
  • Modelos de genética de poblaciones
  • Restricciones estructurales
  • Tablas de uso de codones para diferentes organismos

Licencia

Consulte el archivo LICENSE para más detalles.