MCP Sequence Simulation Server

Simule sequências de DNA e aminoácidos usando modelos e algoritmos evolucionários.

Documentação

Servidor de Simulação de Sequências MCP

Um servidor MCP (Model Context Protocol) para simular sequências de DNA e aminoácidos usando vários modelos e algoritmos evolutivos. Este servidor fornece ferramentas poderosas para geração de sequências, simulação de mutações, modelagem evolutiva e análise filogenética.

Recursos

🧬 Geração de Sequências de DNA

  • Geração Aleatória de DNA: Gere sequências com conteúdo GC especificado
  • Modelos de Cadeia de Markov: Geração de sequências dependentes do contexto
  • Geração com Viés de Códon: Sequências codificadoras de proteínas realistas
  • Parâmetros Personalizáveis: Comprimento, conteúdo GC, semente para reprodutibilidade

📊 Simulação de Sequenciamento FASTQ

  • Simulação de Leituras NGS: Gere leituras de sequenciamento de próxima geração realistas
  • Modelos Específicos por Plataforma: Modelos de qualidade Illumina, 454, Ion Torrent e PacBio
  • Suporte Paired-End: Leituras de sequenciamento single-end e paired-end
  • Modelagem de Erros: Taxas de erro de sequenciamento configuráveis com escores de qualidade realistas
  • Controle de Cobertura: Gere leituras para atingir profundidades de cobertura especificadas
  • Baseado em NEAT: Implementação inspirada na metodologia NEAT publicada

🧭 Geração de Sequências de Proteínas

  • Geração Aleatória de Proteínas: Distribuição uniforme de aminoácidos
  • Viés Hidrofóbico: Sequências semelhantes a proteínas de membrana
  • Propenso a Desordem: Sequências de proteínas intrinsecamente desordenadas
  • Composição Personalizada: Frequências de aminoácidos definidas pelo usuário

🔬 Mutação de Sequências

  • Mutações por Substituição: Mutações pontuais com viés de transição/transversão
  • Eventos de Inserção/Deleção: Mutações indel
  • Múltiplas Iterações: Acompanhe mudanças ao longo do tempo
  • DNA e Proteínas: Suporte para sequências de nucleotídeos e aminoácidos

🌳 Simulação Evolutiva

  • Evolução de Populações: Simule populações ao longo de gerações
  • Pressão de Seleção: Funções de aptidão configuráveis
  • Rastreamento de Linhagens: Siga caminhos evolutivos individuais
  • Funções de Aptidão: Alvos de conteúdo GC, comprimento, hidrofobicidade

🌲 Simulação Filogenética

  • Evolução Baseada em Árvores: Simule sequências em árvores filogenéticas
  • Múltiplos Modelos de Substituição: JC69, K80, HKY85, GTR
  • Relógio Molecular: Taxas evolutivas uniformes ou variáveis
  • Múltiplos Formatos de Saída: FASTA, NEXUS, PHYLIP

Instalação

npm install
npm run build

Uso

Com Claude Code

./start-claude.sh

Configuração Manual

Adicione à sua configuração MCP do Claude Code:

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

Ferramentas Disponíveis

1. Gerar Sequência de DNA

Gere sequências de DNA aleatórias com vários modelos.

Parâmetros:

  • length (obrigatório): Comprimento da sequência
  • gcContent (opcional): Proporção de conteúdo GC (0-1, padrão: 0.5)
  • count (opcional): Número de sequências (padrão: 1)
  • model (opcional): "random", "markov" ou "codon-biased"
  • seed (opcional): Semente aleatória para reprodutibilidade
  • outputFormat (opcional): "fasta" ou "plain"

Exemplo:

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

2. Gerar Sequência de Proteína

Gere sequências de proteínas aleatórias com vários vieses.

Parâmetros:

  • length (obrigatório): Comprimento da sequência
  • count (opcional): Número de sequências (padrão: 1)
  • model (opcional): "random", "hydrophobic-bias" ou "disorder-prone"
  • composition (opcional): Frequências de aminoácidos personalizadas
  • seed (opcional): Semente aleatória
  • outputFormat (opcional): "fasta" ou "plain"

Exemplo:

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

3. Simular Arquivo FASTQ

Simule leituras de sequenciamento FASTQ com escores de qualidade realistas e modelos de erro.

Parâmetros:

  • referenceSequence (obrigatório): Sequência de DNA de referência para gerar leituras
  • readLength (obrigatório): Comprimento de cada leitura de sequenciamento (50-300 pb)
  • coverage (obrigatório): Profundidade de cobertura alvo do sequenciamento (1-1000x)
  • readType (opcional): "single-end" ou "paired-end" (padrão: "single-end")
  • insertSize (opcional): Tamanho médio do inserto para leituras paired-end (padrão: 300)
  • insertSizeStd (opcional): Desvio padrão do tamanho do inserto (padrão: 50)
  • errorRate (opcional): Taxa de erro de chamada de base 0-0.1 (padrão: 0.01)
  • qualityModel (opcional): "illumina", "454", "ion-torrent" ou "pacbio" (padrão: "illumina")
  • mutationRate (opcional): Taxa de mutações verdadeiras 0-0.05 (padrão: 0.001)
  • seed (opcional): Semente aleatória para reprodutibilidade
  • outputFormat (opcional): "fastq" ou "json" (padrão: "fastq")

