Curso aplicado de bioinformática 2020 (online)

El objetivo principal de este curso es el de introducir conceptos y herramientas básicas de la bioinformática. Específicamente, la primera mitad del curso se basará en una introducción al uso del terminal (bash) en sistemas operativos basados en Unix/GNU Linux (esto incluye Mac OSX y Windows Subsystem for Linux), incluyendo el uso de herramientas bioinformáticas desde el terminal y una introducción a la programación en el lenguaje bash. La segunda mitad del curso consistirá en una introducción a la programación usando el lenguaje R, enfocándose en bibliotecas bioinformáticas. Ademas del uso de diferentes programas y librerias, también serán presentados conceptos bioinformáticos y estadísticos necesarios para entender las temáticas tratadas. Si estás interesado, puedes contactarme.

file-text Contenido del curso

Sesión 1, 5/05/20

Introducción a sistemas operativos basados en Unix: Linux/Mac OSX

  • Estructura de archivos
  • Comandos básicos para comenzar a utilizar la linea de comandos/terminal
  • Como instalar software científico usando conda desde los repositorios bioconda,conda-forge y otros
    • Instalar software usando repositorios nativos en linux, hombrew en mac OSX/Linux
    • Crear ambientes separados para instalar conjuntos de aplicaciones, como mezclar diferentes ambientes y rutas de instalación
    • Como acelerar conda
  • Permisos de archivos/directorios
  • Globs/wildcards en el terminal bash

Sesión 2, 7/05/20

Utilización de la linea de comandos/terminal en Linux/Mac OSX

  • Como buscar archivos desde el terminal
  • Como buscar contenido dentro de los archivos
  • introducción a Expresiones Regulares
  • Trabajando con archivos de texto relevantes en bioinformática: Visualización, selección y edición
    • Uso de cut, sort, wc, column, otros
    • introducción a awk/bioawk, sed, csvtk
  • introducción al concepto de pipes en bash
  • introducción a la programación (scripting) en el terminal, for loops

Sesión 3, 12/05/20

Secuenciación, alineamiento de secuencias y archivos bioinformaticos

  • Como buscar información y descargar secuencias desde el NCBI: Entrez Direct Utilities
  • Alineamiento de pares de secuencias, alineamiento local, alineamiento global, semi-global
    • introducción basica a algoritmos de alineamiento
    • comparación de diferentes algoritmos/software de alineamiento
    • Visualización de alineamientos en igv
  • continuación sobre archivos bioinformaticos: fastq, sam/bam, vcf
    • Introducción a samtools/bcftools, seqtk y seqkit
  • “Substitución de comandos”, “substitución de procesos”, continuación de scripting en bash

Sesión 4, 14/05/20

Alineamiento de múltiples secuencias y árboles filogenéticos

  • introducción a algoritmos de alineamiento de múltiples secuencias
  • mafft y sus diversos algoritmos. Breve descripcion de T-coffee y muscle.
  • Como comparar multiples alineamientos? Métricas
  • Visualización de alineamientos multiples en aliview
  • Creación de filogenias usando maximum-likelihood e introducción a modelos de substitución de secuencias
    • Uso de Raxml-ng para crear arboles filogenéticos
    • Uso de modeltest-ng para seleccionar modelos de evolución/subtitución de secuencias
    • Uso de iq-tree como alternativa integrada de los pasos anteriores
  • Introducción a topologías de árboles y su comparación

Sesión 5, 19/05/20

Análisis de secuencias de hCov y nCov desde RNA y DNA

  • Análisis de secuenciación directa de RNA del virus hCov usando tecnologia de Oxford Nanopore
    • Calidad de secuenciación, fastq, multiqc, otros
    • Coverage/depth de secuenciación: ¿Por qué diferentes herramientas generan diferentes resultados?
    • alineamiento de secuencias largas usando minimap2
    • Creación de una secuencia consenso con consensus callers
    • Tipos de errores de tecnología Nanopore, ¿como detectar homopolimeros?, detalles del formato SAM
  • nCov: ¿Cual es su origen y como se han designado subtipos del virus nCov?
    • Breve introducción a agrupación de secuencias, comparando nCov con bat-nCov, concepto de k-mers
    • Llamado de variantes de multiples tipos de virus nCov y SARS, introducción de pileups
    • visualización de variantes en igv

Sesión 6, 22/05/20

Introducción a la programación en R

  • Tipos y estructuras de datos
    • integer, numeric, character, logical
    • vectores, listas, matrices, factors, dataframes
  • ¿Como se indexan los elementos en estructuras de datos?
  • for loops y condicionales
  • Computos vectorizados e introducción a familia de funciones apply
  • Introducción al repositorio de software Bioconductor

