Ordenando los datos de secuenciacion masiva
Overview
Teaching: 60 min
Exercises: 30 minQuestions
¿Como proceso los archivos obtenidos de secuenciación masiva?
Objectives
Aprender a renombrar y mover archivos usando funciones de bash
Explorar y ordenar los archivos del curso
Primero creamos la carpeta ubuntu para descomprir en esa carpeta el archivo Taller_NGS.zip
cd /mnt/c/
mkdir ubuntu/
cd ubuntu
pwd
/mnt/c/ubuntu/Taller_NGS
Para ver si hemos descomprimido bien todos los archivos revisamos con ls. Añadimos la opción -R para visualizar también el contenido incluido en la carpeta reference_genome
ls -1R
.:
ERR023691_1.fastq.gz
ERR023691_2.fastq.gz
metadata.txt
reference_genome
SRR13826529_1.fastq.gz
SRR13826529_2.fastq.gz
SRR13826530_1.fastq.gz
SRR13826530_2.fastq.gz
SRR13826531_1.fastq.gz
SRR13826531_2.fastq.gz
SRR13826532_1.fastq.gz
SRR13826532_2.fastq.gz
SRR13826533_1.fastq.gz
SRR13826533_2.fastq.gz
SRR13826534_1.fastq.gz
SRR13826534_2.fastq.gz
SRR13826535_1.fastq.gz
SRR13826535_2.fastq.gz
./reference_genome:
Saccharomyces_cerevisiae.R64-1-1.57.gff3
Saccharomyces_cerevisiae.R64-1-1.dna.toplevel.fa
El archivo metadata.txt contiene información sobre el origen de cada archivo de secuenciación, indicando la cepa de levadura, la réplica biológica, el experimento (HIGH NITROGEN,LOW NITROGEN,YPD), y el tipo de ensayo que se obtuvo de ese experimento (RNAseq, DNAseq, ATACseq).
Para revisarlo en pantalla (y aprovechando que es un archivo tabulado relativamente pequeño) usaremos cat
cat metadata.txt
WExNA 1 RNAseq HIGH_N SRR13826535_1.fastq.gz SRR13826535_2.fastq.gz
WExNA 2 RNAseq HIGH_N SRR13826534_1.fastq.gz SRR13826534_2.fastq.gz
WExNA 3 RNAseq HIGH_N SRR13826533_1.fastq.gz SRR13826533_2.fastq.gz
WExNA 1 RNAseq LOW_N SRR13826532_1.fastq.gz SRR13826532_2.fastq.gz
WExNA 2 RNAseq LOW_N SRR13826531_1.fastq.gz SRR13826531_2.fastq.gz
WExNA 3 RNAseq LOW_N SRR13826530_1.fastq.gz SRR13826530_2.fastq.gz
WE 1 DNAseq YPD ERR023691_1.fastq.gz ERR023691_2.fastq.gz
WExNA 1 ATACseq HIGH_N SRR13826529_1.fastq.gz SRR13826529_2.fastq.gz
Aprovecharemos los datos de metadata para renombrar los archivos de secuenciación. Para lograr esto de forma automática correremos un loop que renombrará cada archivo registrado en metadata (columnas $5 y $6) con el nombre cepa ($1), replicado ($2), tipo de ensayo($3), y experimento ($4), a lo que le incluiremos la extension “.fq.gz”. Este script lo correremos dos veces, uno para cada archivo de las reads pareadas (“_1” o “_2”)
cat metadata.txt | while read line;do name1=$(echo "$line"|awk '{print $5}');name2=$(echo "$line"|awk '{print $1"_"$2"_"$3"_"$4}');mv "$name1" "${name2}_1.fq.gz";done
cat metadata.txt | while read line;do name1=$(echo "$line"|awk '{print $6}');name2=$(echo "$line"|awk '{print $1"_"$2"_"$3"_"$4}');mv "$name1" "${name2}_2.fq.gz";done
Cuidado!
Para que este script sea exitoso, todos los archivos deben estar en la carpeta del script, y no deberian haber espacios en ninguno de los nombres a utilizar (lo que en general es buena práctica cuando se trabaja en unix). Como funciona este script? Este script es un poco complejo, combina los programas CAT, AWK, y MV, y además incluye un pipe (“|”) y un loop “WHILE READ”. El loop “while read” nos permite generar una variable (“line”) que será una fila entera del archivo metadata.txt (que lo alimentamos con cat y el pipe |) El hecho de que sea un loop significa que hará su tarea fila por fila hasta que llegue al final del archivo metadata.txt. Lo que hay entre “do” y “done” son los comandos necesarios para encontrar los archivos originales y renombrarlos, siempre usando la información obtenida por el “while read” desde metadata.txt
Revisemos los archivos renombrados
ls
WE_1_DNAseq_YPD_1.fq.gz
WE_1_DNAseq_YPD_2.fq.gz
WExNA_1_ATACseq_MS300_1.fq.gz
WExNA_1_ATACseq_MS300_2.fq.gz
WExNA_1_RNAseq_MS300_1.fq.gz
WExNA_1_RNAseq_MS300_2.fq.gz
WExNA_1_RNAseq_MS60_1.fq.gz
WExNA_1_RNAseq_MS60_2.fq.gz
WExNA_2_RNAseq_MS300_1.fq.gz
WExNA_2_RNAseq_MS300_2.fq.gz
WExNA_2_RNAseq_MS60_1.fq.gz
WExNA_2_RNAseq_MS60_2.fq.gz
WExNA_3_RNAseq_MS300_1.fq.gz
WExNA_3_RNAseq_MS300_2.fq.gz
WExNA_3_RNAseq_MS60_1.fq.gz
WExNA_3_RNAseq_MS60_2.fq.gz
metadata.txt
reference_genome
Ahora es buen momento para ordenar nuestros archivos en distintas carpetas, una para cada tipo de ensayo. Para hacerlo de forma automatica en bash usaremos en conjunto las herramientas “find” y “mv”
Primero tendremos que crear los directorios
mkdir RNAseq
mkdir ATACseq
mkdir DNAseq
El comando para mover los archivos a sus respectivas carpetas (aprovechando que incluimos el tipo de ensayo al renombrar los archivos) es el siguiente
find *_RNAseq* -exec mv -t RNAseq/ {} +
find *_ATACseq* -exec mv -t ATACseq/ {} +
find *_DNAseq* -exec mv -t DNAseq/ {} +
Key Points
Usar archivos de textos como metadata para ordenar experimentos bioinformaticos