3. Ensamble de genomas

La secuenciación de nueva generación (NGS) genera una gran cantidad de pequeñas secuencias o lecturas (reads) de 100-400 pb. Estas lecturas deben ensamblarse para formar secuencias largas (contigs) con las que se puede armar un cromosoma o genoma (scaffold).

El ensamblador que usemos depende de que plataforma usamos para secuenciar, ya que ellos están diseñados con un tipo de secuencias en específico. Pero generalmente, hay que diferenciar si son secuencias pareadas (pair-end) o sencillas (single), y si estas son cortas (alrededor de 150-300 pb) o largas (Kpb), o bien una combinación de éstas.

A veces es también conveniente unir las secuencias pair-end para tener una sencilla pero más larga, que tantas secuencias pair-end se pueden unir depende de que tan largo, o corto, se fragmentó el ADN antes de secuenciar (tamaño del inserto). Mientras mayor sea el tamaño del inserto, menor número de secuencias se unirán y viceversa. Así podemos tener se una corrida de secuenciación un archivo con las secuencias unidas y dos archivos con las secuencias que no se unieron (forward y reverse). Esta unión se puede hacer con PEAR como lo especificamos aquí.

Ensambladores comúnmente usados para genomas microbianos son:

Secuencias cortas (Illumina, Ion Torrent)

Secuencias largas (Nanopore, PacBio)

    • Unicycler

Cada uno tiene sus parámetros específicos que pueden consultarse mediante el flag -h en la linea se comandos. Más información aquí.

Quizá el más popular ensamblador sea SPAdes, es sencillo de usar:

$ python /opt/SPAdes-3.12.0-Linux/bin/spades.py -k 21,33,55,77 --careful -1 R1.fastq -2 R2.fastq -o spades

La ruta (/opt/SPAdes-3.12.0-Linux/bin/spades.py) depende de dónde se halla instalado el programa. Usa por default 16 núcleos, pero se puede cambiar con -t.

El -k significan los tamaños de Kmers a usar, los valores 21,33,55,77 son los recomendados para secuencias de Illumina.

Unicycler

Un ensamblador que utiliza SPAdes pero hace muchos refinamientos es Unicycler, por lo que generalmente es mejor opción que solo SPAdes. Tenemos que correrlo con CONDA:

$ conda activate python3.6

$ unicycler -1 R1.fastq -2 R2.fastq -o unicycler --spades_path /opt/SPAdes-3.13.0-Linux/bin/spades.py -t 8

Ensamble híbrido

Si tenemos secuencias Illumina pair-end (.R1.fastq y .R2.fastq) y secuencias largas de Oxford Nanopore (ONT), entonces con Unicylcer podemos hacer un ensamble híbrido eficientemente:

$ conda activate python3.6

$ unicycler -1 R1.fastq -2 R2.fastq -l ONT.fastq -o unicycler_hybrid --spades_path /opt/SPAdes-3.13.0-Linux/bin/spades.py -t 8

Script genome_assembler.v0.4.7

En el servidor biobacter tenemos un script (genome_assembler) que nos permite seleccionar con que programa ensamblar dependiendo del tipo de secuencias que tengamos. Siempre es aconsejable limpiar las secuencias antes de ensamblarlas. Los parámetros mejores para cada ensamblador ya están preseleccionados. También es posible usar varios ensambles generados para hacer un superensamble con MIX; pero hay que tener cuidad porque en estos superensambles suelen introducirse contigs duplicados juntos en un solo contig.

Para ejecutar el script se puede correr de alguna de las siguiente maneras:

______ Pair-end sequences __________________________________________________

For Illumina pair-end fastq sequences with SPAdes, a5, or Unicycler:

$ genome_assembler R1.fastq R2.fastq

For Illumina pair-end fastq sequences combined with single reads with SPAdes:

$ genome_assembler R1.fastq R2.fastq file.fastq

______ Single reads ________________________________________________________

For single reads in fasta format with Newbler:

$ genome_assembler file.fasta

For single reads in fastq format (Ion Torrent) with SPAdes:

$ genome_assembler file.fastq

For single reads in fasta format with Newbler mapping to a reference:

$ genome_assembler file.fasta reference.fasta

______ Combining assemblies ________________________________________________

Several assemblies can be used to create a superassembly with MIX:

$ genome_assembler *.fasta (any extension is valid)

Una vez que se ingresó el comando despliega el siguiente menu para seleccionar el ensamblador que queremos correr, o bien salir del mismo:

For pair-end sequences in fastq format:

1 SPAdes pair-end

2 SPAdes combined (pair-end and single seqs)

3 a5

4 Unicycler

For single sequences in fasta/q format:

5 newbler (only fasta)

6 newbler mapping (only fasta)

7 SPAdes (Ion Torrent, fastq)

To assemble assemblies:

8 MIX

x exit

Al final podemos validar todos los ensambles hechos con QUAST.