Sesión 7, 26/05/20

Protocolos de RNA-seq: Alineamiento y pseudoalineamiento

  • Diferencia entre alineadores y “pseudoalineadores”
  • Alineamiento de secuencias contra una referencia con hisat2 y pseudoalineamiento con salmon/kallisto
  • Expresión diferencial de secuencias desde RNA-seq con Deseq2/edgeR
    • Como se organizan las muestras dentro de estas librerias? como se representan los contrastes entre diferentes condiciones experimentales?
    • Agrupamiento/clustering de muestras: Ejemplos de diferentes metodologías/algoritmos
    • Identificación de transcritos diferencialmente expresados
  • Introducción a graficos en R: base y ggplot

Sesión 8, 28/05/20

Análisis de listas de genes

  • Introducción a ontologias y bases de datos relevantes en bioinformática
    • GO, KEGG y biomaRt
  • Métodos para establecer enriqueciemiento de genes desde listas provenientes de técnicas omicas (RNA-seq, metiloma, CHIP-seq, variantes, etc)
    • Listas ordenadas (“rankeadas”): GSEA (interfaz gráfica y R), camera (R)
    • Listas no ordenadas: g:Profiler, kegga/goana/goseq (R)
    • ¿Qué hacer si mi organismo no esta oficialmente soportado por la mayoría de las librerias?
  • Introducción a redes de genes y el uso de cytoscape para su visualizacion y analisis (Interfaz gráfica y R)
¿Por qué?
¿Por qué no comenzar de inmediato con un lenguaje como R que me permitirá hacer todo lo que yo quiero?

Porque hay un gran número de tareas que puedes realizar usando solo el terminal. Si aprendes a usarlo apropiadamente podrás ahorrar tiempo, sobre todo para tareas relativamente sencillas. Además, si no sabes programar, es mucho mas rápido aprender un poco de bash/terminal que te permitirá resolver problemas reales en tu trabajo. Finalmente, es común que el terminal se use de forma poco eficiente, la idea de este curso es que aprendas una base sólida y que te permita usarlo de forma relativamente eficiente/correcta.

¿Pero por qué no solo R, a mi me gusta!?

Esta lleno de tutoriales sobre el lenguaje R. Si estas leyendo esto seguramente los has visto. La documentación oficial de las librerias de bioinformática disponibles en Bioconductor suelen tener toda/gran parte de la información necesaria para ser usados y realmente no creo que yo deba repetir lo que ya esta publicado en forma de tutorial en internet. Aca aprenderás una base suficientemente completa como para poder seguir y entender, al menos de forma práctica, aquellos tutoriales.

¿Por qué una clase exclusiva para listas de genes/features?

Hay muchas técnicas ómicas cuyo producto final es una lista/s de genes/transcritos/proteinas, etc. Hay un conjunto de métodos estadísticos que son aplicables a estas listas, sin importar su origen experimental. Tienes variantes genéticas ranqueadas de acuerdo a importancia según algun criterio x? una lista de sitios metilados? ¿una lista de sitios a los que se une tú proteína?, etc.

¿Qué hay de los conceptos estadísticos/bioinformáticos envueltos en este curso?

Habrá una explicación de los conceptos estadísticos/bioinformáticos en gran parte de los tópicos tocados en este curso. Es necesario que tengas un entendimiento muy básico de estadística y desde ahi podrás entender lo expuesto en este curso. La intención de exponer estos conceptos es poder entender en terminos generales por qué y cómo se modelan/analizan los datos que estamos estudiando tomando en cuenta que el curso es intensivo y su foco es práctico.

Acerca de mi
Mi fotografia

Mi nombre es Jose Luis Maturana Galleguillos . Estudié Ingenieria en Biotecnología Molecular en la Facultad de Ciencias de la Universidad de Chile (2009) y el año 2015-2016 complete un Master en Bioinformática en la Universidad Autónoma de Barcelona. Como bioinformático, he trabajado con datos de metilomas, 16S rRNA, RNA-seq y ensamblajes con varios tipos de secuenciación. He usado Linux por más de una década y los lenguajes que he utilizado con más frecuencia son bash, R y python.

Breve demostración

Este video se ve mejor en un computador de escritorio. Todo el texto que aparece es seleccionable y copiable. Si estas en tu celular, es recomendable que lo veas horizontalmente y a pantalla completa.

Ver screenshot de IGV

Contacto

Estas interesado, tienes dudas?, contactame aquí