Ensamble de secuencias Nanopore y "pulido" utilizando secuencias Illumina.

Protocolo: Canu + Racon + Pilon

En mi última prueba (09 de Sept) probé Canu v2.1 y se cae en el último paso sin razon rastreable, por ello cambio a v2.0 y funciona.

  1. Descargar los binarios de Canu en la versión deseada (ej. canu-2.0.Linux-amd64.tar.xz)
    https://github.com/marbl/canu/releases
     
  2. Seguir instrucciones para instalar el pipeline usando Docker (Docker corre como root)
    https://github.com/nanoporetech/ont-assembly-polish
     
    1. Elegir una carpeta del disco donde se descargará el pipeline
    2. git clone https://github.com/nanoporetech/ont-assembly-polish
    3. cd docker; make build
    4. Recomendado: situar el archivo de secuencias Nanopore (descomprimido) en una carpeta (DataFolder)
    5. Recomendado: situar los archivos con secuencias Illumina (comprimidas) en la carpeta DataFolder
    6. Recomendado: descomprimir Canu en la carpeta DataFolder
      tar xfJ canu-2.0.Linux-amd64.tar.xz
    7. Ejecutar la siguiente línea cambiando DataFolder por la carpeta donde están los datos
      sudo docker run -v **DataFolder**:/data -it ont-assembly-polish
       
  3. Una vez dentro del sistema Docker algunas instalaciones opcionales
  • instalar vim (apt install vim) o nano (apt install nano)
  • instalar htop (apt install htop)
  1. Preparación del pipeline
  • Dentro del Docker los archivos estarán disponibles en /data
  • El directorio de trabajo es /home/ont-assembly-polish y allí será necesario editar algunos archivos:
  • El archivo config.mk debe ser editado (usar vim o nano) para incluir los nombres de los archivos con secuencias, ejemplo: NANOPORE_READS=/data/psal12201.wo_adapt.q12.l500.fastq
    ILLUMINA_READS_PAIR1=/data/70.p1.trim.fil.fq.gz
    ILLUMINA_READS_PAIR2=/data/70.p2.trim.fil.fq.gz
  • Al final del archivo config.mk se puede configurar la cantidad de memoria RAM para Pilon y el número de cores para el pipeline.
  • El archivo analysis.mk debe ser editado para incluir la ruta de ejecución de Canu (carpeta donde están los binarios de canu [carpeta data]).
    Ejemplo:
    L16: @/data/canu-2.0/Linux-amd64/bin/canu\
    L20: sustituir -nanopore-raw por -nanopore
  • Si se desea usar un ensamble previo se deben adaptar los siguientes parámetros y comentar (#) L13 a L20.
    L1: prefijo que usará canu para los nombres (debe ser acorde al ensamble previo)
    L2: nombre del directorio para los archivos de canu (colocar el ensamble dentro de assembly-polish/canu-assembly)
  1. Ejecutar el pipeline

    1. Con todo preparado ejecutar en el directorio de trabajo:
      make all 1> make.pilon1.txt 2> make.pilon2.txt &
    2. Logs: el archivo make.pilon1.txt captura la salida de error y make.pilon2.txt captura la salida estándar
    3. Monitorear el avance revisando los archivos make.pilon y/o viendo los procesos en ejecución con htop
       
  2. Manejo de Docker:

  • Salir deteniendo la ejecución: Ctrl+d
  • Detach (Salir dejando los procesos en background): Ctrl+p+q
  • Listar los contenedores del sistema
    sudo docker ps -a
  • Volver a entrar:
    docker attach ef7e107e0aae
    docker attach lonely_wing
  • Sólo iniciar sin entrar:
    docker start ef7e107e0aae
    docker start lonely_wing
  1. Resultado:
    1. Copiar la carpeta assembly-polish y los logs a la carpeta /data lo cual permitirá retener los resultados una vez fuera de Docker. Recuerda, /data está vinculado a la carpeta DataFolder que seleccionaste al iniciar el Docker.
      cp -r assembly-polish /data/
      cp make.no_pilon* /data/
    2. Ahora ya es seguro apagar el Docker y seguir trabajando desde el sistema principal (Ctrl+d)
    3. Una vez en el sistema principal, es necesario cambiar los permisos de la carpeta assembly-polish desde root al dueño real
      chown -R usuario:usuario assembly-polish
    4. Los archivos finales:
      • canu-assembly/canu.contigs.fasta
      • racon.contigs.fasta
      • pilon.contigs.fasta (el más importante)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.