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.


Figura 1. Descargando Assemblies de NCBI.

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.


Figura 2. Arbol filogenético Neighbor-Joining utilizando las secuencias de petE, formateado en iTOL