Curso aplicado de bioinformática 2021, 2a edición (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.

Este curso sera realizado online. Es un curso en vivo, no un curso previamente grabado. Las clases tratarán de ser lo mas similares a un curso presencial, donde los participantes podrán interactuar entre ellos y con el instructor. La idea que es este curso sea lo mas similar posible a un curso presencial. Los cupos son limitados pues un número mayor de integrantes solo haría mas dificil la interacción entre los participantes. Si tienes dudas, puedes →contactarte conmigo. Si quieres ver un ejemplo sencillo de lo que haremos, miralo aquí

file-text Contenido del curso

Sesión 1, 5/01/21

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

  • Estructura de archivos y directorios en Unix
  • 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
    • 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/01/21

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
  • Introducción al concepto de pipes en bash
  • 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

Sesión 3, 12/01/21

Bases de datos de secuencias, descarga desde terminal. Continuación con programación en terminal bash

  • Como buscar información y descargar secuencias desde el NCBI
    • Entrez Direct Utilities: einfo, esearch, efilter, efetch
  • Archivos fastq, introducción a seqtk y seqkit
  • Base de datos SRA y descarga de secuencias con sra-toolkit
  • "Expansión de parámetros" en bash. "Subtitución de comando", $()
  • Introducción a la programación (scripting) en el terminal, for loops

Sesión 4, 14/01/21

Alineamiento de secuencias y árboles filogenéticos

  • Alineamiento de pares de secuencias, alineamiento local, alineamiento global, semi-global
  • Introducción a algoritmos de alineamiento de múltiples secuencias
  • mafft y sus diversos algoritmos. Breve descripcion de T-coffee y muscle.
  • Cómo 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

Sesión 5, 19/01/21

Alineamiento y mapeo de secuencias, archivos BAM

  • “Substitución de procesos”, continuación de scripting en bash
  • Especificación de archivos de alineamieno BAM/SAM
    • Introducción a samtools para trabajar con archivos BAM/SAM
    • Campos/columnas en un archivo BAM, significado de los "flags"
  • SARS-CoV-2: ¿Cual es su origen y como se han designado subtipos de este virus?
    • Breve introducción a agrupación de secuencias, comparando SARS-CoV-2 con bat-Cov, concepto de k-mers
    • Llamado de variantes de múltiples tipos de virus SARS-CoV-2 y SARS, introducción de pileups
    • Visualización de variantes en igv

Sesión 6, 22/01/21

Introducción a la programación en R 1

  • Tipos y estructuras de datos
    • integer, numeric, character, logical
    • Vectores, listas, matrices, factors, dataframes
    • Jerarquía de tipos de datos y su coerción automática
  • ¿Cómo se seleccionan los elementos en estructuras de datos?
    • Posiciones de elementos, selección mediante su index
    • Selección mediante operadores lógicos. Función which
  • Leer datos desde archivos, creación de dataframes y selección/filtro de datos
  • Iteración (for loops) y condicionales (if statements)

Sesión 7, 26/01/21

Introducción a la programación en R 2

  • ¿Qué elementos tienen en común dos vectores/dataframes?
    • Operador %in%
    • match y reordenamiento de elementos. "Alinear" dos estructuras de datos
  • Trabajando con valores no definidos, NAs
    • ¿Cómo se generan estos valores NA?
    • Detectando NAs: complete.cases, is.na
    • Filtrando NAs mediante vectores booleanos y na.omit
  • Definiendo funciones
  • Introducción a gráficos en R: base y ggplot

Sesión 8, 28/01/21

Protocolos de RNA-seq: Alineamiento y pseudoalineamiento

  • Diferencia entre alineadores y “pseudoalineadores”
  • "Pseudo-alineamiento" 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
¿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.

¿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.

Demostración

Si estas en tu celular, es recomendable que lo veas horizontalmente y a pantalla completa. Además, todo el texto que aparece es seleccionable y copiable.

Ver screenshot de IGV

Contacto

Estas interesado, tienes dudas?, contactame aquí