Skip to content

Latest commit

 

History

History
243 lines (187 loc) · 7.37 KB

File metadata and controls

243 lines (187 loc) · 7.37 KB

🧬 Análise Completa de Nucleotídeos - Arabidopsis thaliana

Resumo das Melhorias Implementadas

Este documento descreve a análise de nucleotídeos e os gráficos interativos criados no Streamlit para o arquivo Arabidopsis_thaliana.TAIR10.dna.chromosome.1.fa.


📊 Dados Analisados

Informações do Arquivo

  • Arquivo: Arabidopsis_thaliana.TAIR10.dna.chromosome.1.fa
  • Tipo: Sequência de DNA de Arabidopsis thaliana (Cromossomo 1)
  • Tamanho: 30.427.671 bases

Estatísticas de Nucleotídeos

Nucleotídeo Contagem Frequência
Adenina (A) 9.709.674 31.91%
Timina (T) 9.697.113 31.87%
Citosina (C) 5.435.374 17.86%
Guanina (G) 5.421.151 17.82%
Ambíguo (N) 163.958 0.54%

Conteúdo GC e AT

  • GC Content: 35.68% (importante para estabilidade da estrutura de DNA)
  • AT Content: 63.78%

Dinucleotídeos Mais Frequentes (Top 10)

  1. AA: 11.57%
  2. TT: 11.54%
  3. AT: 9.22%
  4. TA: 7.68%
  5. GA: 6.34%
  6. TC: 6.34%
  7. CA: 6.32%
  8. TG: 6.31%
  9. CT: 5.91%
  10. AG: 5.90%

🎨 Gráficos e Visualizações Implementadas

1. Análise Exploratória

  • Distribuição de comprimento de sequências
  • Distribuição de GC Content
  • Estatísticas gerais (total de sequências, comprimento médio, etc.)
  • Tabela de features extraídas

2. Análise Detalhada de Nucleotídeos

  • Gráficos de Contagem:

    • Bar chart com contagem absoluta de cada nucleotídeo (A, T, C, G)
    • Pie chart com proporção percentual de nucleotídeos
  • Análises Estatísticas Avançadas:

    • Box Plot: Distribuição de frequência de cada nucleotídeo em todas as sequências
    • Violin Plot: Distribuição de GC Content e AT Content
    • Heatmap: Frequência de nucleotídeos em múltiplas sequências
    • Distribuição Acumulada: Gráficos cumulativos para comprimento e GC Content
  • Análise de Dinucleotídeos:

    • Bar chart dos 12 dinucleotídeos mais frequentes
    • Frequência e distribuição de pares de nucleotídeos
  • Tabela de Estatísticas:

    • Total de sequências
    • Comprimento (mínimo, máximo, médio)
    • Frequência média de cada nucleotídeo
    • GC e AT Content médios

3. Machine Learning

  • Treinamento de modelo Random Forest para classificação
  • Parametrização dinâmica do modelo
  • Métricas de desempenho (Acurácia, Precisão, Recall, F1-Score)
  • Feature Importance (importância das características)
  • Matriz de Confusão
  • Histograma de distribuição de GC Content por classe

4. Análise Comparativa

  • Matriz de correlação entre features
  • Scatter plot interativo com exploração de features
  • Estatísticas descritivas (mean, std, min, max, etc.)

⚙️ Features Programadas para ML

As seguintes características foram extraídas para modelos de Machine Learning:

  1. length: Comprimento da sequência (bp)
  2. A_freq: Frequência de Adenina (0-1)
  3. T_freq: Frequência de Timina (0-1)
  4. C_freq: Frequência de Citosina (0-1)
  5. G_freq: Frequência de Guanina (0-1)
  6. GC_content: Porcentagem de GC (%)
  7. AT_content: Porcentagem de AT (%)

🚀 Como Executar

Instalação de Dependências

pip install -r requirements.txt

Executar a Aplicação

streamlit run frontend/frontend.py

Ou usar um dos scripts fornecidos:

  • Windows (PowerShell): ./run_streamlit.ps1
  • Windows (Batch): run_streamlit.bat
  • Geral: python run_streamlit.py (se existir)

