Obtención de los genomas
Descargamos todos los genomas (Assemblies) de cyanobacterias que se encuentran en estado complete. Estos genomas tienen que ser descargados como archivos .fna, pinchando en el botón.
una vez tenemos los genomas descargados en nuestro ordenador los tenemos que desempaquetar (untar) y descomprimir (gzip), cambiamos el nombre a la carpeta para tener bien registrado que hay en su interior:
~$ tar -xvf enome_assemblies_genome_fasta.tar
#esto genera la siguiente carpeta
~$ ncbi-genomes-2020-04-30/
# ahora descomprimimos todos los archivos .gz que hay dentro de dicha carpeta
~$ gzip -d ncbi-genomes-2020-04-30/*.gz
# le cambiamos el nombre a dicha carpeta para que reconozcamos lo que hay dentro
~$ mv ncbi-genomes-2020-04-30/ genomes_cyanos
archivo multifasta para subject de Blast
generamos un unico archivo multifasta a partir de todos los genomas que nos hemos descargado en formato fasta:
# como una sola linea en terminal
~$ for file in genomes_cyanos/*.fna; do cat $file >> cyanos.fasta; done
# aqui en un script de bash
for file in genomes_cyanos/*.fna
do
cat $file >> cyanos.fasta
done
Hacemos tblastn
~$ tblastn -query pet.fasta -subject cyanos.fasta -outfmt "6 sseqid pident qcovs sseq" > blast_result
~$ head blast_result
NZ_CP012832.1 100.000 100 MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
NC_020286.1 100.000 100 MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
NC_017038.1 100.000 100 MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
NC_017052.1 100.000 100 MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
Ahora generamos un archivo multifasta conteniendo todas las secuencias que tengan al menos un 50% de identidad, para ello usaremos awk:
~$ cat blast_result | awk '$2 > 50 {print ">"$1"\n"$3}' > blast_result.fasta
~$ head blast_result.fasta
>NZ_CP012832.1
MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
>NC_020286.1
MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
>NC_017038.1
MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
>NC_017052.1
MSKKFLTILAGLLLVVSSFFLSVSPAAAANATVKMGSDSGALVFEPSTVTIKAGEEVKWVNNKLSPHNIVFAADGVDADTAAKLSHKGLAFAAGESFTSTFTEPGTYTYYCEPHRGAGMVGKVVVE
Alineamiento de secuencias y creacion de un arbol filogenetico con MUSCLE
ahora vamos a generar un alineamiento multiple a partir del multifasta generado en el paso anterior usando el programa muscle.
~$ muscle -in blast_result.fasta -out blast_result_muscle.fasta
Por último generamos un arbol utilizando el algoritmo de clustering filogenético Neighbor-Joining:
~$ muscle -maketree -in blast_result_muscle.fasta -out cyano_tree.nw -cluster neighborjoining
Listo ya podeis subirlo a iTOL y jugar con dicha aplicación para crear un árbol filogenético que os guste.