K O N R A D H I N S E N We redo Science ! ReScience Reproducible science is good. Replicated science is better. N I C O L A S R O U G I E R Once upon a time there was a model… (Guthrie et al., 2013) Nice paper, good results, but… • • • • • • • No public repository No easy access No version control Model description included ambiguous information Sources were mixing actual computation and GUI code Model was split into a hundred files Main file was 6,000 lines long Model was hardly reproducible. R E S C I E N C E . G I T H U B . I O Did you say reproducible science ? (Crook et al., 2011) “Reproducible experiments are the cornerstone of science: only observations that are independently confirmed enter the body of scientific knowledge. Computational science should excel in reproducibility, as simulations on digital computers avoid many of the small variations that are beyond the control of the experimental biologist or physicist.” Reality is different, though. xkcd.com R E S C I E N C E . G I T H U B . I O Three months of hard work for a 200 lines script... (Topalidou et al., 2015) Three months of hard work: • Use of the Python language and numerical libraries • Use of the DANA library for intuitive description • Use of the IPython notebook for interactive sessions Source is now a single file of ~200 readable lines. Without this replication effort, model would have been dead and forgotten by the community. Bill Waterson R E S C I E N C E . G I T H U B . I O What is replication ? Bob reads Alice’s paper, takes note of all model properties and then implements the model himself using a method of his choice. Bob confirms Alice’s result by obtaining qualitatively the same results. Alice’s model is declared reproducible. octodex.github.com R E S C I E N C E . G I T H U B . I O Did you say replication ? During the course of a PhD, it is often the case that a student will try to replicate results from the literature, possibly interacting with the original authors. Such replication generally lives inside the hard-drive of the computer’s student while it would be actually useful for the whole scientific community. What do we do then ? Let’s review it & publish it ! octodex.github.com R E S C I E N C E . G I T H U B . I O Can we make such effort sustainable ? Yes we can !™ ReScience is a peer-reviewed journal that target any computational research and encourage the explicit reproduction of already published research promoting new and open-source implementations. ReScience lives on github where each new implementation is made available together with explanations (article) And of course, we privilege Python replications… R E S C I E N C E . G I T H U B . I O Why git & github ? free & popular GitHub offers a web-based git repository hosting service with great specific features (issue, pull request, etc). → Version control → Public repositories → Transparency and verifiability → Easy exploration of new ideas A kind of modern lab notebook for the computer scientist. R E S C I E N C E . G I T H U B . I O How to submit ? 1. Fork the ReScience-Submission repository 2. Write your code, data and article 3. Submit a pull request 4. Address reviewer’s comments and questions octodex.github.com 5. Get published and get a DOI R E S C I E N C E . G I T H U B . I O Actual submission (Topalidou and Rougier, 2015) Authors: Meropi Topalidou & Nicolas Rougier Editor: Tiziano Zito Reviewers: Mehdi Khamassi & Benoît Girard R E S C I E N C E . G I T H U B . I O ReScience ReScience (_2) AMi2`+iBQM #2ir22M +Q;MBiBp2 M/ KQiQ` +Q`iB+Q@#bH ;M;HB HQQTb /m`BM; /2+BbBQM KFBM;, +QKTmiiBQMH bim/v PM2 MQi#H2 KQ/B}+iBQM BM Qm` BKTH2K2MiiBQM Bb i?2 `2BM7Q`+2K2Mi H2`MBM; `mH2 i?i ?b #22M ;`2iHv bBKTHB}2/X P`B;BMH mi?Q`b ?p2 #22M mbBM; [mBi2 +QKTH2t H;Q`Bi?K 7Q` 2Mbm`BM; i?i dz+Q`iB+Qbi`BiH r2B;?ib `2 #QmM/2/ #v bB;KQB/H i`Mb72` 7mM+iBQM iQ `2T`2b2Mi T?vbB+H +QMbi`BMib QM bvMTiB+ ;`Qri? rBi? M #bQHmi2 KtBKmK Q7 yXd8 M/ M #bQHmi2 KBMBKmK Q7 yXk8XǴX h?Bb H;Q`Bi?K Bb MQi /2b+`B#2/ BM i?2 `iB+H2- #mi 7`QK bQm`+2b- Bi TT2`b i?i Bi Bb #b2/ QM i?2 2biBKiBQM Q7 i?2 r2B;?i ;`/B2Mi HQM; i?2 bB;KQB/X q2 mb2 BMbi2/ M PD@HBF2 `mH2 ;Bp2M BM i?2 avMTb2 i#H2X J2`QTB hQTHB/QmR- k- j M/ LB+QHb SX _Qm;B2`R- k- j q2 T`QpB/2 #2HQr i?2 7Q`KH /2b+`BTiBQM Q7 i?2 KQ/2H ++Q`/BM; iQ i?2 T`QTQbBiBQM Q7 LQ`/HB2 2i HX (k) 7Q` `2T`Q/m+B#H2 /2b+`BTiBQMb Q7 M2m`QMH M2irQ`F KQ/2HbX R AL_A "Q`/2mt am/@Pm2bi- "Q`/2mt- 6`M+2X k G"_A- lMBp2`bBiû /2 "Q`/2mt- AMbiBimi SQHvi2+?MB[m2 /2 "Q`/2mt- *2Mi`2 LiBQMH /2 H _2+?2`+?2 a+B2MiB}[m2- lJ_ 83yy- hH2M+26`M+2X j AMbiBimi /2b JH/B2b L2m`Q/û;ûMû`iBp2b- lMBp2`bBiû /2 "Q`/2mt- *2Mi`2 LiBQMH /2 H _2+?2`+?2 a+B2MiB}[m2- lJ_ 8kNj- "Q`/2mt- 6`M+2X h#H2 .2b+`BTiBQM LB+QHbX_Qm;B2`!BM`BX7` SQTmHiBQMb *Q`i2t UKQiQ`- bbQ+BiBp2 +Q;MBiBp2Vai`BimK UKQiQ`- bbQ+BiBp2 +Q;MBiBp2V:SB UKQiQ` +Q;MBiBp2VahL UKQiQ` +Q;MBiBp2Vh?HKmb UKQiQ` +Q;MBiBp2V Ĝ PM2 iQ QM2- QM2 iQ KMv U/Bp2`;2MiV- KMv iQ QM2 U+QMp2`;2MiV .vMKB+ `i2 KQ/2H Ĝ GBM2` bvMTb2 _2BM7Q`+2K2Mi H2`MBM; `mH2 1ti2`MH +m``2Mi BM +Q`iB+H `2b UKQiQ`- bbQ+BiBp2 +Q;MBiBp2V 6B`BM; `i2 T2`7Q`KM+2b 1/BiQ` hBxBMQ wBiQ `272`2M+2 BKTH2K2MiiBQM Q7 _2pB2r2`b "2MQŗi :B``/ J2?/B E?KbbB _2+2Bp2/ CmM N- kyR8 ++2Ti2/ m; Rk- kyR8 Sm#HBb?2/ m; R9- kyR8 GB+2M+2 **@"u@a *QKT2iBM; AMi2`2bib, h?2 mi?Q`b ?p2 /2+H`2/ i?i MQ +QKT2iBM; BMi2`2bib 2tBbiX ă *Q/2 `2TQbBiQ`v h#H2 R, JQ/2H /2b+`BTiBQM 7QHHQrBM; (k) T`2b+`BTiBQMX hQTQHQ;v *QMM2+iBpBiv L2m`QM KQ/2H *?MM2H KQ/2H avMTb2 KQ/2H SHbiB+Biv AMTmi _2+Q`/BM;b ¹ AMi2`+iBQM #2ir22M +Q;MBiBp2 M/ KQiQ` +Q`iB+Q@#bH ;M;HB HQQTb /m`BM; /2+BbBQM KFBM;, +QKTmiiBQMH bim/v- JX :mi?`B2- X G2#HQBb- X :`2MM2- M/ hX "Q`m/- CQm`MH Q7 L2m`QT?vbBQHQ;v- RyN- kyRjX AMi`Q/m+iBQM q2 T`QTQb2 `272`2M+2 BKTH2K2MiiBQM Q7 (R) i?i BMi`Q/m+2b M +iBQM b2H2+iBQM K2+?@ MBbK BM +Q`iB+Q@#bH ;M;HB HQQTb #b2/ QM +QKT2iBiBQM #2ir22M i?2 TQbBiBp2 722/@ #+F- /B`2+i Ti?rv i?`Qm;? i?2 bi`BimK M/ i?2 M2;iBp2 722/#+F- ?vT2`/B`2+i Ti?rv i?`Qm;? i?2 bm#i?HKB+ Mm+H2mbX h?2 Q`B;BMH BKTH2K2MiiBQM rb K/2 BM .2HT?B UP#D2+i Sb+HV r?Qb2 bQm`+2b `2 pBH#H2 QM `2[m2bi iQ Mv Q7 i?2 mi?Q` Q7 i?2 Q`B;BMH `iB+H2X q2 ?p2 mb2/ i?2b2 bQm`+2b iQ /BbK#B;mi2 K#B;mQmb M/ KBbbBM; BM7Q`KiBQM BM i?2 Q`B;BMH `iB+H2X h?2 `272`2M+2 BKTH2K2MiiBQM r2 T`QTQb2 ?b #22M +Q/2/ BM Svi?QM 7Q` 2b2 Q7 `2/BM; M/ *vi?QM 7Q` T2`7Q`KM+2b #2+mb2 i?2 KBM `2bmHi BM+Hm/2b #i+? Q7 k8y 2tT2`BK2Mib Qp2` Rky i`BHb i?i rQmH/ #2 iQQ bHQr 7Q` `2;mH` Svi?QM b+`BTibX J2i?Q/b q2 mb2/ i?2 /2b+`BTiBQM Q7 i?2 KQ/2H BM i?2 Q`B;BMH `iB+H2 b r2HH b i?2 bQm`+2b Q7 i?2 KQ/2H U`2[m2bi2/ 7`QK mi?Q`V i?i `2 K/2 Q7 ?mM/`2/ }H2b M/ e-yyy HBM2b Q7 .2HT?B 7Q` i?2 KBM bQm`+2X q2 ?p2 #22M mM#H2 iQ +QKTBH2 i?Bb Q`B;BMH BKTH2@ K2MiiBQM #mi r2 r2`2 #H2 iQ `mM i?2 T`QpB/2/ qBM/Qrb 2t2+mi#H2X q2 7QmM/ bQK2 7+imH 2``Q`b BM i?2 Q`B;BMH `iB+H2 i?i ?p2 #22M +Q``2+i2/ BM i?Bb BKTH2K2MiiBQMX h?2 BMBiBHBxiBQM Q7 r2B;?ib `2 /2}M2/ BM irQ /Bz2`2Mi T`ib Q7 i?2 TT2`X 6B`bi QM T;2 jyjy Ub2+QM/ +QHmKMV dzq2B;?ib r2`2 BMBiBHBx2/ iQ :mbbBM /Bbi`B#miBQM rBi? K2M Q7 yX8 M/ a. Q7 yXyy8 i i?2 bi`i Q7 2+? bBKmHiBQMĘǴ- i?2M QM T;2 jyjR BM i?2 +TiBQM Q7 };m`2 9- dzHH bvMTiB+ r2B;?ib r2`2 BMBiBHBx2/ iQ yX8ǴX Ai ?TT2M2/ i?i #Qi? /2}MBiBQMb `2 `B;?i #mi /Q MQi //`2bb i?2 bK2 T`QD2+iBQMbX *Q`iB+Q@bi`BiH bvMTiB+ r2B;?ib mb2 :mbbBM /Bbi`B#miBQM r?BH2 HH Qi?2` r2B;?ib `2 b2i iQ yX8X 6m`@ i?2`KQ`2- i?2 "QHixKMM 2[miBQM ;Bp2M BM i?2 Q`B;BMH TT2` mb2b X BMbi2/ Q7 Y #2ir22M }`bi i2`K M/ b2+QM/ i2`KX _2a+B2M+2 | `2b+B2M+2X;Bi?m#XBQ R m; kyR8 | oQHmK2 R | Abbm2 R h#H2 k, SQTmHiBQMb LK2 1H2K2Mib aBx2 h?`2b?QH/ LQBb2 AMBiBH bii2 τ *Q`i2t KQiQ` *Q`i2t +Q;MBiBp2 *Q`i2t bbQ+BiBp2 ai`BimK KQiQ` ai`BimK +Q;MBiBp2 ai`BimK bbQ+BiBp2 :SB KQiQ` :SB +Q;MBiBp2 ahL KQiQ` ahL +Q;MBiBp2 h?HKmb KQiQ` h?HKmb +Q;MBiBp2 oHm2b UVi V GBM2` M2m`QM GBM2` M2m`QM GBM2` M2m`QM aB;KQB/H M2m`QM aB;KQB/H M2m`QM aB;KQB/H M2m`QM GBM2` M2m`QM GBM2` M2m`QM GBM2` M2m`QM GBM2` M2m`QM GBM2` M2m`QM GBM2` M2m`QM a+H` 1×4 4×1 4×4 1×4 4×1 4×4 1×4 4×1 1×4 4×1 1×4 4×1 4 @j @j @j y y y YRy YRy @Ry @Ry @9y @9y Ĝ RXyW RXyW RXyW yXRW yXRW yXRW jXyW jXyW yXRW yXRW yXRW yXRW Ĝ yXy yXy yXy yXy yXy yXy yXy yXy yXy yXy yXy yXy yX8 Ry Ry Ry Ry Ry Ry Ry Ry Ry Ry Ry Ry @ h#H2 j, *QMM2+iBpBiv aQm`+2 h`;2i Sii2`M q2B;?i :BM SHbiB+ *Q`i2t KQiQ` *Q`i2t +Q;MBiBp2 h?HKmb KQiQ` h?HKmb +Q;MBiBp2 (1, i) → (1, i) (i, 1) → (i, 1) RXy RXy yX9 yX9 LQ LQ _2a+B2M+2 | `2b+B2M+2X;Bi?m#XBQ R E S C I E N C E . G I T H U B . I O k m; kyR8 | oQHmK2 R | Abbm2 R Grand opening on September 1st 2015 Spread the word ! → star the project on github (ReScience/ReScience) → follow the journal (@ReScienceEds) on twitter → tell your colleagues (mailing lists, blog, twitter, …) Help the project ! octodex.github.com → submit articles → become a reviewer (contact me nicolas.rougier@inria.fr) R E S C I E N C E . G I T H U B . I O