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.
Ingrese al sitio http://gwips.ucc.ie/
Diríjase a la herramienta ‘Genome Browser’ sobre la izquierda y elija como organismo a la levadura S. cerevisiae y presione en ‘GO’
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).
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):
Conéctese al servidor torito (IP externo: 190.64.49.20; puerto 22222) con el usuario estudiantes. La clave será proporcionada en clase.
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/* ./
fastqc footprints_rich-1.fastq
cutadapt -l 28 -o footprints_rich-1_trimm28.fastq footprints_rich-1.fastq
fastqc footprints_rich-1_trimm28.fastq
bowtie2-build BY4741_Saccer.fsa Genome
bowtie2 --sensitive -p7 -t -x ./Genome –U footprints_rich-1_trimm28.fastq -S footprints_rich-1.sam
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
grep -v "#" footp_counts | grep -v "Undef" | cut -d$'\t' -f1,7- > footp_counts_filtered.tsv
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()