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 secuenciagcContent(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 reproducibilidadoutputFormat(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 secuenciacount(opcional): Número de secuencias (predeterminado: 1)model(opcional): "random", "hydrophobic-bias" o "disorder-prone"composition(opcional): Frecuencias de aminoácidos personalizadasseed(opcional): Semilla aleatoriaoutputFormat(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 lecturasreadLength(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 reproducibilidadoutputFormat(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 entradasequenceType(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 aleatoriaoutputFormat(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 inicialgenerations(obligatorio): Número de generacionespopulationSize(obligatorio): Tamaño de la poblaciónmutationRate(obligatorio): Tasa de mutación por generaciónselectionPressure(opcional): Fuerza de selección (0-1)fitnessFunction(opcional): "gc-content", "length", "hydrophobic" o "custom"targetValue(opcional): Valor objetivo para la función de aptitudtrackLineages(opcional): Seguimiento de linajes individualesseed(opcional): Semilla aleatoriaoutputFormat(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 ancestraltreeStructure(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 aleatoriaoutputFormat(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.