2  Buenas prácticas en bioinformática

Notas personales recabadas a partir de los tutoriales y ejemplos 😊. Espero que les funcione 💜

Note

Presentación completa empleando Rmarkdown

2.1 Materiales informativos

💪 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).

Wilson, et al. 2014. PLOS Biology

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.

Pasos para escribir un buen software
  1. Análisis del problema / Definir el problema

  2. Diseño del algoritmo / Diseño del programa

  3. Codificación / Escribir el código

  4. Compilación y ejecución del programa

  5. Verificación / Realizar pruebas

  6. Depuración / Detectar los errores y corregirlos

Programacion defensiva

  1. Documentación

2.4 Paso 7: Documentación

Note
  • 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 ⭐

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

  2. Modularidad: Divide los programas en funciones cortas de un solo propósito. 💻 📚

  3. No repitas tu código. Crea pasos reproducibles o que se repitan por si solas. ➰

  4. Planifique los errores (Programacion defensiva) 🚩

  5. Optimice el software sólo después de que funcione correctamente. - Si funciona no lo modifiques, simplificalo.

  6. Colaborar - Busque siempre bibliotecas de software bien mantenidas que hagan lo que necesita. 👥

Ejemplo de como realizo mis documentos 💜

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