Taller CDSB 2019: Cómo Crear y Ordenar Herramientas 'Tidy'

Comunidad de Desarrolladores de Software en Bioinformática

Pre-requisitos

Requisitos de conocimientos previos

  • Los participantes deberán tener conocimientos básicos del lenguaje de programación R: asignación de variables, lectura de archivos: read.csv, read.delim, read.table; estructuras de datos: matrix, dataframe, list; tipos de datos: character, numeric, factor, logical, etc; instalación y uso de paquetes.
  • Saber instalar paquetes de R.
  • Saber usar RStudio.

Requisitos técnicos

  • Computadora Personal. Un mínimo de 8 GB de RAM, un ratón y espacio de disco suficiente para archivos de texto y archivos de imagen. Privilegios de administrador para instalar y ejecutar utilidades de RStudio.

Introducción

En años recientes, R se ha convertido en uno de los lenguajes de programación más usados para la ciencia de datos. La explosión en la disponibilidad de datos en muchos campos ha incrementado la demanda para personas capacitadas en el analísis de estos datos, tal como es el caso en la Bioinformática. Los usarios de R empiezan usando herramientas que otros han compartido con la comunidad internacional de forma libre. Mientras van analizando más conjuntos de datos, estos usuarios adquieren más habilidades con R. Durante este proceso incluso es posible que empiecen a interactuar con desarrolladores de R vía páginas web como RStudio Community, Bioconductor Support or vía Twitter usando la equiqueta #rstats o #rstatsES. Eventualmente algunos de los usuarios de R van a querer escribir sus propias funciones y compartirlas en línea con otras personas. Pueden lograr este objetivo si crean paquetes de R y los comparten vía repositorios como CRAN y Bioconductor o simplemente vía GitHub. En este taller los participantes completaran el taller Building Tidy Tools que fue originalemnte impartido durante rstudio::conf 2019 y luego construirán sus propios paquetes de R colaborando con otros participantes, siguiendo una dinámica similar a la del rOpenSci unconf18.

Este taller está enfocado hacia alumnos e investigadores interesados en análisis de datos. Queremos promover solicitudes de expertos en diversas disciplinas, incluyendo mas no limitandonos a biológos, bioinformáticos, científicos de datos, ingenieros de software, programadores y usuarios de R en general. Los principales objetivos del taller son:

  1. Enseñarle a los participantes los principios de la ciencia de datos vía el desarrollo de paquetes de R/Bioconductor.

  2. Transformar usuarios de software (de bioinformática) en desarrolladores de software (de bioinformática).

  3. Fomentar el intercambio de conocimiento y establecer colaboraciones multidisciplinarias.

  4. Crear una comunidad de científicos Latino Americanos comprometidos con el desarrollo de software para análisis de datos (biológicos).

  5. Entrenar a instructores (en bioinformática) para que puedan fomentar el crecimiendo de sus comunidades locales.

Este taller es parte de un proyecto a largo plazo para crear una comunidad Latino Americana de desarrolladores de software. Esperamos poder organizar talleres en el futuro de forma sistemática (similar a BioC, EuroBioC y BioCAsia) donde los participantes presenten sus contribuciones de software. Queremos proveer un ambiente amigable para todos así que les pedimos que sigan el código de conducta.

Programa

El programa general de los TIB2019 (registro, sesiones y descansos) está disponible aquí.

Day 1: Julio 29, 2018
08:00-09:00 Registro
09:00-09:30 Inauguración TIB2019
09:30-10:00 Bienvenida a la CDSB: la historia de nuestra comunidad y hacia donde vamos. Revisión del código de conducta Leonardo Collado-Torres
10:00-10:30 ¿Por qué hacer un paquete de R? Alejandro Reyes
10:30-11:00 Preliminares Leonardo Collado-Torres
11:00-11:30 Descanso y café
11:30-12:30 Paquetes Leonardo Collado-Torres
12:30-14:00 Pruebas Leonardo Collado-Torres
14:00-15:30 Descanso
15:30-17:30 Diseño de API Leonardo Collado-Torres
17:30-18:30 Coctel de bienvenida
Day 2: Julio 30, 2019
09:00-11:00 Programación Funcional Leonardo Collado-Torres
11:00-11:30 Descanso y café
11:30-14:00 Errores Leonardo Collado-Torres
14:00-15:30 Descanso
15:30-17:30 Programación Orientada a Objetos Alejandro Reyes
Day 3: Julio 31, 2019
09:00-11:00 Evaluación “Tidy” Leonardo Collado-Torres
11:00-11:30 Foto grupal
11:30-12:00 Descanso y café
12:000-14:00 Documentar y Compartir Leonardo Collado-Torres
14:00-15:30 Descanso
15:30-17:30 Introducción a GitHub Alejandra Medina-Rivera
Day 4: Augusto 1, 2019
09:00-09:30 Introducción a runconf Leonardo Collado-Torres
09:30-11:00 Actividades para construir la comunidad
11:00-11:30 Descanso y café
11:30-12:00 Votación y selección de proyectos
12:00-14:00 Trabajar en desarrollar un paquete de R de forma colaborativa Alejandra Medina-Rivera, Alejandro Reyes, Leonardo Collado-Torres y Maria Teresa Ortiz
14:00-15:30 Descanso
15:30-17:30 Trabajar en desarrollar un paquete de R de forma colaborativa Alejandra Medina-Rivera, Alejandro Reyes, Leonardo Collado-Torres y Maria Teresa Ortiz
Day 5: Augusto 2, 2019
09:00-09:15 (opcional) cambiar de proyecto
09:15-11:00 Trabajar en desarrollar un paquete de R de forma colaborativa Alejandra Medina-Rivera, Alejandro Reyes, Leonardo Collado-Torres y Maria Teresa Ortiz
11:00-11:30 Descanso y café
11:30-12:00 Evaluación de los talleres
12:00-12:30 Preparar presentaciones de los proyectos
12:30-13:00 Presentaciones de los proyectos del runconf
13:00-13:30 Clausura y recordatorio de oportunidades para participar en la CDSB
13:30-14:00 Ceremonia de clausura de los TIB2019

