Once consejos para trabajar con grandes conjuntos de datos
Los grandes datos son difíciles de manejar. Estos consejos y trucos pueden allanar el camino.
Anna Nowogrodzki
Ilustración de The Project Twins
Versión PDF
Nature
Los grandes datos están en todas partes en la investigación, y los conjuntos de datos son cada vez más grandes y más difíciles de trabajar. Desafortunadamente, dice Tracy Teal, es un tipo de trabajo que con demasiada frecuencia queda fuera de la capacitación científica.
"Es una mentalidad", dice Teal, "tratando los datos como un ciudadano de primera clase". Ella debe saber: Teal fue hasta el mes pasado el director ejecutivo de The Carpentries, una organización en Oakland, California, que enseña habilidades de codificación y datos a investigadores a nivel mundial. Ella dice que existe una tendencia en la comunidad de investigación a descartar el tiempo y el esfuerzo necesarios para administrar y compartir datos, y no considerarlos como una parte real de la ciencia. Pero, sugiere, "podemos cambiar nuestra mentalidad para valorar ese trabajo como parte del proceso de investigación", en lugar de tratarlo como una ocurrencia tardía.
Aquí hay 11 consejos para aprovechar al máximo sus grandes conjuntos de datos.
Aprecia tus datos
"Mantenga sus datos en bruto sin procesar: no los manipule sin tener una copia", dice Teal. Recomienda almacenar sus datos en algún lugar que cree copias de seguridad automáticas y que otros miembros del laboratorio puedan acceder, respetando las normas de su institución sobre consentimiento y privacidad de datos.
Debido a que no necesitará acceder a estos datos con frecuencia, dice Teal, "puede usar las opciones de almacenamiento donde puede costar más dinero acceder a los datos, pero los costos de almacenamiento son bajos", por ejemplo, el servicio Glacier de Amazon. Incluso podría almacenar los datos en bruto en discos duros duplicados guardados en diferentes ubicaciones. Los costos de almacenamiento para archivos de datos grandes pueden acumularse, por lo que debe presupuestar en consecuencia.
Visualiza la información
A medida que los conjuntos de datos se hacen más grandes, surgen nuevas arrugas, dice Titus Brown, un bioinformático de la Universidad de California, Davis. "En cada etapa, te encontrarás con un nuevo y emocionante comportamiento desordenado". Su consejo: "Haz muchos gráficos y busca valores atípicos". En abril pasado, uno de los estudiantes de Brown analizó los transcriptomes: el conjunto completo de Moléculas de ARN producidas por una célula u organismo: a partir de 678 microorganismos marinos como el plancton (
LK Johnson et al. GigaScience 8, giy158; 2019). Cuando Brown y su alumno registraron los valores promedio de la duración de la transcripción, la cobertura y el contenido genético, notaron que algunos valores eran cero, lo que indica dónde había fallado el flujo de trabajo computacional y había que volver a ejecutarlo.
Muestra tu flujo de trabajo
Cuando el físico de partículas Peter Elmer ayuda a su hijo de 11 años con su tarea de matemáticas, tiene que recordarle que documente sus pasos. "Él solo quiere escribir la respuesta", dice Elmer, quien es director ejecutivo del Instituto de Investigación e Innovación en Software para Física de Alta Energía en la Universidad de Princeton en Nueva Jersey. Los investigadores que trabajan con grandes conjuntos de datos pueden beneficiarse del mismo consejo que Elmer le dio a su hijo: "Mostrar su trabajo es tan importante como llegar al final".
Esto significa registrar todo su flujo de trabajo de datos, qué versión de los datos que utilizó, los pasos de limpieza y control de calidad y cualquier código de procesamiento que ejecutó. Dicha información es invaluable para documentar y reproducir sus métodos. Eric Lyons, biólogo computacional de la Universidad de Arizona en Tucson, utiliza la herramienta de captura de video
asciinema para registrar lo que escribe en la línea de comando, pero las soluciones de baja tecnología también pueden funcionar. Un grupo de sus colegas, recuerda, tomó fotos de la pantalla de su computadora y las publicó en el grupo del laboratorio en Slack, una plataforma de mensajería instantánea.
Usar control de versiones
Los sistemas de control de versiones permiten a los investigadores comprender con precisión cómo ha cambiado un archivo con el tiempo y quién realizó los cambios. Pero algunos sistemas limitan el tamaño de los archivos que puede usar.
Harvard Dataverse (que está abierto a todos los investigadores) y Zenodo se pueden usar para el control de versiones de archivos grandes, dice Alyssa Goodman, astrofísica y especialista en visualización de datos en la Universidad de Harvard en Cambridge, Massachusetts. Otra opción es Dat, una red gratuita de igual a igual para compartir y versionar archivos de cualquier tamaño. El sistema mantiene un registro a prueba de manipulaciones que registra todas las operaciones que realiza en su archivo, dice Andrew Osheroff, desarrollador principal de software en Dat en Copenhague. Y los usuarios pueden ordenar al sistema que archive una copia de cada versión de un archivo, dice la gerente de producto de Dat, Karissa McKelvey, con sede en Oakland, California. Dat es actualmente una utilidad de línea de comandos, pero "hemos estado actualizando activamente", dice McKelvey; El equipo espera lanzar un front end más fácil de usar a finales de este año.
Grabar metadatos
"Sus datos no son útiles a menos que las personas, y" el futuro ", sepan cuáles son", dice Teal. Ese es el trabajo de los metadatos, que describen cómo se recopilaron, formatearon y organizaron las observaciones. Considere qué metadatos registrar antes de comenzar a recopilar, Lyons aconseja, y almacene esa información junto con los datos, ya sea en la herramienta de software utilizada para recopilar las observaciones o en un archivo README u otro archivo dedicado. El Proyecto Open Connectome, dirigido por Joshua Vogelstein, un neuroestadístico de la Universidad Johns Hopkins en Baltimore, Maryland, registra sus metadatos en un formato de texto plano estructurado llamado JSON. Cualquiera que sea su estrategia, trate de pensar a largo plazo, dice Lyons: algún día querrá integrar sus datos con los de otros laboratorios. Si eres proactivo con tus metadatos, esa integración será más fácil en el futuro.
Automatizar, automatizar, automatizar
Los grandes conjuntos de datos son demasiado grandes para peinarlos manualmente, por lo que la automatización es clave, dice Shoaib Mufti, director senior de datos y tecnología del Instituto Allen para la Ciencia del Cerebro en Seattle, Washington. El equipo de neuroinformática del instituto, por ejemplo, utiliza una plantilla para los datos de las células cerebrales y la genética que acepta información solo en el formato y tipo correctos, dice Mufti. Cuando llega el momento de integrar esos datos en una base de datos o colección más grande, los pasos de garantía de calidad de datos se automatizan usando Apache Spark y Apache Hbase, dos herramientas de código abierto, para validar y reparar datos en tiempo real. "Nuestro conjunto completo de herramientas de software para validar e ingerir datos se ejecuta en la nube, lo que nos permite escalar fácilmente", dice. El Proyecto Open Connectome también proporciona garantía de calidad automatizada, dice Vogelstein: esto genera visualizaciones de estadísticas resumidas que los usuarios pueden inspeccionar antes de continuar con sus análisis.
Haga que el tiempo de computación cuente
Grandes conjuntos de datos requieren informática de alto rendimiento (HPC), y muchos institutos de investigación ahora tienen sus propias instalaciones de HPC. La Fundación Nacional de Ciencias de EE. UU. mantiene la red nacional HPC XSEDE, que incluye la red de computación basada en la nube Jetstream y los centros HPC en todo el país. Los investigadores pueden solicitar asignaciones de recursos en xsede.org y crear cuentas de prueba en
go.nature.com/36ufhgh. Otras opciones incluyen la red ACI-REF con sede en EE. UU., NCI Australia, la Asociación para la Computación Avanzada en Europa y las redes ELIXIR, así como proveedores comerciales como Amazon, Google y Microsoft.
Pero cuando se trata de computación, el tiempo es dinero. Para aprovechar al máximo su tiempo de computación en los clústeres GenomeDK y Computerome en Dinamarca, Guojie Zhang, investigador de genómica de la Universidad de Copenhague, dice que su grupo generalmente realiza pruebas a pequeña escala antes de migrar sus análisis a la red HPC. Zhang es miembro del Proyecto de Genomas de Vertebrados, que busca ensamblar los genomas de unas 70,000 especies de vertebrados. "Necesitamos millones o incluso miles de millones de horas informáticas", dice.
Captura tu entorno
Para replicar un análisis más tarde, no necesitará la misma versión de la herramienta que utilizó, dice Benjamin Haibe-Kains, farmacogenómico computacional en el Centro de Cáncer Princess Margaret en Toronto, Canadá. También necesitará el mismo sistema operativo y las mismas bibliotecas de software que requiere la herramienta. Por esta razón, recomienda trabajar en un entorno informático autónomo, un contenedor Docker, que se puede ensamblar en cualquier lugar. Haibe-Kains y su equipo utilizan la plataforma en línea Code Ocean (que se basa en Docker) para capturar y compartir sus entornos virtuales; Otras opciones incluyen
Binder, Gigantum y Nextjournal. "Diez años a partir de ahora, aún podría ejecutar esa tubería exactamente de la misma manera si lo necesita", dice Haibe-Kains.
No descargue los datos.
Descargar y almacenar grandes conjuntos de datos no es práctico. Los investigadores deben ejecutar análisis de forma remota, cerca de donde se almacenan los datos, dice Brown. Muchos proyectos de big data usan Jupyter Notebook, que crea documentos que combinan código de software, texto y figuras. Los investigadores pueden "girar" dichos documentos en o cerca de los servidores de datos para realizar análisis remotos, explorar los datos y más, dice Brown. Brown dice que Jupyter Notebook no es particularmente accesible para los investigadores que podrían sentirse incómodos usando una línea de comando, pero hay plataformas más fáciles de usar que pueden cerrar la brecha, incluidas Terra y Seven Bridges Genomics.
Empezar temprano
La gestión de datos es crucial incluso para los investigadores jóvenes, así que comience su entrenamiento temprano. "Las personas sienten que nunca tienen tiempo para invertir", dice Elmer, pero "a la larga se ahorra tiempo". Comience con los conceptos básicos de la línea de comandos, más un lenguaje de programación como Python o R, lo que sea más importante para su campo, dice. Lyons está de acuerdo: "Paso uno: familiarizarse con los datos de la línea de comandos". En noviembre, algunos de sus colaboradores que no dominaban el uso de la línea de comandos tuvieron problemas con los datos genómicos porque los nombres de los cromosomas no coincidían en todos sus archivos, Dice Lyons. "Tener algunas habilidades básicas de línea de comandos y programación me permite corregir rápidamente los nombres de los cromosomas".
Consigue ayuda
La ayuda está disponible, en línea y fuera de ella. Comience con el foro en línea Stack Overflow. Consulte a los bibliotecarios de su institución sobre las habilidades que necesita y los recursos que tiene disponibles, aconseja Teal. Y no descarte la capacitación en el sitio, Lyons dice: "The Carpentries es un excelente lugar para comenzar".