6  Introducción a la bioinformática como lupa para la vida

Instructora: Evelia Coss

¿Qué es la bioinformática y la ciencia de datos?

6.1 Bioinformática se conforma de la computación, biológica, matemáticas y estadística

La bioinformática, en relación con la genética y la genómica, es una subdisciplina científica que implica el uso de ciencias informáticas para recopilar, almacenar, analizar y diseminar datos biológicos, como secuencias de ADN, ARN y aminoácidos o anotaciones sobre esas secuencias NIH, 2023.

6.1.1 Ciencia de Datos

La ciencia de datos es una disciplina transversal más amplia que combina estadística, programación y conocimiento de dominio. Su enfoque es:

  • Objeto de estudio: Cualquier tipo de datos (estructurados o no estructurados) de cualquier dominio
  • Objetivo: Extraer insights, patrones y conocimiento accionable de grandes volúmenes de datos
  • Aplicaciones: Marketing, finanzas, salud pública, logística, recomendaciones, predicciones generales
  • Contexto: Aplicable a múltiples industrias y campos

6.1.2 Comparación Directa

Aspecto Bioinformática Ciencia de Datos
Especialización Altamente especializada en biología Generalista, aplicable a cualquier dominio
Datos Biológicos y genómicos Cualquier tipo de datos
Herramientas BLAST, FASTA, Bioconductor, Galaxy Python, R, SQL, TensorFlow, Spark
Formación base Biología + Informática Estadística + Programación + Dominio
Pregunta típica ¿Qué mutación causa esta enfermedad? ¿Cuál es el patrón en estos datos?

7 Buenas prácticas en bioinformática

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

Nota

Presentación completa empleando Rmarkdown

7.1 Materiales informativos

💪 Estuve muy intensa viendo su codigo. Muchas gracias por tenerlos publico.

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

Imagen tomada de Allison Horst.

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

NotaPasos 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

7.4 Paso 7: Documentación

Nota
  • 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.

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

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

7.6 Referencias