Trabajando con notebooks y entornos de trabajo Jupyter en bioinformática

Héctor Rodríguez
PhD candidate at Hospital La Candelaria
Eva Suárez
PhD candidate at Hospital La Candelaria

A menudo, para el análisis bioinformático trabajamos directamente con consola, editores de texto para nuestros scripts, o entornos como RStudio. Sin embargo, el uso de cuadernos computacionales o notebooks, es cada vez más frecuente. En este artículo, explicaremos brevemente en qué consiste el trabajo con notebooks y sus ventajas, así como algunas herramientas para comenzar a integrar entornos de trabajo basados en Jupyter en nuestro trabajo del día a día.

Concepto y aplicación en bioinformática

Los notebooks son documentos interactivos en los que podemos integrar texto, código ejecutable en diversos lenguajes de programación, así como, tablas o figuras. Su uso se ha popularizado en los últimos años y cada vez es más común la información presentada en este formato y su integración en entornos de formación gracias a la sencillez y las ventajas que proporciona.

Su uso para análisis bioinformático es idóneo en muchos casos, ya que funcionan como un equivalente a los cuadernos de laboratorio tradicionales y nos dan la posibilidad de llevar un seguimiento documentado de nuestro trabajo ya sea código Python/R, comandos de bash o mediante tablas y anotaciones. Además, trabajar con notebooks puede resultarnos más sencillo que el manejo de scripts o consola a la hora de llevar a cabo un análisis determinado y es una buena manera de hacer nuestro análisis más reproducible. 

Existen diferentes herramientas para el desarrollo y el trabajo con Notebooks, a continuación, describiremos las principales características de dos de ellas: Jupyter Lab y Google Colab.

Jupyter Lab

Jupyter Lab es una interfaz de usuario basada en una aplicación web para el manejo de notebooks. La interfaz también permite trabajar con editores de texto, consolas y componentes personalizados por lo que integra en una sola interfaz todos los elementos implicados en el análisis de datos mediante el uso de notebooks.

  • Aprovecha los “Magic commands”. Además de código nativo, podemos ejecutar otro tipo de acciones como ejecución de código R, Perl… o comandos del sistema utilizando un prefijo en la celda de código (Ejemplo: %%bash). El uso de estos Magic commands amplía enormemente la capacidad de un notebook. Puedes encontrar más información en la documentación.
  • Instala kernels para tus lenguajes preferidos. Por defecto, Jupyter Lab permite la creación y ejecución de cuadernos con código Python. Gracias a la instalación de módulos de kernel, podemos crear y trabajar con notebooks en otros lenguajes de manera nativa como R, Scala, bash… Puedes encontrar la lista de kernels disponibles aquí.
  • Prueba las extensiones. La comunidad permanece activa en el desarrollo de extensiones o plugins de Jupyter Lab. Aunque no son necesarias, pueden facilitar múltiples tareas como documentación, monitoreo del sistema, visualización y debugging. Puedes encontrar algunas extensiones interesantes en esta lista.
  • Despliegue de entorno Jupyter Lab con conda. Con la herramienta conda es posible desplegar un entorno de cómputo con las dependencias necesarias y Jupyter Lab de manera sencilla, así que si tienes experiencia con entornos conda, te recomendamos este método (descrito como “project-based” en la segunda parte de este artículo) para probarlo sin instalar los paquetes en el sistema.

Jupyter Lab está disponible para cualquier sistema operativo con Python, y la instalación y uso están ampliamente documentados aquí

Google Colab

Google Colab es una herramienta que ofrece Google para el desarrollo de Notebooks. Es un servicio alojado de Jupyter Notebook que no requiere configuración o instalación previa. Colab nos ofrece un entorno interactivo en línea, que permite la ejecución de código de forma dinámica en la nube. Esta es una de las principales diferencias con otras plataformas como Jupyter Lab, que están pensadas para trabajar en local.

El código se ejecuta en una máquina virtual asignada a la cuenta de Google que use el usuario. No es necesario un ordenador demasiado potente, ya que el procesamiento se realiza desde los servidores de Google. Sin embargo, hay que tener en cuenta algunas, por ejemplo, las máquinas virtuales tienen un ciclo de vida de 12 horas y sus recursos pueden verse limitados cuando hay una alta demanda por parte de los usuarios.

Los cuadernos Google Colab se almacenan en Google Drive, lo que permite compartir, comentar y colaborar en el mismo documento con varias personas, facilitando el trabajo en equipo, además, permite buscar e importar cuadernos desde GitHub. Si queremos iniciarnos en el uso de Colab, Google nos ofrece cuadernos con explicaciones de sus características y ejemplos para su aplicación en ciencia de datos o machine learning. 

Scroll to Top