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.
- Arquivo:
Arabidopsis_thaliana.TAIR10.dna.chromosome.1.fa - Tipo: Sequência de DNA de Arabidopsis thaliana (Cromossomo 1)
- Tamanho: 30.427.671 bases
| 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% |
- GC Content: 35.68% (importante para estabilidade da estrutura de DNA)
- AT Content: 63.78%
- AA: 11.57%
- TT: 11.54%
- AT: 9.22%
- TA: 7.68%
- GA: 6.34%
- TC: 6.34%
- CA: 6.32%
- TG: 6.31%
- CT: 5.91%
- AG: 5.90%
- 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
-
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
- 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
- Matriz de correlação entre features
- Scatter plot interativo com exploração de features
- Estatísticas descritivas (mean, std, min, max, etc.)
As seguintes características foram extraídas para modelos de Machine Learning:
- length: Comprimento da sequência (bp)
- A_freq: Frequência de Adenina (0-1)
- T_freq: Frequência de Timina (0-1)
- C_freq: Frequência de Citosina (0-1)
- G_freq: Frequência de Guanina (0-1)
- GC_content: Porcentagem de GC (%)
- AT_content: Porcentagem de AT (%)
pip install -r requirements.txtstreamlit run frontend/frontend.pyOu usar um dos scripts fornecidos:
- Windows (PowerShell):
./run_streamlit.ps1 - Windows (Batch):
run_streamlit.bat - Geral:
python run_streamlit.py(se existir)
A aplicação estará disponível em: http://localhost:8501
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
- 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
- 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
- Adaptive test_size para modelos de ML
- Avisos quando há poucas amostras
- Tratamento especial para casos com 1 sequência
- 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
- Estrutura Python corrigida e validada
- Todos os blocos condicionais funcionando corretamente
- Sintaxe verificada com py_compile
- Na sidebar, selecione "📊 Análise Exploratória"
- Verifique automaticamente o arquivo local
- Visualize histogramas de distribuição e estatísticas gerais
- Selecione "🔬 Análise de Nucleotídeos"
- Navegue por diferentes sequências com o selectbox
- Visualize gráficos de contagem, proporção e heatmaps
- Explore dinucleotídeos e estatísticas avançadas
- Selecione "🤖 Machine Learning"
- Ajuste parâmetros do Random Forest
- Clique em "Treinar Modelo"
- Visualize resultados, importância de features e matriz de confusão
- Selecione "📈 Comparação de Sequências"
- Explore a matriz de correlação
- Use o explorador interativo para comparar features
- Indica moderada estabilidade de DNA
- Plantas tipicamente têm ~40% GC
- Arabidopsis tem preferência por AT (63.78%)
- 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
- 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
- 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.