Exemplo:

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

Citação: Baseado em Stephens et al. (2016) PLOS ONE 11(11): e0167047.

4. Mutar Sequência

Aplique mutações em sequências existentes.

Parâmetros:

  • sequence (obrigatório): Sequência de entrada
  • sequenceType (obrigatório): "dna" ou "protein"
  • substitutionRate (opcional): Taxa de substituição (padrão: 0.01)
  • insertionRate (opcional): Taxa de inserção (padrão: 0.001)
  • deletionRate (opcional): Taxa de deleção (padrão: 0.001)
  • transitionBias (opcional): Viés de transição vs transversão para DNA (padrão: 2.0)
  • iterations (opcional): Número de rodadas de mutação (padrão: 1)
  • seed (opcional): Semente aleatória
  • outputFormat (opcional): "fasta" ou "plain"

Exemplo:

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

5. Evoluir Sequência

Simule a evolução de sequências ao longo de múltiplas gerações.

Parâmetros:

  • sequence (obrigatório): Sequência inicial
  • generations (obrigatório): Número de gerações
  • populationSize (obrigatório): Tamanho da população
  • mutationRate (obrigatório): Taxa de mutação por geração
  • selectionPressure (opcional): Força de seleção (0-1)
  • fitnessFunction (opcional): "gc-content", "length", "hydrophobic" ou "custom"
  • targetValue (opcional): Valor alvo para a função de aptidão
  • trackLineages (opcional): Rastrear linhagens individuais
  • seed (opcional): Semente aleatória
  • outputFormat (opcional): "summary", "detailed" ou "fasta"

Exemplo:

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

6. Simular Filogenia

Simule a evolução de sequências em árvores filogenéticas.

Parâmetros:

  • rootSequence (obrigatório): Sequência ancestral
  • treeStructure (opcional): Árvore em formato Newick ou "random"
  • numTaxa (opcional): Número de táxons para árvore aleatória (padrão: 5)
  • mutationRate (opcional): Taxa de mutação por comprimento de ramo (padrão: 0.1)
  • branchLengthVariation (opcional): Variação do comprimento do ramo (padrão: 0.2)
  • molecularClock (opcional): Usar relógio molecular (padrão: true)
  • substitutionModel (opcional): "JC69", "K80", "HKY85" ou "GTR"
  • seed (opcional): Semente aleatória
  • outputFormat (opcional): "fasta", "nexus" ou "phylip"

Exemplo:

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

Formatos de Saída

Formato FASTA

Formato FASTA padrão com cabeçalhos descritivos contendo parâmetros de simulação.

Estatísticas

Todas as ferramentas fornecem estatísticas detalhadas, incluindo:

  • Análise de composição de sequências
  • Contagens e tipos de mutações
  • Parâmetros evolutivos
  • Estatísticas de árvores filogenéticas

Formatos Especializados

  • NEXUS: Para software de análise filogenética
  • PHYLIP: Para análise filogenética
  • JSON: Dados estruturados com detalhes completos da simulação

Casos de Uso

Aplicações de Pesquisa

  • Estudos de Evolução Molecular: Simule a evolução de sequências sob diferentes modelos
  • Análise Filogenética: Gere conjuntos de dados de teste com histórico evolutivo conhecido
  • Teste de Algoritmos: Crie conjuntos de dados de referência para ferramentas de bioinformática
  • Fins Educacionais: Demonstre princípios evolutivos

Desenvolvimento em Bioinformática

  • Validação de Algoritmos: Teste ferramentas de análise de sequências com dados controlados
  • Análise Estatística: Gere distribuições nulas para testes estatísticos
  • Benchmarking de Desempenho: Crie conjuntos de dados de complexidade variada
  • Comparação de Métodos: Compare ferramentas em dados simulados vs reais

Detalhes Técnicos

Modelos Evolutivos

  • Jukes-Cantor (JC69): Taxas de substituição iguais
  • Kimura 2-Parâmetros (K80): Viés de transição/transversão
  • HKY85: Frequências de bases desiguais com viés de transição
  • GTR: Modelo geral de tempo reversível

Geração de Sequências

  • Cadeias de Markov: Seleção de nucleotídeos dependente do contexto
  • Viés de Uso de Códons: Sequências codificadoras de proteínas realistas
  • Propriedades de Aminoácidos: Hidrofobicidade e propensão à desordem

Modelos de Mutação

  • Mutações Pontuais: Mudanças de nucleotídeo/aminoácido únicos
  • Indels: Eventos de inserção e deleção
  • Viés de Transição: Padrões realistas de mutação de DNA

Dependências

  • @modelcontextprotocol/sdk: Framework MCP
  • zod: Validação de esquemas
  • typescript: Segurança de tipos
  • Node.js: Ambiente de execução

Contribuindo

Este servidor fornece uma estrutura abrangente para simulação de sequências. Extensões poderiam incluir:

  • Modelos de substituição adicionais
  • Simulação de recombinação
  • Modelos de genética populacional
  • Restrições estruturais
  • Tabelas de uso de códons para diferentes organismos

Licença

Consulte o arquivo LICENSE para detalhes.