从再生性到过度再生性(2016)

2020-10-25 23:07:47

[另请参阅后续帖子。]。这不是什么秘密,生物医学研究这些天需要越来越多的计算分析,随之而来的是一些关于如何使这些分析可重现的受欢迎的讨论。在某种程度上,我想这是不需要动脑筋的:如果它不能复制,那它就不是科学,对吗?在实践层面上,我认为使您的分析可重现有很多好处,包括以下几点(从我认为最重要的内容开始进行模糊排序):它使您在使您的代码更有可能正确、整洁和可读时更加谨慎。

这反过来又使得实验室中的其他人将来可以更容易地访问和处理分析和数据,包括PI。

这可能会对实验室以外的其他人有用,尽管正如我之前说过的,我认为我们的数据在实验室以外的用途相对有限,超出了我们已经做出的科学结论。不管怎样,只要你想要,它就在那里。我也坦率地承认,对于那些做别人真正关心的工作的人来说,这可能更重要。:)。

然而,与这些好处相平衡,也有一个不可忽视的负面因素:总的来说,我认为让事情尽可能地重现是值得花时间的。特别是,对于目前根本不考虑这类事情的生物医学研究企业来说,这是很大一部分可以好好利用的时间,我认为对我们这些有计算倾向的人来说,帮助培训其他人使他们的分析具有可重复性是势在必行的。然而,我担心的是,计算类型经常提倡的可再生性策略偏离了目标,并且不一定适合他们试图接触到的人的需求和技能。我认为,有一种高度可复制的狂热情绪阻碍了其他人采用一些可能对他们的研究有很大好处的基本做法,同时也限制了即使是它自己的从业者的生产力。你知道我在说什么:它的想法是把你的整篇论文变成一个程序,所以你只需键入“造纸”,就会弹出完全成形和格式化的手稿。抽象地说,这很好,但在一个时间是我们最宝贵的商品的行业中(就像其他许多工作一样),这些强迫性行为代表着完全未能正确衡量机会成本。换句话说,与其硬编码调整乳胶预印本的图形间距,不如花时间写另一篇论文。我认为非常重要的是要记住,我们的工作是科学,而不是编程,如果我们过于关注使一切都是可重现和完全有文档记录的程序性和程序性方面,我们可能会让那些对编程不太舒服的人从使他们的分析可重现的非常真实的好处中拒之门外。在我看来,这是两个最大的罪魁祸首:版本控制和图形脚本。让我们从版本控制开始。我想我们都同意,使科学分析可重现的最重要的部分是确保分析是在脚本中进行的,而不是仅仅键入或点击某个程序,只是为了让这些命令消失在褪色的记忆中。一个好的、可重现的分析脚本应该从原始数据开始,经过所需的所有计算操作,然后给您留下一个数字或图形元素,最终出现在您的论文中的某个地方。这使得分析是可重现的,因为其他人现在可以只运行代码并查看原始数据是如何变成子面板图4G中的p值的。记住,其他人最有可能是你未来的自己:)。好的,希望我们都同意剧本的必要性。然而,几乎所有关于计算可再现性的讨论都是以采用git或其他版本控制系统的指令开始的,似乎这是显而易见的下一步。嗯。我只想直截了当地说,对于大多数计算项目(至少在我们的实验室中),版本控制是在浪费时间。为什么?那么,进行可重复分析的目的是什么呢?我相信我们的目标是拥有一套记录在案的脚本,这些脚本可以获取原始数据,并可靠地将其转化为某种知识。版本控制的目标是管理代码,特别强调“(代码更改的)可逆性、并发性和注解”。虽然人们可以想象这些目标之间有一些重叠,但我不一定看到它们之间的自然联系。为了更具体,让我们尝试回答我一直在问(也被问到)的问题,即“为什么不直接使用Dropbox呢?”毕竟,Dropbox会保留你所有的代码和数据(包括老版本),在人与人之间无缝共享,而且可能只有在第三次世界大战爆发时才会崩溃。而且它很容易使用。这里有几个我可以想象到的人们可能会支持的潜在论点