Análisis de eficiencia traduccional diferencial utilizando Ribosome Profiling

Prefacio

El objetivo de este práctico es introducir al estudiante en el análisis de datos producidos por la técnica de Ribosome Profiling (o Ribo-Seq). En dicha técnica, luego de purificar polisomas activos, se realiza un ensayo de protección con RNAsas y se purifican los fragmentos protegidos por el ribosoma. Dichos fragmentos son utilizados para construir bibliotecas de ADNc que son secuenciadas de forma masiva. Como resultado se obtienen millones de secuencias cortas (entre 25nt y 40nt) que reflejan la posición activa de un ribosoma sobre un mensajero codificante. Dadas las características de la metodología y la particularidad de los fragmentos secuenciados, la técnica presenta ciertos desafíos para su análisis que discutiremos en el práctico. Definiremos algunos conceptos asociados a la técnica, como el de eficiencia traduccional y periodicidad del mapeo. Por último, discutiremos las distintas aplicaciones de esta técnica, como la anotación de transcriptomas, definición de 5’ y 3’-UTRs, búsqueda de uORFs, búsqueda de traducción en policistrones, uso de codones, búsqueda de pausas ribosomales, etc.

1) Visualización de mapeos mediante una herramienta on-line tipo genome browser desarrollado para el análisis de datos producidos por Ribo-Seq

  1. Ingrese al sitio http://gwips.ucc.ie/

  2. Diríjase a la herramienta ‘Genome Browser’ sobre la izquierda y elija como organismo a la levadura S. cerevisiae y presione en ‘GO’

  3. Explore las distintas opciones que se pueden modificar (mostrar solo “footprints” y “mRNA’seq Reads” para “Ingolia 2009”). Discuta acerca de lo que está observando y su significado biológico. Aquí utilizaremos los datos de Ingolia et. al (2009).

  4. Discuta con los docentes el concepto de eficiencia traduccional y clasifique según dicho parámetro a los siguientes genes (ya sea ingresando las coordenadas o el nombre del gen en el cuadro de búsqueda):

  • ACT1: ChrVI: 52,500-55,500
  • VMA1 y RPL41A: ChrIV: 126,500-131,000 (visualice también la región 221,500-222,000 del mismo cromosoma, allí se encuentra el gen RPL41B, parálogo del RPL41A y compárelos entre sí)
  • HAC1: ChrVI: 74,800-77,000
  • YEA6: ChrV: 144,100-146,300 Por más información acerca de los genes puede consultar el sitio http://yeastgenome.org
  1. En base a los resultados descritos en el artículo original, los autores plantean varios sitios donde puede ocurrir regulación traduccional mediada por la presencia de uORFs. Consulte una de dichas regiones donde se ubica un gen clave en la respuesta a las presencia/ausencia de aminoácidos en el ambiente. Este gen codifica para un factor transcripcional que activa la transcripción de genes asociados a la síntesis de aminoácidos:
  • GCN4: ChrV: 138,600-140,600

2) Control de calidad y trimming de las lecturas

  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 donde están los materiales del práctico de hoy “Material_Practico_Ribo-Seq” (archivos de secuencias, mapeos, scripts y referencias). Allí genere una subcarpeta personal e ingrese a la misma:

cd /media/Disco10/curso_genomica/estudiantes/2024/
mkdir MiCarpeta #Nombre su carpeta según su criterio
cd MiCarpeta
cp -r ../Material_Practico_Ribo-Seq/* ./
  1. Realizaremos un control de calidad de las secuencias con el programa Fastqc (unicamente con una réplica a modo de ejemplo):
fastqc footprints_rich-1.fastq 
  1. A continuación realizaremos el trimming de los datos. En este caso cortaremos todas las secuencias de la misma manera de forma tal de quedarnos con los primeros 28 nucleótidos. Para realizar este trimming utilizaremos la herramienta cutadapt
 cutadapt -l 28 -o footprints_rich-1_trimm28.fastq footprints_rich-1.fastq
  1. Realizaremos un control de calidad de las secuencias trimmeadas con el programa Fastqc (unicamente con una réplica a modo de ejemplo):
fastqc footprints_rich-1_trimm28.fastq
  1. Visualice nuevamente los resultados.

3) Alineamiento y conteo de lecturas

  1. El trimming de los seis archivos de lecturas, 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
  1. Procederíamos luego a mapear las huellas ribosomales al genoma de referencia. Para esto utilizamos bowtie2 y el genoma indexado. El paso de mapeo ya fue realizado y al copiar los archivos en el paso 2 ya disponen de los mapeos en formato .sam. Realizaremos uno a modo de ejemplo:
bowtie2 --sensitive -p7 -t -x ./Genome –U footprints_rich-1_trimm28.fastq -S footprints_rich-1.sam
  1. Luego procedemos a contar las huellas mapeadas sobre los CDS utilizando el software featureCounts como el práctico anterior.

featureCounts -t CDS -g Name -T 5 -a ../BY4741_Saccer.gff -o footp_rich-1-counts ../footprints_rich-1.sam

featureCounts -t CDS -g Name -T 5 -a BY4741_Saccer.gff -o footp_counts footprints_rich-1.sam footprints_rich-2.sam footprints_rich-3.sam footprints_starved-1.sam footprints_starved-2.sam footprints_starved-3.sam
  1. Preparamos la tabla de conteos de huellas ribosomales para cada gen, que contenga una primera columna con los genes, y luego sucesivas columnas con los conteos de lecturas mapeadas para cada réplica y condición analizada.
grep -v "#" footp_counts | grep -v "Undef" | cut -d$'\t' -f1,7- > footp_counts_filtered.tsv

4) Análisis de eficiencia traduccional diferencial

En este punto tenemos dos tablas de conteos, una para el transcriptoma (mRNA-counts_filtered.tsv, del práctico de RNAseq) y otra para el traductoma (footp-counts_filtered.tsv). Estos son los dos archivos que precisamos para calcular y comparar los niveles de eficiencia traduccional. Para esto utilizaremos el paquete Xtail de R.

Para poder ejecutarlo, debemos quitarle el encabezado a la columna de genes.

nano footp_counts_filtered.tsv
nano mRNA_counts_filtered.tsv

Iniciamos R y corremos el paquete Xtail:

# Cargamos la librería
library(xtail)

# Cargamos las dos tablas de conteos
footp <- read.table("./footp_counts_filtered.tsv", header=TRUE)
mrna <- read.table("./mRNA_counts_filtered.tsv", header=TRUE)

# Definimos las condiciones como están indicadas en las tablas
condition <- c("Rich","Rich","Rich","Starved","Starved","Starved")

# Corremos el paquete Xtail
transl_eff <- xtail(mrna, footp, condition)

# Visualizamos distintos tipos de reportes gráficos
summary(transl_eff)
plotRs(transl_eff)
plotFCs(transl_eff)
volcanoPlot(transl_eff)

# Guardamos una tabla con los resultados
write.xtail(transl_eff,file="Xtail_results",quote=F,sep="\t")

# Salimos de R
quit()