Skip to content

engineer-antonio/agro-bio

Repository files navigation

🧬 Arabidopsis thaliana Gene Analysis

Uma interface interativa e atrativa para análise de genes do Arabidopsis thaliana usando Streamlit.

📋 Funcionalidades

1. 📊 Análise Exploratória

  • 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

2. 🔬 Análise de Nucleotídeos

  • 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

3. 🤖 Machine Learning

  • 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

4. 📈 Comparação de Sequências

  • Matriz de correlação entre features
  • Scatter plots interativos
  • Explorador visual de features
  • Estatísticas descritivas

🚀 Como Usar

1. Instalar dependências

pip install -r requirements.txt

2. Executar a aplicação

streamlit run frontend/frontend.py

3. Navegar pela interface

  • Use a barra lateral para selecionar o tipo de análise
  • Carregue seu arquivo FASTA
  • Explore os resultados interativamente

📁 Estrutura do Projeto

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

📊 Features Extraídas para ML

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 (%)

🔧 Configuração do Modelo

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

📈 Formato do Arquivo FASTA

O arquivo deve estar no formato FASTA padrão:

>sequência_1
ATCGATCGATCGATCGATCG
>sequência_2
GCTAGCTAGCTAGCTAGCTA

🎨 Design

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

📝 Observações

  • 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

👨‍💻 Desenvolvido por

Antonio Pereira, 2026

📄 Licença

Livre para uso acadêmico e de pesquisa.

About

Análise exploratória dos genes do Arabidopsis thaliana

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors