Uma interface interativa e atrativa para análise de genes do Arabidopsis thaliana usando Streamlit.
- Carregamento automático de arquivos FASTA
- Estatísticas gerais (total de sequências, comprimento médio, GC content, etc.)
- Distribuições visuais de comprimento e GC content
- Tabela de features extraídas
- Seleção de sequências individuais
- Contagem detalhada de nucleotídeos (A, T, C, G, N)
- Gráficos em barra e pizza
- Cálculo de GC content e AT content
- Heatmap comparativo de todas as sequências
- Preparação automática de dados
- Treinamento de modelo Random Forest
- Configuração ajustável de hiperparâmetros
- Métricas de desempenho (Acurácia, Precisão, Recall, F1-Score)
- Análise de importância de features
- Matriz de confusão
- Visualização de distribuições
- Matriz de correlação entre features
- Scatter plots interativos
- Explorador visual de features
- Estatísticas descritivas
pip install -r requirements.txtstreamlit run frontend/frontend.py- Use a barra lateral para selecionar o tipo de análise
- Carregue seu arquivo FASTA
- Explore os resultados interativamente
Agro Bio/
├── Arabidopsis_thaliana.TAIR10.dna.chromosome.1.fa # Arquivo de sequências FASTA
├── contagem-nucleotideos.py # Script de processamento
├── frontend/
│ └── frontend.py # Interface Streamlit
├── requirements.txt # Dependências Python
└── README.md # Este arquivo
O modelo de Machine Learning utiliza as seguintes features:
- length: Comprimento da sequência (bp)
- A_freq: Frequência de Adenina (%)
- T_freq: Frequência de Timina (%)
- C_freq: Frequência de Citosina (%)
- G_freq: Frequência de Guanina (%)
- GC_content: Conteúdo GC (%)
- AT_content: Conteúdo AT (%)
Na seção de Machine Learning, você pode ajustar:
- Número de árvores (Random Forest)
- Profundidade máxima das árvores
- Amostras mínimas para split
- Amostras mínimas na folha
O arquivo deve estar no formato FASTA padrão:
>sequência_1
ATCGATCGATCGATCGATCG
>sequência_2
GCTAGCTAGCTAGCTAGCTA
A interface foi desenvolvida com:
- Streamlit: Framework web interativa
- Matplotlib & Seaborn: Visualizações de alta qualidade
- Plotly: Gráficos interativos (futuro)
- CSS personalizado: Estilo profissional
- O modelo de ML classifica sequências como "Alto GC" ou "Baixo GC" (threshold: mediana)
- Os dados são normalizados antes do treinamento (StandardScaler)
- Total de 80% dos dados para treino e 20% para teste
- Random seed fixo (42) para reprodutibilidade
Antonio Pereira, 2026
Livre para uso acadêmico e de pesquisa.