# Práctica: Ensambles de genomas pequeños
**Julio Antonio Hernández González**
jahernan04@cibnor.mx
## Obtención de las lecturas
### 1. Crear y navegar al directorio de ensambles
```bash
$ mkdir 1Ensambles
$ cd 1Ensambles
```
#### Copiar los archivos de secuencias al directorio actual
```bash
$ cp /home/rvazquez/JulioHernadezTemp/Pp16CC/16CC_S23_L001_R* .
```
### 2. Ensamblar las lecturas con a5-miseq
Verificar la instalación y opciones de a5
```
$ a5 -h
```
#### Ejecutar el ensamble con a5 utilizando 8 hilos (threads)
Nota: nohup permite que el proceso continúe ejecutándose en segundo plano incluso si se cierra la terminal.
```bash
$ nohup a5 --threads=8 16CC_S23_L001_R1_001.fastq.gz 16CC_S23_L001_R2_001.fastq.gz Pp16CC && date >> Ensamble_a5.log &
```
### 3. Checar el resultado del ensamble.
Verifica el archivo de salida del ensamble con A5 (nohup.out).
## Elaborar el ensamble con SPAdes.
#### Enlace a la documentación de Trimmomatic
http://www.usadellab.org/cms/?page=trimmomatic
**Checar el archivo de salida del ensamble con a5 (nohup.out).**
Para emplear al comando de ejemplo para ejecutar Trimmomatic:
```bash
$ more Ensamble_a5.log
# java -jar trimmomatic-0.39.jar PE input_forward.fq.gz input_reverse.fq.gz output_forward_paired.fq.gz output_forward_unpaired.fq.gz output_reverse_paired.fq.gz output_reverse_unpaired.fq.gz ILLUMINACLIP:TruSeq3-PE.fa:2:30:10:2:True LEADING:3 TRAILING:3 MINLEN:36
```
#### Comando para ejecutar Trimmomatic desde empleando lectturas no pareadas.
```bash
$ java -Xmx512m -jar '/opt/a5_miseq_linux_20160825/bin/trimmomatic.jar' SE -threads 32 -phred33 Pp16CC.s1/16CC_S23_L001_R1_001.fastq.gz.both.fastq Pp16CC.s1/16CC_S23_L001_R1_001.fastq.gz.trim.fastq ILLUMINACLIP:/opt/a5_miseq_linux_20160825/bin/../adapter.fasta:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
```
### 4. Ejecutar Trimmomatic para datos pareados (paired-end)
```bash
$ java -Xmx512m -jar /opt/a5_miseq_linux_20160825/bin/trimmomatic.jar PE -threads 8 -phred33 16CC_S23_L001_R1_001.fastq.gz 16CC_S23_L001_R2_001.fastq.gz 16CC_OP_R1.fq.gz 16CC_OU_R1.fq.gz 16CC_OP_R2.fq.gz 16CC_OU_R2.fq.gz ILLUMINACLIP:/opt/a5_miseq_linux_20160825/bin/../adapter.fasta:2:30:10 LEADING:3 TRAILING:3 SLIDINGWINDOW:4:15 MINLEN:36
```
#### Verificar las primeras líneas del archivo de salida de Trimmomatic, que contienen las lecturas.
```bash
$ zcat 16CC_OP_R1.fq.gz | head
```
### 5. Ensamble empleando SPAdes.
Enlace a la documentación del programa para ensamblar, SPAdes.
https://github.com/ablab/spades
#### Comando ejemplo para ejecutar SPAdes:
```
# spades.py -1 illumina_R1.fastq.gz -2 illumina_R2.fastq.gz --careful --cov-cutoff auto -o spades_assembly_all_illumina
```
#### Verificar la instalación y opciones de SPAdes
```bash
$ spades -h
```
### Ejecutar SPAdes utilizando Python 3.5
```bash
$ python3.5 /home/aescobar/shared_envs/metawrap-env/bin/spades.py -1 16CC_OP_R1.fq.gz -2 16CC_OP_R2.fq.gz --threads 32 -o Pp16CC35 && date # Si corre.
# o
$ nohup python3.5 /home/aescobar/shared_envs/metawrap-env/bin/spades.py -1 16CC_OP_R1.fq.gz -2 16CC_OP_R2.fq.gz --threads 8 --careful --cov-cutoff auto -o Pp16CC35 &
```
### Navegar al directorio de salida de SPAdes
```bash
$ cd Pp16CC35
```
### Contar el número de secuencias ensambladas en el archivo scaffolds.fasta
```bash
$ grep -c "^>" *.fasta
$ grep -c "^>" SpadesScaffolds.fasta
```
### 6. Análisis de estadísticas básicas del ensamble
Observar las estadisticas básicas de los ensambles - comparar
```bash
# ruta ./opt/scripts/basic_stats2.pl
# basic_stats2.pl SpadesScaffolds.fasta
$ /home/aescobar/scripts/stats.pl SpadesScaffolds.fasta
```
#### Nota: Buscar el script de SPAdes en el sistema
```
$ find -iname spades.py
# ./home/aescobar/shared_envs/metawrap-env/share/spades-3.13.0-0/bin/spades.py
# ./home/aescobar/shared_envs/metawrap-env/bin/spades.py
# ./home/aescobar/miniconda2/pkgs/spades-3.13.0-0/share/spades-3.13.0-0/bin/spades.py
# ./home/aescobar/miniconda2/pkgs/spades-3.13.0-0/bin/spades.py
```
## Anotar los genomas ensamblados
### 7. Crear y navegar al directorio de anotación
Emplear (cd ..) para salirse de las carpetas.
```bash
$ mkdir 3Annotation
$ cd 3Annotation/
```
#### Crear un enlace simbólico al archivo scaffolds.fasta de SPAdes
```
$ ln -s ../2Spades/Pp16CC35/scaffolds.fasta SpadesScaffolds.fasta
```
#### Enlace a la documentación de Prokka
https://github.com/tseemann/prokka
#### Ejemplo de uso avanzado de Prokka:
```
# prokka --kingdom Archaea --outdir mydir --genus Pyrococcus --locustag PYCC
```
#### Verificar la instalación y opciones de Prokka
```
$ perl5.22.1 /home/aescobar/shared_envs/metawrap-env/bin/prokka -h
```
### Ejecutar Prokka para anotar el ensamblaje del genoma de la especie *Pediococcus pentosaceus*
```bash
$ nohup perl5.22.1 /home/aescobar/shared_envs/metawrap-env/bin/prokka --outdir Pp16CC --genus Pediococcus --strain Pp16CC --prefix Pp16CC SpadesScaffolds.fasta &
```
### 8. Observar resultados y comparar archivos.