URL Local

A aplicação estará disponível em: http://localhost:8501


📁 Arquivos do Projeto

Agro Bio/
├── frontend/
│   └── frontend.py              # Aplicação Streamlit (ATUALIZADO)
├── analyzer.py                  # Classe de análise standalone
├── contagem-nucleotideos.py     # Script básico de contagem
├── test_analysis.py             # Script de teste rápido
├── run_app.py                   # Script para rodar aplicação
├── run_streamlit.bat            # Script batch para Windows
├── run_streamlit.ps1            # Script PowerShell para Windows
├── validar_ambiente.py          # Validação de ambiente
├── requirements.txt             # Dependências Python
├── README.md                    # Documentação principal
└── Arabidopsis_thaliana.TAIR10.dna.chromosome.1.fa  # Arquivo FASTA

🎯 Melhorias Implementadas nesta Sessão

1. Carregamento Automático do Arquivo Local

  • Todas as seções verificam se o arquivo FASTA local existe
  • Opção para usar arquivo local por padrão com checkbox
  • Fallback para upload de arquivo caso contrário

2. Análises Estatísticas Avançadas

  • Box plots e violin plots para distribuição de nucleotídeos
  • Gráficos de distribuição acumulada
  • Análise de dinucleotídeos com frequência

3. Tratamento de Dados Pequenos

  • Adaptive test_size para modelos de ML
  • Avisos quando há poucas amostras
  • Tratamento especial para casos com 1 sequência

4. Melhorias na Interface

  • Layout responsivo com colunas dinâmicas
  • Checkbox unificado para selecionar arquivo
  • Função auxiliar get_fasta_source() para consistência
  • Melhor organização de subseções

5. Correções de Indentação

  • Estrutura Python corrigida e validada
  • Todos os blocos condicionais funcionando corretamente
  • Sintaxe verificada com py_compile

📈 Exemplos de Uso

Análise Exploratória

  1. Na sidebar, selecione "📊 Análise Exploratória"
  2. Verifique automaticamente o arquivo local
  3. Visualize histogramas de distribuição e estatísticas gerais

Análise de Nucleotídeos

  1. Selecione "🔬 Análise de Nucleotídeos"
  2. Navegue por diferentes sequências com o selectbox
  3. Visualize gráficos de contagem, proporção e heatmaps
  4. Explore dinucleotídeos e estatísticas avançadas

Machine Learning

  1. Selecione "🤖 Machine Learning"
  2. Ajuste parâmetros do Random Forest
  3. Clique em "Treinar Modelo"
  4. Visualize resultados, importância de features e matriz de confusão

Comparação

  1. Selecione "📈 Comparação de Sequências"
  2. Explore a matriz de correlação
  3. Use o explorador interativo para comparar features

🔬 Interpretação Biológica

GC Content (35.68%)

  • Indica moderada estabilidade de DNA
  • Plantas tipicamente têm ~40% GC
  • Arabidopsis tem preferência por AT (63.78%)

Dinucleotídeos

  • Padrão AA/TT elevado sugere regiões homopóliméricas
  • Proporção de AT > GC reflete características do genoma
  • Frequências são úteis para estudos de codon bias

📝 Notas Técnicas

  • Linguagem: Python 3.8+
  • Framework Web: Streamlit
  • Análise de Dados: BioPython, Pandas, NumPy
  • Visualizações: Matplotlib, Seaborn
  • ML: Scikit-learn
  • Cache: Streamlit cache_data para otimização

✅ Status da Implementação

  • Carregamento de arquivo FASTA
  • Contagem de nucleotídeos
  • Cálculo de GC/AT Content
  • Gráficos básicos (bar, pie, heatmap)
  • Box plots e violin plots
  • Análise de dinucleotídeos
  • Distribuição acumulada
  • Machine Learning (Random Forest)
  • Feature Importance
  • Análise Comparativa
  • Matriz de Correlação

Data de Atualização: 28 de Março de 2026 Desenvolvido por: Antonio Pereira

Para mais informações, consulte a documentação principal em README.md.