TITLE: Análise filogenômica
AUTHORS: Thiago Mafra Batista

[DESCRIPTION]
This tutorial will guide students and researchers in constructing phylogenetic trees from genomic data. The step-by-step process includes data acquisition, assessment of genome completeness, identification of complete and single-copy orthologs present in the genomes, followed by alignment and trimming of the alignment. Phylogenetic inference will be performed using IQ-TREE2, and finally, the tree will be visualized and edited in iTOL.

[STEPS]
SECTION: Aquisição dos genomas no formato fasta
1. A primeira etapa da construção da árvore filogenômica consiste em baixar os genomas que serão analisados. Para isso, é necessário visitar a pagina Genome do NCBI no link https://www.ncbi.nlm.nih.gov/datasets/genome/. Digite o nome das espécies de interesse e anote, em uma tabela ou planilha, os respectivos nomes e os identificadores do Genbank, que começam com GCA_. Essa tabela ou planilha será fornecida como material suplementar do artigo. Obs: lembre-se de incluir o genoma do outgroup da árvore.

Após anotar os identificadores de todos os genomas, copie e cole apenas os identificadores em um arquivo chamado accessions.txt. Um identificador por linha.

Feito isso, vamos rodar o script genbank_assembly_downloader.py para baixar os genomas cujo identificador está presente no arquivo accessions.txt

 

O script irá criar um diretório chamado downloads e dentro dele serão salvos todos os arquivos fasta correspondentes a cada genoma. Os arquivos serão nomeados com seus respectivos códigos. Sugiro renomear estes arquivos com o nome das espécies como no exemplo:

 

SECTION: Avaliação da Completude dos genomas
2. A construção da árvore será feita a partir do alinhamento múltiplo de todas as proteínas ortólogas de cópia simples (single-copies or 1:1) presentes em todos os genomas. Para identificá-las vamos utilizar o software BUSCO. Vamos rodá-lo de forma automatizada, com o script busco_run.py. 
Será necessário editar o script para ajustá-lo à sua realidade. Parâmetros como busco_lineage, download_path, output_dir e --cpu. Considerando que todos os arquivos fasta dos genomas estão no diretório atual de trabalho, rode:

 
Será criado um diretório de output contendo todos os resultados de todos os genomas. Cada diretório terá o nome das duas primeiras palavras dos arquivos fasta dos genomas. Exemplo: diretório Saccharomycops_praedatoria. Dentro de cada diretório contem um arquivo que começa com short_summary.specific*.txt. Precisamos destes arquivos. 

 
Agora copie todos os arquivos short_summary.specific*.txt para este diretório:

 
Vamos usar este diretório para criar uma imagem com todos os resultados com um script acessário do BUSCO chamado generate_plot.py. Esta imagem nos ajudará a avaliar a completude dos genomas e a decidir se é necessário excluir da análise aqueles que apresentam baixa completude.

 

Abaixo um exemplo deste resultado:

 
No exemplo acima, todos os genomas apresentam boa completude, embora Barnettozyma salicaria tenha mais ortólogos ausentes. Não é necessário excluir nenhum genoma da análise. Vamos seguir para a próxima etapa.

SECTION: Identificação dos ortólogos 1:1 presentes em todos os genomas
3. Agora que já temos a avaliação da completude de todos os genomas, vamos identificar quais são os ortólogos de cópia única (single-copies ou 1:1) presentes nos genomas. Para isso vamos utilizar o script BUSCO_phylogenomics.py. Este script identifica proteínas BUSCO que são completas e de cópia única em todas as amostras de entrada. Alternativamente, é possível considerar os dados ausentes e optar por incluir proteínas BUSCO que sejam completas e de cópia única em uma determinada porcentagem dos genomas. Cada família BUSCO é individualmente alinhada, aparada e depois concatenada para gerar um alinhamento de supermatriz.

 
Dentro do diretório chamado busco_phylo serão salvos os arquivos necessários para a construção da árvore filogenômica. 
SECTION: Construção da árvore filogenômica
4. Agora temos os arquivos prontos para a inferência filogenética. O arquivo de input para o iqtree2 será o SUPERMATRIX.phylip

Sugiro que seja utilizado o screen ou tmux para rodar o iqtree2.

 

Serão gerados diversos arquivos de output. O principal arquivo será o SUPERMATRIX.partitions.nex.treefile

Este arquivo está estruturado no formato NEXUS e deve ser visualizado e editado no iTOL.