2 Buenas prácticas en bioinformática
Notas personales recabadas a partir de los tutoriales y ejemplos 😊. Espero que les funcione 💜
Presentación completa empleando Rmarkdown
2.1 Materiales informativos
- Curso de Joselyn Cristina Chávez Fuentes
- Me ayudo mucho este Video
- Documentación de funciones de Andrés Arredondo Cruz
💪 Estuve muy intensa viendo su codigo. Muchas gracias por tenerlos publico.
2.2 Un algoritmo nos permite resolver un problema ⭐
Un algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
- Definido: si se sigue dos veces, se obtiene el mismo resultado. Es reproducible.
- Preciso: implica el orden de realización de cada uno de los pasos.
- Finito: Tiene un numero determinado de pasos, implica que tiene un fin.
Un algoritmo podemos definirlo como un programa o software.
2.3 Para escribir un buen software necesitas:
Escribir código mantenible (maintainable code), usar control de versiones (version control) y rastreadores de problemas (issue trackers), revisiones de código (code reviews), pruebas unitarias (unit testing) y automatización de tareas (task automation).
En bioinformática, es fundamental garantizar el uso ético y responsable de datos sensibles, como los genomas humanos, respetando la privacidad y los marcos legales vigentes. Al mismo tiempo, se debe fomentar la ciencia abierta mediante prácticas transparentes y reproducibles, sin comprometer la integridad de la información. Estas acciones no solo fortalecen la confianza en los resultados, sino que también previenen errores graves que podrían derivar en la retracción de artículos científicos.
Análisis del problema / Definir el problema
Diseño del algoritmo / Diseño del programa
Codificación / Escribir el código
Compilación y ejecución del programa
Verificación / Realizar pruebas
Depuración / Detectar los errores y corregirlos
Programacion defensiva
- Documentación
2.4 Paso 7: Documentación
Título (opcional)
Autor (author): Su nombre
Dia (date): Fecha de creación
Paquetes (packages)
Directorio de trabajo (Working directory): En que carpeta se encuentra tu datos y programa.
Información descriptiva del programa (Description): ¿Para qué sirve el programa? Ej: El siguiente programa realiza la suma de dos numeros enteros a partir de la entrada del usuario y posteriormente la imprime en pantalla.
Usage ¿Cómo se utiliza?
Argumentos (Arguments)
Información de entrada (Data Inputs): Ej: Solo numeros enteros (sin decimales).
Información de salida (Outpus): Graficas, figuras, tablas, etc.
2.5 Puntos claves para buenas prácticas en bioinfo ⭐
Escriba programas para personas, no para computadoras (Documenta qué hace y por qué). - Se coherente en la nomenclatura, indentación y otros aspectos del estilo.
Modularidad: Divide los programas en funciones cortas de un solo propósito. 💻 📚
No repitas tu código. Crea pasos reproducibles o que se repitan por si solas. ➰
Planifique los errores (Programacion defensiva) 🚩
Optimice el software sólo después de que funcione correctamente. - Si funciona no lo modifiques, simplificalo.
Colaborar - Busque siempre bibliotecas de software bien mantenidas que hagan lo que necesita. 👥
Aqui les dejo el script que les doy a mis alumnos VisualizacionDatos.R del curso de Análisis de datos de RNA-Seq.
2.6 Referencias
- Presentación de Reproducibilidad de Miriam Lerma
- Presentación introducción a Git, GitHub y Zenodo de Miriam Lerma
- Presentación de Introducción a la Bioinformática - Heladia Salgado
- Mi próximo artículo científico en R de Florencia D´Andrea
- Kristie Reproducible Research
- Presentación de Kristie
- FAIR- bioinformatic
- Unidad 1 Bioinformática e investigación reproducible
- The five pillars of computational reproducibility: bioinformatics and beyond
- Investigación reproducible y análisis de datos
- Haydee tutorial: Temas Selectos de Análisis Numérico y Computación Científica: Computo científico para el análisis de datos
- Alejandra Medina tutorial: Control de versiones con GitHub y RStudio
- Wilson, et al. 2014. Best Practices for Scientific Computing. PLOS Biology
- Evelia Coss - tutorial Buenas practicas en R
- Evelia Coss - Make your CV tutorial
- Markdwn Guide - Getting Started
- Allison Horst - Imagenes
- Statistical Computing using R and Python
- Training Materials
- Visual Studio Code
- Articulo reproducibilidad