Construir Herramientas Ordenadas

Charlotte Wickham y Hadley Wickham fueron los instructores de la versión original de este taller en rstudio::conf 2019. Aceptaron amablemente compartir con nosotros los archivos fuente que traducieremos al español para este taller. Si quieres leer la versión original en inglés de este texto, checa nuestro anuncio del taller en inglés.

Este es un taller de dos días para quienes sean usuarios del tidyverse y que ahora quieren expander sus necesidades. Hablaremos sobre diseño de APIs, herramientas para programación funcional, las bases del diseño de objetos en S3, y el system de evaluación ordenada (tidy eval) para evaluación no estándar (NSE en inglés).

Aprendás formas eficientes de escribir funciones de R de alta calidad, usando una serie de convenciones codificadas en un paquete. También aprenderás como diseñar pruebas unitarias para tu software, que te permiten garantizar que tus funciones hacen lo que fueron diseñadas para hacer. Domina el arte de escribir funciones que hacen una sola cosa bien y que pueden ser combinandas de forma fluida para resolver problemas complejos. Repasaremos errores comunes al escribir funciones y como evitarlos.

Aprende a escribir colecciones de funciones que funcionan bien de forma conjunta, y sigue limeamientos existentes para que usuarios nuevos sientan que son fáciles de aprender.

Deberías tomar este taller si tienes experiencia programando en R y quieres aprender a resolver problemas de gran escala. Le sacarás más jugo al taller si ya estás familiarizado con funciones de R y te sientes cómodo con las estructuras básicas de R (vectores, matrices, arreglos, listas y tablas).

En vez de enseñar el taller en dos días, lo haremos en dos días y medio para que tengan más tiempo para digerir todo el material y para que tengamos tiempo de enseñar que es Git y GitHub.

CDSB runconf

Los eventos de R “unconference” (runconf) típicamente involucran dos etapas con una tercera opcional. Primero los participantes crean “issues” semanas antes del runconf donde comparten ideas sobre las cuales potencialmente podrían trabajar durante los dos días del runconf. En la segunda etapa, los participantes se conocen entre todos a través de dinámicas diseñadas para romper el hielo. Luego trabajan de forma colaborativa durante dos días en los proyectos que hayan recibido votos. Es aquí cuando los participantes aprenden de las habilidades de cada quien y donde pueden vivir la experiencia de desarrollar software de acceso libre de forma colaborativa. Al final, todos comparten su experiencia con el resto del grupo. En la tercera y última etapa, los participantes del runconf puede que continuen a interactuar entre ellos para pulir los paquetes de R en los cuales hayan trabajado durante runconf, iniciar nuevas colaboraciones y/o escribir entradas en el blog sobre su experiencia.

Hay muchas entradas de blog sobre eventos de rOpenSci unconf. Un runconf reciente fue chirunconf del cual pueden leer más en el blog de Sharla Gelfand.

Si van a participar en nuestro taller, les vamos a pedir que propongan al menos una idea para un paquete de R vía la creación de un “GitHub Issue” en nuestro repositorio de GitHub para el taller. Si necesitan algo de inspiración, revisen las ideas que otros propusieron para rOpenSci unconf18. También les pediremos que todos se familiarizen con las propuestas de los demás antes del inicio del taller.

Instructores:

Comité Organizador:

Código de Conducta

Patrocinadores

Sé nuestro patrocinador

Centro de Ciencias Genómicas UNAM
Avatar
CDSB
Comunidad de Desarrolladores de Software en Bioinformática

Queremos ayudarte a acquirir las habilidades necesarias para contribuir software libre para la bioinformática usando R

comments powered by Disqus