Monthly Archives: December 2020

[shared] Reproducible analysis for the very lazy | Análisis reproducibles para los más flojos

Lectura recomendadísima con unos cuantos consejos sobre cómo organizar los directorios de trabajo para facilitar la reproducibilidad, el orden homogéneo de todos nuestros proyectos, y nuestra salud mental en general. Cuanto menos, dan inspiración y refuerzan ideas o experiencias previas en el mundo de los sistemas de archivos. Además, molan porque son tan sencillos que ayudan hasta a los que más nos cuesta organizar las cosas. Traducidos al castellano, los comentarios más importantes serían:

  1. Crea una estructura estándar para tus proyectos, respétala en todo momento, conócela como la palma de tu mano, y reutilízala en cada proyecto que hagas. Por ejemplo:
    1. Ten un directorio por cada proyecto que tengas. Todo lo necesario para un proyecto debería estar en el mismo directorio raíz.
    2. Dentro del directorio principal del proyecto, al menos los tres siguientes sub-directorios:
      1. Código: todos los scripts, borradores de código, etc.
      2. Datos: todos los raw data, datos tabulares, etc. Todo lo que se generó durante un experimento, así como información proporcionada por otra persona.
      3. Resultados: todo lo generado usando código.
  2. Usa enlaces simbólicos (==symbolic links, o symlinks) (ln -s) para evitar la redundancia de datos. Importantísimo, que a la hora de llamar el comando ‘ln -s’ se haga usando la ruta completa del archivo de origen, incluyendo cuanto menos el directorio home (“~/ruta/al/archivo” en lugar de, por ejemplo, “../ruta/al/archivo”).
  3. Usa rutas (==paths) relativas entre sí. Por ejemplo, si trabajas en R, sitúa tu workingdirectory en “~/ProjectName” y haz las llamadas a lecturas de datos desde “Data/…”. ¿Que tienes algún dato o cosa que necesitas usar rápido y sin más importancia? Usa el consejo #2 (link simbólico a “Data/” ) para respetar la estructura decidida en la regla 1.

Si quieres más consejos a cuenta de la casa, continúa leyendo.

Continue reading