Module 2 : La vitrine et l’envers du décor : le document computationnel

0. Introduction

Objectifs

  • Extension de la traçabilité aux calculs et à ses résultats
  • Intégration du code et des résultats dans un document du type rapport technique / article scientifique
  • Présentation de 3 outils pour écrire un document computationnel:
    • Jupyter, pour python
    • RStudio, pour R
    • Emacs/Org-mode, pour plusieurs langage

Ces envionnements: - Améliore la traçabilité des calculs - Permet de présenter facilement ses travaux aux collègues - Accéder à l’ensemble des calculs sous-jacents à une analyse

1. Exemple récents d’études assez discutées

Exemple

  • Reinhart et Rogoff : si dette > 90% PIB -> croissance /2.

Erreurs de calculs, pratiques douteuses … mais travaux ont eu de l’impact car les données n’étaient pas mise à disposition

  • Geoffrey Chang

Un code avait mal était fait, code transmit par d’autre lavboratoire. Causant de mauvais calcul de structure proteique

-> manque de rigueur et de transparence

2. Pourquoi est-ce difficile ?

Manque d’informations

Il faut expliciter: - sources et données

données indisponibles = resultats difficile à vérifier

  • choix

choix non expliqués = choix suspicieux

Le cahier de labo peut aider

L’ordinateur, source d’erreurs

  • point and click (on ne sait pas trop ce qui se passe, boite noire)
  • les tableurs
    • nom de gène : MARCH1 -> 2016-03-01 …
  • Pile logicielle complexe
    • logiciel propriétaire
  • bug

Le manque de rigueur et d’organisation

  • pas de backup
  • pas d’historique
  • pas de contrôle qualité

Dimension cuturelle et sociale

Article = version simplifié de la procédure

Données trop grosses pour être mise à disposition

Les traitements informatique ne sont expliqué que succintement

Beaucoup de travail pour tout partager et après tout pourquoi s’embéter si personne ne les demandent ?

Tout rendre public ?

  • les faiblesses deviendraient évidentes ? oui mais c’est la réalité
  • Quelqu’un pourrait trouver une erreur ? Mais ca permet de les corriger
  • Quelqu’un pourrait en tirer avantage à ma place ?
    • les articles les plus cité sont des articles méthodologiques/logiciel
    • montrer ce que l’on fait c’est probablement le meilleur moyen de mettre en avant la propriété intellectuelle
  • Les données peuvent être sensible
    • outil de cryptographie “facile d’accés”

Les outils à éviter et alternatives

  • outils, formats, et services propriétaires
    • open source pour
    • format texte
    • stocker les données dans des services libres
  • Attention au outil intuitif
    • plus difficile pour le suivi

Changement de paradigme

  1. Manque d’information, problème d’accès aux données
  2. Erreurs de calcul
  3. Manque de rigueur scientifique et technique

Expliquer augmente les chances de trouver les erreurs et de les élimineré

Exigence de la part de la société civil de publication des différentes sources dans le but d’améliorer la recherche et gagner la confiance avec tout le monde ;p

3. Le document computationnel : principe

La science moderne

La science se passe de plus en plus derrière un ordinateur

Données -> analyses visualisations -> publication

Article est la partie immergée de l’iceberg

Objectif méthodologique

Garder les trace afin de : - inspecter : justifier / comprendre - refaire : vérifier / corriger / réutiliser

Notebook : la vitrine (document computationnel) et l’envers du décors (source)

Un document computationnel contient: - des commentaires - du code - un aperçu des données - les résultats de calculs - des liens hypertextes - des images

Il permet de: - inspecter les calculs - réexécuter facilement les calculs si l’environnement d’origine est disponible - Documenter le code - Expliquer les choix faits - Utiliser plusieur langages (mais c’est un peu compliqué)

4. Prise en main des outils

4B. Prise en main de l’outil RStudio

5. Travailler avec les autres

Préparer un document pour un jounal

pdf LaTex bien installé

Expliciter les cellules a afficher

Besoin de beaucoup de travailler pour avoir un environnement parfaitement configuré pour générer le pdf

Convaincre vos co-auteurs

plusieurs réaction: - bonne idée ! - pas le temps - pourquoi changer ?

bonne idée Il faut assurer le service après-vente - crossplatform - gérer la complexité

Si plusieurs co-auteur utilise le même type environnement permet de s’assurer que le fichier est correcte

pas le temps investissement minima

édition du fichier de publication

pourquoi changer un document computationnel séparé produit tous les résultats et toutes les figures

un autre document “classique” intégré ces figures

mais tout est concervé, documenté et recalculable dans votre document computationnel

Publier / partager votre document

Rpubs - parfait pour partage rapide mais pas pérenne

Dropbox, et autres - pérénité, accés ?? ..

Gitlab / github / …

  1. Rendre public (même l’historique)
  2. le prendre en compte dés le départ
  3. faire le ménage et archiver l’état dans un site compagnon

Sites compagnons service d’hébergement - runmycode, éditeurs, …

Archive ouverte - Article: HAL; code et données : Figshare / zenodo

Faire en fonction de: - co-auteurs - contrainte techniques - contraintes de confidentialité / copyright

Préparation d’un document pour un journal ou pour une conférence

De quoi aurez-vous besoin pour produire un document pdf:

  • En interne: pandoc, knitr ou emacs/org-mode.
  • LaTeX devra aussi être installé

6. Analyse comparé des différents outils

jupyter : Facile car tout en ligne, dynamique

Orgmode : recherche par regex -> pratiique pour les étiquettes donc pour un journal

Cas d’un cahier de laboratoire

Article reproductible

|                 | Origine   | technologie        | utilisation   | navigation | format | article?  |
|-----------------|-----------|--------------------|---------------|------------|--------|-----------|
| jupyter         | 2001      | web, app, python   | facile        | limitée    | JSON   | Difficile |
| Rstudio / knitr | 2011/2014 | IDE, java/R        | facile        | limitée    | Rmd    | oui       |
| Org-Mode        | 1976/2008 | Editeur, EmacsLisp | plus complexe | puissante  | org    | oui       |

Galerie de Notebooks

galerie