Algoritmos en Python para Medicina y Ciencias de la Vida
Martin Munive
Médico General
Analista y programador de software
Un libro web para estudiar algoritmos desde problemas biomédicos: datos clínicos, decisiones, riesgo, estructuras de información, seguimiento de pacientes y sistemas computacionales para ciencias de la vida.
Materia Médica Digitalis parte de una premisa sencilla: los algoritmos se entienden mejor cuando dejan de ser abstracciones aisladas y se convierten en instrumentos para pensar problemas reales. El libro usa Python como lenguaje de trabajo y la medicina como territorio de aplicación para construir pensamiento computacional con rigor, claridad y utilidad.
- Sitio web: https://martin-munive.github.io/Materia_Medica_Digitalis/
- Portada: https://martin-munive.github.io/Materia_Medica_Digitalis/chapters/00-portada.html
- Prefacio: https://martin-munive.github.io/Materia_Medica_Digitalis/chapters/00-prefacio.html
- Presaberes mínimos: https://martin-munive.github.io/Materia_Medica_Digitalis/chapters/00-presaberes-minimos.html
Este libro estudia algoritmos, estructuras de datos y pensamiento computacional aplicado a medicina y ciencias de la vida.
No es una colección de apuntes ni una lista de ejercicios. La aspiración editorial es construir una obra progresiva donde cada capítulo responda tres preguntas:
- Qué problema resuelve este concepto.
- Cómo se implementa con Python.
- Por qué importa en un contexto biomédico real.
El objetivo no es enseñar Python como sintaxis aislada. El objetivo es enseñar a razonar con algoritmos.
Este libro está escrito para:
- estudiantes y profesionales de medicina que quieren entrar a programación, ciencia de datos o inteligencia artificial;
- investigadores en ciencias de la vida que necesitan automatizar análisis, ordenar datos y construir herramientas reproducibles;
- programadores interesados en aplicaciones biomédicas con sentido clínico y científico;
- lectores que quieren aprender algoritmos desde casos concretos, no desde ejemplos genéricos.
No se asume formación avanzada en ciencias de la computación. Sí se espera curiosidad, paciencia y voluntad de pensar con precisión.
Al avanzar por el libro, el lector debería poder:
- traducir problemas biomédicos a estructuras computacionales;
- distinguir datos, reglas, decisiones, flujos y estados;
- implementar algoritmos fundamentales en Python;
- evaluar complejidad temporal y espacial sin perder intuición práctica;
- construir herramientas pequeñas, verificables y útiles;
- entender por qué un algoritmo correcto puede ser clínicamente insuficiente si ignora contexto, sesgo o seguridad.
- Qué es un algoritmo
- Pensar en pasos
- Variables, datos y decisiones
- Estados, condiciones y umbrales
- Excepciones, datos faltantes y trazabilidad
- Condicionales
- Bucles
- Funciones
- Errores, excepciones y seguridad del cálculo
- Tipos de datos para problemas biomédicos
- Listas, diccionarios y tablas simples
- Lectura y limpieza de datos
- Cálculo clínico reproducible
- Automatización de tareas repetitivas
- Validación de entradas
- Búsqueda lineal y búsqueda binaria
- Búsqueda en espacios de decisión
- Ordenamiento y priorización
- Hashing, índices y recuperación
- Conteo, frecuencia y distribución
- Filtrado de pacientes, eventos y resultados
- Agrupación y resumen
- Complejidad computacional
- Recursividad y divide-and-conquer
- Algoritmos voraces
- Programación dinámica
- Grafos y caminos
- Sensibilidad, especificidad y valores predictivos
- Riesgo absoluto, riesgo relativo y NNT
- Scores clínicos como algoritmos
- Triage y estratificación de riesgo
- Series temporales en signos vitales
- Alertas, umbrales e incertidumbre
- Calibración, validación y sesgo
- Modelos probabilísticos elementales
- Arrays y matrices
- Tablas clínicas
- Grafos y redes biomédicas
- Árboles de decisión
- Pilas, colas y flujos de atención
- Índices y recuperación de información
- Representación de conocimiento médico
- Calculadora de riesgo cardiovascular
- Clasificador simple de urgencias
- Seguimiento longitudinal de laboratorio
- Detección de interacciones o contraindicaciones
- Banco de preguntas médico con seguimiento de intentos
- Sistema de priorización de pacientes
- Mini motor de reglas clínicas
- Series temporales de signos vitales
- Señales fisiológicas
- Texto médico y recuperación semántica
- Imagen biomédica como matriz y señal
- Secuencias como estructuras de datos
- Distancia, similitud y alineamiento
- Programación dinámica en bioinformática
- Búsqueda en genomas grandes
- Variantes genéticas
- Redes génicas
- Datos ómicos
- Interpretación computacional de evidencia molecular
- Señales neurológicas
- Grafos cerebrales
- Modelos dinámicos
- Redes neuronales biológicas y artificiales
- Aprendizaje, plasticidad y representación
- Límites de la analogía cerebro-computador
- Organización de proyectos Python
- Pruebas y verificación
- Documentación técnica y médica
- Interfaces simples
- Ética, seguridad y responsabilidad
- Límites de la automatización clínica
- Algoritmos en medicina de precisión
- Modelos fundacionales en biomedicina
- Sistemas de soporte de decisión
- Agentes y herramientas longitudinales
- Explicabilidad, incertidumbre y seguridad
- Sesgo, responsabilidad y límites de automatización
Un algoritmo no es una receta vacía. Es una forma de hacer explícita una decisión.
En medicina y ciencias de la vida, esa decisión rara vez vive sola: aparece dentro de incertidumbre, datos incompletos, riesgos, umbrales, pacientes, poblaciones y consecuencias. Por eso este libro no separa la técnica del contexto. La técnica se estudia para pensar mejor.
El código y los materiales del repositorio se distribuyen bajo licencia MIT, salvo que un archivo específico indique otra cosa.