Alinhamento com MAFFT e visualização com Aliview - lmigueel/Bioinformatica GitHub Wiki
1. Sobre
Um alinhamento múltiplo de sequências é um alinhamento de três ou mais sequências biológicas, geralmente proteínas, DNA ou RNA. De modo geral, assume-se que o conjunto de sequências de consulta que se coloca como entrada (conjunto problema) tem uma relação evolutiva pela qual compartilham uma linhagem e descendem de um ancestral comum.
O alinhamento de várias sequências é uma parte essencial de todos os fluxos de trabalho de filogenética. Ele também é utilizado para comparar possíveis modificações genéticas entre cepas de um vírus, como o SARS-Cov-2. É a etapa essencial para determinar novas variantes e criar estudos evolutivos.
MAFFT (Multiple Alignment using Fast Fourier Transform) é um programa de alinhamento de múltiplas sequências publicado em 2002. Ele pode ser usado para realizar o alinhamento de sequências de RNA. Os coronavírus são, por exemplo, vírus com um RNA de fita simples envolto em uma casca derivada das membranas celulares do hospedeiro. Detalhes sobre o algoritmo usado no MAFFT podem ser encontrados AQUI.
aliView é mais um visualizador e editor de alinhamento, mas este é provavelmente um dos mais rápidos e intuitivos de usar. Além disso, as cores são bem aplicadas.
2. Instalação
2.1 MAFFT
A instalação do MAFFT deve ser seguida segundo seu sistema operacional e pode ser encontada AQUI.
Caso queira a instalação via conda:
conda install -c bioconda mafft
Caso queira executar online, acesse AQUI.
2.2 AliView
Para baixar o AliView e seu executador, que é super simples de utilizar, basta acessar AQUI e e baixar a última versão.
3. Exemplo
Você irá precisar de um arquivo seq.fasta
contendo as suas sequências que deseja alinhar. Vamos supor que, para fins didáticos, nós tenhamos:
>seq1
TTCCCATGACTCAGCATCAGCATCTACGCACTCAGG
>seq2
ATGCCTCAGTATCAGCATATACGCACTCAGG
>seq3
AAATGATGACTCAGCATCAGCATATACGCACTCAGGTTG
Para ver as opções do MAFFT utilize mafft -h (no caso da instalação via CONDA).
Caso você decida executar um alinhamento tradicional, basta você executar:
mafft seq.fasta > seq.fasta.aln
É sabido que existe as diferenças nos algoritmos de alinhamento, como o GLOBAL (Needleman-Wunsch) ou local (Smith-Waterman). Você também pode alterar a flag de entrada para a saída em específico.
- Local: pode alinhar um conjunto de sequências contendo sequências flanqueando em torno de um domínio alinhavel. As sequências de flanqueamento são ignoradas no alinhamento de pares pelo algoritmo Smith-Waterman.
mafft --maxiterate 1000 --localpair seq.fasta > seq.fasta.local
>seq1
ttcccatgactcagcatcagcatctacgcactcagg---
>seq2
-----atgcctcagtatcagcatatacgcactcagg---
>seq3
aaatgatgactcagcatcagcatatacgcactcaggttg
- Global: assume que toda a região pode ser alinhada e tenta alinhá-los globalmente usando o algoritmo Needleman-Wunsch; ou seja, um conjunto de sequências de um domínio deve ser extraído por sequências de flanqueamento truncadas.
mafft --maxiterate 1000 --globalpair seq.fasta > seq.fasta.global
>seq1
ttcccatgactcagcatcagcatctacgcactcag---g
>seq2
-----atgcctcagtatcagcatatacgcactcag---g
>seq3
aaatgatgactcagcatcagcatatacgcactcaggttg
Além disso, a saída default é em formato .fasta
. Caso queira visualizar o alinhamento com o AliView, vamos colocar o output como sendo CLUSTAL.
mafft --maxiterate 1000 --localpair --clustalout seq.fasta > seq.fasta.clustal.local
CLUSTAL format alignment by MAFFT L-INS-i (v7.310)
seq1 ttcccatgactcagcatcagcatctacgcactcagg---
seq2 -----atgcctcagtatcagcatatacgcactcagg---
seq3 aaatgatgactcagcatcagcatatacgcactcaggttg
*** *****.******** ************
Agora basta abrir o arquivo final gerado no Aliview
e visualizar o alinhamento múltiplo (OPEN > FILE).
4. Outras opções do MAFFT
Caso queira visualizar as opções de argumentos que o MAFFT aceita, basta acessar seu manual online AQUI.
Opções que acho válido:
--treeout
Guide tree is output to the input.tree file. Default: off
--nuc
Assume the sequences are nucleotide. Default: auto
--amino
Assume the sequences are amino acid. Default: auto
--op number
Gap opening penalty at group-to-group alignment. Default: 1.53
--ep number
Offset value, which works like gap extension penalty, for group-to-group alignment. Default: 0.123
--thread Number of threads (if unsure, --thread -1) (**Opção disponível no CONDA**)
5. Agradecimentos
Gostaria de agradecer a Larisse e Larissa Depa pelo envio do tema.
Linkedin: