Anotacion del genoma - quipupe/from-assembly-to-nextstrain GitHub Wiki
RATT - Transferencia de anotación
Este programa transfiere la anotación de un genoma hacia otro. Solo utilizaremos la opción para "especies" similares.
Descargar RATT
svn co "https://svn.code.sf.net/p/ratt/code/" ratt-code
Si hay problemas instalar el paquete "subversion"
sudo apt-get install subversion
Instalar MUMMER
https://mummer4.github.io/install/install.html
Link de descarga
https://github.com/mummer4/mummer/releases/download/v4.0.0beta2/mummer-4.0.0beta2.tar.gz
Descomprimir la carpeta. Tratar de hacerlo en una carpeta que no sea home (~)
./configure --prefix=Path al directorio donde se instalará el programa en mi caso sería
./configure --prefix=/mnt/c/Users/pipor/Desktop/coronavirus/mummer-4.0.0beta2
make
make install
Configurar RATT
Entrar al archivo de configuración bashrc con el comando nano ~/.bashrc
desde cualquier ubicación. En la última línea pegar este código
export PATH=${PATH}:/mnt/c/Users/pipor/Desktop/coronavirus/mummer-4.0.0beta2
RATT_HOME=~/ratt-code
En mi caso el folder ratt-code
está en mi home (~), pero nuevamente, no lo recomiendo.
Luego actualizar el archivo de configuración con el comando source ~/.bashrc
Modificar un archivo perl
Dentro de la carpeta ratt-code
se encuentra el archivo main.ratt.pl
. Este archivo debe ser modificado en la línea 229. Para encontrarla usar nano -l main.ratt.pl
https://www.biostars.org/p/357030/
229
DICE if (defined(@{$$ref_shift{$refName}})) {
---
DEBE DECIR if (@{$$ref_shift{$refName}}) {
Sobre-escribir el archivo usando Ctrl+O
y manteniendo el nombre main.ratt.pl
Ejecutar RATT
Crea una carpeta donde debes poner el genoma que quieres anotar. Yo la llamé test
. El genoma tiene que estar en formato fasta. Como ejemplo usaré el genoma de-novo que obtuve a partir de los reads que subió el INS en BioProject
https://trace.ncbi.nlm.nih.gov/Traces/sra/?run=SRR11508492
También necesitamos un archivo con la anotación del genoma. Este archivo tiene que estar en formar EMBL. Y debe ir en una carpeta a la que llamé embl
. Lo obtuve desde el ENA usando el código de acceso MN908947.3 https://www.ebi.ac.uk/ena/browser/view/MN908947 A este archivo le puse de nombre reference.embl
RATT dará problemas si el archivo FASTA tiene en el nombre un patrón como
>hCoV-19/Peru/INS-006/2020|EPI_ISL_489838|2020-03-11
recomiendo cambiar el nombre usando sed o algo parecido
>hCoV_19_Peru_INS_006_2020_EPI_ISL_489838_2020_03_11
o usar un nombre más sencillo como >001
y tener en una tabla anexa los nombres completos por muestra, esto va a facilitar mucho las cosas.
Además estoy trabajando desde la terminal WSL y muchas veces mis archivos tenían errores por que vienen del editor de texto de Windows (notepad o notepad++). Por ello asegurarse de que estemos en formato linux con el programa dos2unix
, si no se encuentra instalarlo desde la terminal.
Estoy dentro del folder 03 por eso uso los dos puntos (..)
El archivo sh llama al archivo perl que modificamos anteriormente.
La carpeta con el genoma de referencia es embl
El nombre de mi archivo es denovo.fasta
El nombre del análisis será 03
El tipo de análisis es Strain, para cepas muy cercanas, pero creo que se podría usar Assembly, ver al final.
../start.ratt.sh ../embl/ denovo.fasta 03 Strain
El análisis creará varios archivos
03.Denovo_re_assembly_Peru_SRR11508492.Report.gff
03.Denovo_re_assembly_Peru_SRR11508492.tmp2.embl
Reference.6787.fasta
nucmer.03.delta
query.6787
03.Denovo_re_assembly_Peru_SRR11508492.Report.txt
03.reference.NOTTransfered.embl
Sequences
nucmer.03.filter.coords
03.Denovo_re_assembly_Peru_SRR11508492.embl
Query
denovo.fasta
nucmer.03.filter.delta
03.Denovo_re_assembly_Peru_SRR11508492.final.embl
Reference
nucmer.03.coords
nucmer.03.snp
De estos, el genoma anotado nuevo se llama 03.Denovo_re_assembly_Peru_SRR11508492.final.embl
. Este genoma se carga en Geneious o Artemis (revisar CLC)
Manuales de RATT
http://ratt.sourceforge.net/example.html
https://vcru.wisc.edu/simonlab/bioinformatics/programs/ratt/Documentation.html
Genoma de referencia del virus Genbank https://www.ncbi.nlm.nih.gov/nuccore/MN908947.3
RefSeq https://www.ncbi.nlm.nih.gov/nuccore/1798174254
Parámetros de RATT
Directory name with
embl-annotation files - This directory contains all the embl files that should be transfered to the query.
Query.fasta - A multifasta file to, which the annotation will be mapped.
ResultName - The prefix you wish to give to each result file.
Transfer type - Following parameters can be used (see below for the different used sets)
(i) Assembly: Transfer between different assemblies.
(ii) Assembly.Repetitive: As before, but the genome is extremely repetitive.
This should be run, only if the parameter Assembly doesn't return good results (misses too many annotation tags).
(iii) Strain: Transfer between strains. Similarity is between 95-99%.
(iv) Strain.Repetitive: As before, but the genome is extremely repetitive.
This should be run, only if the parameter Strain doesn't return good results (misses too many annotation tags).
(v) Species: Transfer between species. Similarity is between 50-94%.
(vi) Species.Repetitive: As before, but the genome is extremely repetitive.
This should be run, only if the parameter Species doesn't return good results (misses too many annotation tags).
(vii) Multiple: When many annotated strains are used as a reference, and you assume the newly sequenced genome has many insertions
compared to the strains in the query (reference?). This parameter will use the best regions of each reference strain to transfer tags.
(viii)Free: The user sets all parameter individually.
OPCIONAL: Script para anotar varios genomas a la vez.
- Renombrar los archivos. Se renombrarán según order alfabético.
En mi caso tengo dos archivos 001.blabla.fasta y 002.blabla.fasta
Les estoy quitando la extensión
fasta
y el resultado será 001 y 002
#!/bin/bash
a=1
for i in *.fasta; do
new=$(printf "%03d" "$a")
mv -i -- "$i" "$new"
let a=a+1
done
Crear una carpeta annotation
y copia estos archivos ahí. Crea en la carpeta anterior a annotation
una lista con los nombres de los archivos, en mi caso la lista sería
ls | sed '$ d' > lista.txt #Remueve la última línea
001
002
Dentro de annotation transforma los archivos a unix, si es que no trabajas en ese sistema
dos2unix *
Remueve caracteres extraños como | \ / -
usando sed
sed -i 's/[-|/]/_/g' *
head -1 * #Checa que los nombres no tengan caracteres extraños
Crear carpetas con los nombres de los archivos, por ejemplo la carpeta se llamará 001_ant
for i in $(cat lista.txt);do mkdir "$i"_ant;done
Mover los archivos a las nuevas carpetas creadas
for i in $(cat lista.txt); do mv $i "$i"_ant; done
Ejecutar el comando de RATT
Buscará los nombres 001 y 002 en la lista, luego entrará a la carpeta 001_ant y ahí ejecutará RATT, uso el " " cuando quiero decirle que lea la variable como texto. Luego sale de la primera carpeta y ejecuta el código de nuevo.
for i in $(cat lista.txt);do cd "$i"_ant; ../../../ratt-code/start.ratt.sh ../../../ratt-code/embl/ $i "$i" Assembly; cd ../; done
OPCIONAL 2: Anotando multi-fastas con RATT
Tener las secuencias por cada genoma puede ser sencillo al principio pero luego tendremos multi-fastas. Para ello lo mejor es usar faSplit http://hgdownload.cse.ucsc.edu/admin/exe/linux.x86_64/faSplit
El programa funciona de la siguiente manera
Ejecutar, por nombre, nombre del multi-fasta, número de archivos en este caso grupos de a 1 o sea cada secuencia individualmente
./faSplit byname gisaid_hcov-19_2020_07_16_02.fasta 1
Ojo que el formato de salida es .fa
y esto debe ser cambiado en el script que modifica los nombres
Crea una nueva carpeta mkdir final
y luego transfiere los archivos anotados a esa carpeta cp 0*/*.final.embl final/
los archivos tienen este nombre 001.hCoV_19_Peru_010_2020_EPI_ISL_415787_2020_03_10.final.embl
Las anotaciones se muestran en Geneious