Análisis de Expresión Génica Diferencial (PARTE I)

Prefacio

En este práctico llevaremos a cabo un pipeline completo de análisis transcriptómico con el fin de identificar genes diferencialmente expresados y explorar las funciones biológicas asociadas. Para ello, utilizaremos un conjunto de datos disponible en repositorios de acceso libre. Los datos provienen de un experimento en el que se comparó la expresión génica a nivel transcripcional en la levadura Saccharomyces cerevisiae bajo condiciones normales y en un entorno con privación de aminoácidos [1].

Las tareas que realizaremos incluyen: descarga de datos y conversión al formato adecuado, control de calidad y trimming de las secuencias, alineamiento, conteo de lecturas mapeadas a genes, cálculo de niveles de expresión, identificación de genes diferencialmente expresados y análisis de ontología génica.

1) Búsqueda y descarga de secuencias en bases de datos

Nota: No es necesario que descargue los datos, los mismos ya fueron descargados por los docentes a los efectos de agilizar el trabajo en el práctico

  1. Ingrese al sitio web correspondiente al repositorio de datos de secuenciación del NCBI: https://www.ncbi.nlm.nih.gov/geo/

  2. Busque los archivos y datos asociados al experimento realizado bajo el código GSE13750.

  3. Explore la información disponible.

  4. Explore las herramientas para acceder a descargar los datos a través de SRA.

  5. Discuta el formato de bajada y la conversión a formato .fastq (fastq-dump).

2) Control de calidad y trimming de secuencias

  1. Conéctese al servidor torito (IP externo: 190.64.49.20; puerto 22222) con el usuario estudiantes. La clave será proporcionada en clase.

  2. Diríjase a la carpeta ‘estudiantes’ dentro del Disco10 y cree una carpeta personal para trabajar. Luego copie a dicha carpeta los archivos necesarios para el práctico:

cd /media/Disco10/curso_genomica/estudiantes/2024/
mkdir MiCarpeta #Nombre su carpeta según su criterio
cd MiCarpeta
cp -r ../Material_Practico_Transcriptomica/* ./
  1. Los archivos copiados incluyen 6 archivos .fastq con las 3 réplicas por condición (“rich” y “starved”), el genoma de referencia en formato fasta y su archivo de anotación correspondiente en formato .gff. Estos últimos dos descargados de https://www.yeastgenome.org/. Utilizando less explore el formato de dichos archivos y su lógica. También se incluyen archivos .sam que serán utilizados y discutidos más adelante.

  2. En primer lugar vamos a proceder al análisis de calidad de los datos de secuenciación. Para eso utilizaremos solamente un archivo de secuencias y el programa fastqc [2]:

fastqc mRNA-rich-1.fastq
  1. Visualice el resultado de la corrida preferentemente descargando la carpeta zipeada a su terminal local, descomprimiéndola y abriendo el archivo .html. De lo contrario abra en torito el archivo .html utilizando Firefox. ¿Considera necesaria la realización de un trimming de secuencias?
  1. Realizaremos el trimming de calidad utilizando el software sickle [3]. Discuta previamente la estrategia utilizada por dicha herramienta para remover los nucleótidos de baja calidad (ver explicación en https://github.com/ucdavisbioinformatics/sickle). Explore las opciones de corrida del programa y sus parámetros de uso. Ejecute el programa para el archivo de secuencias analizado por fastqc.
sickle se -f mRNA-rich-1.fastq -t sanger -q 20 -l 21 -o mRNA-rich-1_trimmed.fastq
  1. Analice la calidad del nuevo archivo de secuencias.
fastqc mRNA-rich-1_trimmed.fastq
  1. Visualice nuevamente los resultados.

3) Alineamiento y conteo de lecturas

  1. El trimming de los seis archivos de secuencia, así como el alineamiento de los mismos al genoma de referencia ha sido realizado previamente por los docentes para no saturar el uso del servidor. De todas maneras discutiremos los comandos necesarios para ejecutar los mapeos. En primer lugar, dado que utilizaremos bowtie2 como alineador [4], debemos indexar el genoma de referencia:
bowtie2-build BY4741_Saccer.fsa Genome
  • Explore los parámetros del programa y discuta su función. Este paso de indexado genera 6 archivos propios del bowtie2 donde el genoma es ordenado y reescrito de forma de comprimir su tamaño. El indexador de bowtie2 está basado en la transformada de Burrows-Wheeler lo cual se basa en pequeñas “palabras” que están repetidas a lo largo del genoma.
  1. Luego procederíamos a realizar los alineamientos, uno por réplica. Como dijimos, esto ya fue realizado, pero realizaremos uno a modo de ejemplo:
bowtie2 --sensitive-local -p 5 -t -x Genome -U mRNA-rich-1_trimmed.fastq -S mRNA-rich-1.sam
  • Discuta los parámetros utilizados en el mapeo.
  1. Discuta la estructura y característica de los archivos de mapeo .sam generados. ¿Qué información contiene? ¿Qué representa cada línea? ¿Qué tipo de información contiene cada columna? Por más información visite: http://samtools.sourceforge.net/SAMv1.pdf o http://genome.sph.umich.edu/wiki/SAM.

  2. A continuación utilizaremos el programa featureCounts [5] que nos permite contar cuántas lecturas mapearon sobre cada gen. El programa construye una tabla con diversa información, entre la que se destaca los IDs de los genes y el número de lecturas mapeadas sobre dicho gen:

featureCounts -t CDS -g Name -T 5 -a BY4741_Saccer.gff -o mRNA_counts mRNA-rich-1.sam mRNA-rich-2.sam mRNA-rich-3.sam mRNA-starved-1.sam mRNA-starved-2.sam mRNA-starved-3.sam
  • Como se puede observar, el programa precisa como entrada el mapeo en formato .sam y el archivo de anotación del genoma en formato .gff.Discuta los parámetros utilizados en el mapeo.
  1. Explore la estructura de los archivos generados.
  1. Estamos en condiciones entonces de analizar los conteos observados para cada gen, en cada una de las tres réplicas de cada condición, con el objetivo de identificar diferencias estadísticamente significativas entre las dos condiciones: “rich” vs “starved”. Para esto, debemos preparar una tabla que contenga una primer columna con los genes, y luego sucesivas columnas con los conteos de lecturas mapeadas para cada réplica y condición analizada.
grep -v "#" mRNA_counts | grep -v "Undef" | cut -d$'\t' -f1,7- > mRNA_counts_filtered.tsv

Referencias:

[1] Ingolia NT, Ghaemmaghami S, Newman JR, Weissman JS. Genome-wide analysis in vivo of translation with nucleotide resolution using ribosome profiling. Science. 2009;324(5924):218-223. doi:10.1126/science.1168978

[2] Andrews S. (2010). FastQC: a quality control tool for high throughput sequence data. Available online at: http://www.bioinformatics.babraham.ac.uk/projects/fastqc

[3] Joshi NA, Fass JN. (2011). Sickle: A sliding-window, adaptive, quality-based trimming tool for FastQ files (Version 1.33) [Software]. Available at https://github.com/najoshi/sickle.

[4] Langmead B, Salzberg S. Fast gapped-read alignment with Bowtie 2. Nature Methods. 2012, 9:357-359.

[5] Liao Y, Smyth GK and Shi W. featureCounts: an efficient general-purpose program for assigning sequence reads to genomic features. Bioinformatics, 30(7):923-30, 2014