Objetivo do Projeto
Criar um script em Python que:
Receba um arquivo .txt com os dados genéticos do usuário (exportado de sites como 23andMe, AncestryDNA, MyHeritage, etc.)
Utilize modelos de referência de ancestralidade (como K13, K36, Dodecad)
Calcule as proporções de ancestralidade com base nesses modelos
Gere um relatório simples em texto com o resultado
Ferramenta utilizada: admix
O admix é um software gratuito, de código aberto, feito em Python. Ele aceita arquivos genéticos no formato bruto e calcula automaticamente as proporções de ancestralidade com base em modelos prontos.
Você não precisa entender genética nem implementar equações. Basta seguir o passo a passo.
Etapa 1 – Instalar o Python
Se ainda não estiver instalado:
Acesse o site
https://www.python.org/downloads/
Baixe a versão mais recente
Durante a instalação, marque a opção “Add Python to PATH”
Etapa 2 – Instalar o admix
Abra o terminal (Prompt de Comando no Windows, Terminal no macOS ou Linux) e execute:
nginx
Copiar
Editar
pip install git+
https://github.com/stevenliuyi/admix
Esse comando instala a versão mais completa do admix, com todos os modelos de ancestralidade disponíveis.
Se preferir instalar a versão básica com poucos modelos, use:
nginx
Copiar
Editar
pip install admix
Etapa 3 – Organizar as pastas
Crie a seguinte estrutura de diretórios:
css
Copiar
Editar
projeto_ancestralidade/
├── dados/
│ └──
meudna.txt
├── resultados/
│ └──
saida.txt
└──
main.py
Coloque o arquivo genético bruto (geralmente baixado de 23andMe ou outro site) dentro da pasta dados/ com o nome
meudna.txt.
O script Python será criado no arquivo
main.py.
O resultado será salvo automaticamente na pasta resultados/.
Etapa 4 – Criar o script principal
Crie um arquivo chamado
main.py com o seguinte conteúdo:
python
Copiar
Editar
import subprocess
import os
# Caminhos de entrada e saída
arquivo_dna = "dados/
meudna.txt" # Caminho do arquivo do usuário
formato_dna = "23andme" # Formatos aceitos: 23andme, ancestry, myheritage, ftDNA, wegene
modelo = "K13" # Modelos disponíveis: K13, K36, Dodecad, MDLP, globe13, world9, etc.
# Criar a pasta de saída, se não existir
os.makedirs("resultados", exist_ok=True)
# Comando para executar o admix
comando = [
"admix",
"-f", arquivo_dna,
"-v", formato_dna,
"-m", modelo
]
# Executar o comando no terminal
print("Executando análise de ancestralidade...")
Resultado =
subprocess.run(comando, capture_output=True, text=True)
# Verificação do resultado
if resultado.returncode == 0:
with open("resultados/
saida.txt", "w", encoding="utf-8") as f:
f.write(resultado.stdout)
print("Análise concluída com sucesso. Veja o arquivo 'resultados/
saida.txt'")
else:
print("Ocorreu um erro na execução do admix:")
print(
resultado.stderr)
Etapa 5 – Executar o programa
Abra o terminal e vá até a pasta onde está o seu projeto.
Execute o programa com:
css
Copiar
Editar
python
main.py
O resultado será salvo no arquivo resultados/
saida.txt. O conteúdo desse arquivo será algo como:
makefile
Copiar
Editar
North_Atlantic: 32.1%
Baltic: 25.3%
West_Med: 18.6%
East_Med: 13.0%
Observações adicionais
O modelo “K13” é um dos mais usados e divide as origens genéticas em 13 regiões principais.
Você pode trocar o modelo para “K36”, “Dodecad”, “MDLP”, etc., Bastando mudar a variável modelo no script.
O formato do arquivo de DNA também precisa ser informado corretamente. Se o arquivo veio do MyHeritage, por exemplo, troque formato_dna = "23andme" por formato_dna = "myheritage".
Plazo de Entrega: No definido