preprocesar smRNA-seq

Datos:

Datos humanos: los ficheros hsa1.fastq, hsa2.fastq, hsa3.fastq y miRNA test data

Datos de trigo (Triticum aestivum): EC.fastq, ET.fastq

Los ficheros se ubican en la carpeta /opt/ngs del servidor de docencia

 

Tareas y cuestiones:

  1. Detectar el adaptador: Existen diferentes protocolos para la preparación de la libreria. Antes de poder cuantificar la abundancia de microRNAs, tenemos que detectar el adaptador (y eliminarlo)
    • Consejo: usar grep y un microRNA conservado y de expresión ubicua como mir-159 o let-7
  2. Eliminar el adaptador:
    • Escribir un programa en python que detecte y elimine el adaptador
    • El programa toma como entrada el fichero en formato fastq y la secuencia del adaptador
    • La salida se produce en el mismo formato fastq eliminando las lecturas para las que no se ha detectado el adaptador
    • Consejo:
      • normalmente se intenta detectar los primeros 10nt del adaptador
      • explorar el método index()
  3. Contar el número de lecturas únicas y generar un fichero compacto en formato fasta
    • >ID#conteo
    • secuencia de la lectura
  4. Analizar las lecturas
    • ¿Cuantas lecturas únicas hay en el fichero?
    • ¿A que molécula corresponde la lectura mas frecuente? – ¿y la segunda mas frecuente?
    • ¿Cuántas lecturas únicas tienen una logitud mayor o igual a 18 nt?
      • Conteo unico: el número lecturas diferentes (cada secuencia cuenta solamente una vez)
      • Conteo total: El numero absoluto de lecturas (cada lectura cuenta las veces que ocurre en el fichero)
  5. Analizar la distribución de la longitud de las lecturas (frecuencia para longitud 1nt, 2nt, etc) mediante un programa en python
    • ¿Cuantos maximos (incluyendo locales) se pueden distinguir?
    • Interpretar los maximos (qué los pueden causar, tipos de RNA, etc)
    • ¿Que diferencias podemos observar si analizamos el conteo único y el conteo total? ¿Que explicación biológica tiene?
  6. Darle identidad a las lecturas anónimas
    • generar un fichero fasta eliminando:
      • lecturas con un conteo menor que 5
      • lecturas con longitudes menores de 18nt o mayores de 26nt
    • lanzar un blast local frente a la base de datos miRBase (ver comando abajo)
    • Contar el número de lecturas mapeadas a cada secuencia de microRNA

Para hacer un blast local:

blastn -query 'ruta del fasta file' -db hsa_mature -outfmt 6 -out 'fichero de salida' -word_size 9

Explicación de la salida de Blastn

 

Más cuestiones (a resolver programáticamente)

  • ¿Cuantas lecturas únicas se eliminan aplicando un minimo de 2?
  • Aplicando un minimo de 5 lecturas, ¿que valor toma el conteo total?
  • ¿Cuantas lecturas totales y unicas hay entre 20 y 23 nucleótidos?
  • Parseando la salida del Blast, ¿cual es el microRNA más expresado?

 

 

Soluciones

Ayuda

  1. Explorar la opción –length y -o del trim_galore
  2. Explorar los programas grep y wc disponibles en linea de comando
  3. la función len() de python