6 Buenas practicas en R
Notas personales recabadas a partir de los tutoriales y ejemplos 😊. Espero que les funcione 💜
6.1 Materiales informativos
Me ayudo mucho este Video
💪 Estuve muy intensa viendo su codigo. Muchas gracias por tenerlos publico.
6.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.
6.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
Con el fin de previnir retracciones.
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
6.4 Paso 7: Documentación
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.
6.5 Puntos claves para buenas practicas 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.
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.
6.6 Referencias
- 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