CURSO: MÉTODOS COMPUTACIONALES EN BIOINFORMÁTICA 2023
MODULO GENOMAS DE PROCARIOTAS
#### Tema, Ensamblaje de genomas de procariotas ###
### Julio Hernández
### Conocer y practicar herramientas de ensamblaje
## Las líneas que comienzan con ## son notas o comentarios
## Las líneas sombreadas son líneas de comandos. El símbolo $ representa el prompt
**
**
## http://microbial-genomes.org/
# 2 Crear una carpeta, nombrarla ensamblaje
$ mkdir ensamblaje
## 3 Copiar un par de lecturas a la carpeta que crearon, las lecturas están en
## /home/rvazquez/ejercicios_linux/Ensambles
## Archivos: SRR52786201_1.fastq, SRR52786201_2.fastq
$ cp /home/rvazquez/ejercicios_linux/Ensambles/SRR52786201_1.fastq .
$ cp /home/rvazquez/ejercicios_linux/Ensambles/SRR52786201_2.fastq .
## También copiar el archivo GCF_002156645.1_ASM215664v1_genomic.fna a su carpeta
$ cp /home/rvazquez/ejercicios_linux/Ensambles/ GCF_002156645.1_ASM215664v1_genomic.fna .
## Explorar lecturas con: head, tail, more .
$ head SRR52786201_1.fastq
$ tail SRR52786201_1.fastq
$ more SRR52786201_1.fastq
## para salir pulsar la tecla q
## 4 contar las lecturas con: grep y wc -l # anota los resultados
$ grep -c "^@" SRR52786201_1.fastq
$ grep -c "^@" SRR52786201_2.fastq
$ grep -c "^+" SRR52786201_1.fastq
$ grep -c "^+" SRR52786201_2.fastq
## 5 Por qué es diferente el resultado?
## 6 como podría asegurar el mismo resultado?
## usa el comando wc, ¿que hace? (man wc)
$ wc -l SRR52786201_1.fastq
## Anota el resultado
$ wc -l SRR52786201_2.fastq
## ¿Que significan los resultados?
## Explorar los programas para ensamblar
$ spades -h
$ a5 -h
## Ensamblar con a5
## Tener en cuenta que no checamos los valores de calidad de las lecturas, tampoco ## hicimos limpieza
$ a5 SRR52786201_1.fastq SRR52786201_2.fastq –-end=5 --threads=6 Lja5
## Observen que a5 al inicio corre el comando # java -Xmx512m -jar '/opt/a5_miseq_linux_20160825/bin'/trimmomatic.jar SE -threads 6 -phred33 Lja5.s1/SRR52786201_1.fastq.both.fastq Lja5.s1/SRR52786201_1.fastq.trim.fastq ILLUMINACLIP:/opt/a5_miseq_linux_20160825/bin/../adapter.fasta:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
## Una vez terminado el proceso, se genera una carpeta con el nombre que le indicamos en la línea de comandos. En este caso la carpeta es: Lja5.
## Dentro de la carpeta hay varias subcarpetas con información del proceso pero los archivos que nos interesan son los tipo “*.fasta”.
## Estos programas son los que hacen la limpieza de las lecturas, es decir, eliminan adaptadores, y lecturas de mala calidad
# Se puede correr también iniciando con el comando “nohup time”
## Iniciar con el comando “nohup”, nos sirve para que podamos apagar nuestro equipo y ## que el proceso siga corriendo en el servidor. Muy común para procesos que tardan horas.
$ nohup time a5 SRR52786201_1.fastq SRR52786201_2.fastq --threads=12 a5Lj201 &> OutputSRR52786201.txt &
[1] 13739
## El valor desplegado (13739) es el numero que se le asigno al proceso con lo que es posible identificarlo cuando se revisa la actividad del servidor.
## Una vez terminado el proceso, se genera una carpeta con el nombre que le indicamos ## en la línea de comandos. En este caso la carpeta es: Lja5.
## Dentro de la carpeta hay varias subcarpetas con información del proceso pero los
## archivos que nos interesan son los tipo “*.fasta”.
## En éste ejemplo se generarán los archivos:
## Scaffold.fasta
## Contigs.fasta
## Estos son los archivos que contienen las secuencias que conforman el ensamblaje. El
## Uno de los criterios para ver cual es mejor ensamblaje será el que tenga el menor
## número de contigs.
## Explorar los ensambles (archivos fasta) con: head, tail, more.
## Para ver el numero de contigs de los ensamblajes se puede hacer con el comando “grep”
$ grep -c "^>"
## Nos despliega el nombre del archivo y el numero de contigs (recordar que cada contig ## empieza con el símbolo “>”
## Ensamblar las mismas lecturas con SPAdes
$ nohup time spades -t 12 -m 12 -1 SRR52786201_1.fastq -2 SRR52786201_2.fastq -o Lj-SPAdes &> Output-SPAdesLj.txt &
_______________________________________
## comparar ensambles con Quast
$ quast -R GCF_002156645.1_ASM215664v1_genomic.fna Lja5.contigs.fasta scaffolds.fasta -o Result
## Como resultado se genera una carpeta con el nombre que le indicamos en la línea de ## comandos (Result en este caso).
## Al interior hay otras subcarpetas con algunos estadísticos del proceso y algunos
## reportes. El que nos interesa es el archivo “report.html” que es un archivo tipo html
## que podremos visualizar en cualquier navegador.
## Mover el archivo report.html de Result a su computadora
## En las notas menciono como lo muevo con el comando scp
## Revisar el reporte abriéndolo en algún navegador
## Notas y Comandos útiles
## Descargar un archivo de una base de datos publica, por ejemplo, la base de datos de
## “Genomas” del NCBI. Para descargarlo en nuestra computadora hay que identificar en
## la base de datos la dirección del sitio WEB del archivo y esta dirección se liga al
## comando “wget”
$ sudo wget https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/002/156/645/GCF_002156645.1_ASM215664v1/GCF_002156645.1_ASM215664v1_genomic.fna.gz
## Anteponer “sudo” al comando “wget” nos permite ejecutar el comando como
## superusuario. En caso de que no corra solo con “wget”, intentar con “sudo wget”
## Descomprimir, para descomprimir archivos tipo gz:
$ zcat GCF_002156645.1_ASM215664v1_genomic.fna.gz > GCF_002156645.1_ASM215664v1_genomic.fna
## Copiar un archivo de mi laptop a la máquina del CIBNOR (se escribe en la terminal de la
## laptop)
$ scp GCF_002156645.1_ASM215664v1_genomic.fna rvazquez@200.23.162.231:/home/rvazquez/ejercicios_linux/Ensambles/.
## Copiar archivos de la máquina del CIBNOR a mi laptop
$ scp -r rvazquez@200.23.162.231:/home/rvazquez/ejercicios_linux/Ensambles/QUAST/* .
# Para checar cuantos CPUS tiene la máquina:
$ nproc --all
## Otro comando que también pueden explorar es “ln -s”
## ln - make links between files
## -s, --symbolic
## make symbolic links instead of hard links
## Con este comando (ln -s) se crean ligas simbólicas que permiten acceder a archivos
## que están fuera de nuestra carpeta si tener que dar toda la ruta del directorio. Esto es
## muy común para correr programas. Los programas, generalmente se concentran en
## una carpeta y para correrlos, se han generado ligas simbólicas que permiten correr el
## comando sin tener que dar la ruta de su lugar de origen.
### Anotación del genoma ensamblado con el
### https://github.com/tseemann/prokka
# Choose the names of the output files
# $ prokka --outdir mydir --prefix mygenome contigs.fa
$ perl5.22.1 ~/../../opt/prokka/bin/prokka --outdir Lj0a5 –prefix Lj0 Lja5.contigs.fasta
### Busqueda de una proteína de interés, corriendo un alineamiento local.
### Elaboración de una base de datos
$ mkdir BLASTP
$ cd BLASTP/
$ makeblastdb -in ../PROKKA_06222022.faa -dbtype prot -out LjOa5 -title Mi_primer_Protein_db
$ ls
#Creando la proteína de interés
$ head ../PROKKA_06222022.faa > Miproteina.faa
Corriendo el alineamiento local, con resultados tabulares
$ blastp -query Miproteina.faa -db LjOa5 -out Results_file.tsv -outfmt 6
$ blastp -query Miproteina.faa -db LjOa5 -out Results_file7.tsv -outfmt 7