Jupyter notebooks allow to bundle executable code with its documentation and output in one interactive environment, and they represent a popular mechanism to document and share computational workflows, including for research publications. Here, we analyze the computational reproducibility of 9625 Jupyter notebooks from 1117 GitHub repositories associated with 1419 publications indexed in the biomedical literature repository PubMed Central. 8160 of these were written in Python, including 4169 that had their dependencies declared in standard requirement files and that we attempted to re-run automatically. For 2684 of these, all declared dependencies could be installed successfully, and we re-ran them to assess reproducibility. Of these, 396 notebooks ran through without any errors, including 245 that produced results identical to those reported in the original. Running the other notebooks resulted in exceptions. We zoom in on common problems and practices, highlight trends and discuss potential improvements to Jupyter-related workflows associated with biomedical publications.
翻译:Jupyter笔记本可以将可执行的代码及其文档和输出在一个互动环境中捆绑起来,它们代表着一个记录和分享计算工作流程,包括研究出版物的流行机制。在这里,我们分析了与生物医学文献库PubMed Central索引的1419种出版物相关的1117 GitHub 数据库的9625 Jupyter笔记本的计算再复制能力。其中8160本是在Python撰写的,其中包括4169个在标准要求文档中申报其依赖关系并试图自动重新运行的。对于其中的2684个,所有申报的附属关系都可以成功安装,我们重新授权它们评估可复制性。其中396本笔记本在无任何错误的情况下运行,包括245本产生与原始报告相同的结果。运行其他笔记本产生了例外。我们放大了共同的问题和做法,强调了趋势,并讨论了与生物医学出版物相关的Jupyter工作流程的潜在改进。