本文发表于《大众科学》的前博客网络,反映了作者的观点,不一定反映《大众科学》的观点
这是一篇我为一本计划中的关于开放计算研究的新期刊撰写的评论文章,由于某种原因未能成功创办。希望该期刊能够复活,或者有其他期刊取而代之,因为这是一个重要的议题。在几乎每一项科学努力中,模拟和建模现在都已成为稳健且常用的范例,它们持续的相关性和使用将取决于计算结果是否符合常规应用于理论和实验工作的相同标准。我的文章试图探讨在开放科学出版的时代,如何最有效和诚实地交流计算研究。欢迎反馈,因为这必然是一项社区共同努力。
新的科学研究方式需要新的标准
在过去的三十年左右,与理论和实验一起,建模和模拟已成为科学方法论的第三支柱[1]。尽管其历史不如理论和实验那样神圣,但建模现在已被广泛用于补充——有时甚至取代——理论和实验研究的结果。随着科学变得越来越复杂和跨学科,求助于模型来解释、理解和预测至关重要。现代科学中许多最紧迫和最令人兴奋的问题,从理解大脑到模拟生物网络再到绘制宇宙的大尺度结构,都涉及复杂的、多因素的现象,这些现象无法通过第一性原理的解决方案来解决。分析这些问题需要巧妙地结合严谨的理论、统计分析和经验性的猜测,因此,模型构建将在解读这些真实世界的物理、生物和工程系统的运作方式方面发挥越来越重要的作用。
关于支持科学新闻报道
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻报道 订阅。通过购买订阅,您正在帮助确保有关当今塑造我们世界的发现和思想的具有影响力的故事的未来。
与任何科学研究哲学一样,建模必须符合长期以来为现代科学在过去五百年左右的巨大发展和实际效用做出贡献的公认原则和约束。这些约束中最重要的是准确和可重复的结果交流,这是科学探究的基础。准确性对于理解特定方法的机械运作及其与观察结果的因果关系至关重要。可重复性是科学方法的核心,这是一项基本要求,没有它,就不可能信任和验证任何科学研究。随着建模和模拟已成为现代科学研究的支柱,它们也带来了与这些方法论方面相关的独特挑战。
伽利略提供了一个早期且引人注目的现代科学可重复性的例子,当时他制造了望远镜并对木星的卫星进行了开创性的观测[2]。正如故事所说,他煞费苦心地制作了几份仪器,并将它们送给欧洲各国的王公贵族,以便他们也能看到他所看到的。在伽利略的工作中,我们目睹了可重复性的两个主要方面。一是研究工具的复制;二是结果本身的复制,在本例中以观测的形式。
这两种比喻都很好地适用于模拟技术对准确性和可重复性的要求。建模的工具类似物将是研究中使用的硬件和软件的精确形式。观测类似物将是收集、处理和呈现数据的具体方法,以便每个观察者看到的结果都相同。如果我们想要准确地重现和验证建模结果,我们需要制定标准来解决数据生成、分析和呈现的这两个方面。不幸的是,顶级期刊仍然需要制定代码提交的标准政策。例如,《科学》杂志要求作者提供实际代码[3],而《自然》杂志仅要求“足够详细的描述,以便其他人编写自己的代码来进行类似的分析”[4],这可能会导致歧义。具有讽刺意味的是,随着模拟软件通过图形用户界面和易于操作而迅速普及,非专业用户很容易将软件视为黑匣子,而不必担心交流底层细节。开源程序的日益普及以及实验主义者对模拟的无疑有利的运用,使得制定计算结果交流的标准和场所的问题变得尤为迫切。
即使是模拟协议的细微变化也需要追踪
这项努力的首要任务是尽可能详细地说明硬件和软件的各个方面。我自己的计算化学领域的轶事说明了这样做的原因。我以前的一位研究导师想复制一项使用一种特别有趣的分子进行的建模研究,因此他联系了最初进行这项研究的科学家,并按照前者的协议处理了系统。他适当地调整了参数并进行了实验。令他惊讶的是,他得到了非常不同的结果。他重复了协议几次,但始终得到错误的结果。最后,他打电话给最初的研究人员。两人多次核对了协议,最终意识到问题出在一个细微但被忽视的细节上——两位科学家使用的是略微不同的建模软件版本。这甚至不是一个新版本,只是一个更新,但由于某种原因,它足以显着改变结果。
这个轶事清楚地表明需要明确软件的各个方面及其实现方式。这包括版本、更新、补丁、操作系统、输入参数、“预处理”步骤,以及最关键的,专家调整。最后一个方面至关重要,值得列举一些细节。建模可能既是一门艺术,也是一门科学。专家建模者很少使用默认的、开箱即用的软件版本。相反,几乎每个进行计算的科学家都会在不同程度上调整和修改程序,以便针对正在考虑的特定系统对其进行自定义。这种调整在很大程度上基于专家知识、经验和直觉,并且可能包含多种修复,包括整合实验数据、将算法转换为过去用于类似系统的算法、对算法的某些部分进行额外参数化以使其更有利于正在考虑的系统,以及其他非标准且通常违反直觉的修改的混合。其中至少有一些是受到猜测和直觉的启发,这些品质一直是科学成功的重要因素。但是,大多数此类调整永远不会在原始代码中显现出来,甚至不会在其注释中显现出来。
那么,我们如何才能将科学过程中这些必不可少但相当无形的部分纳入研究结果的交流中呢?一个部分的解决方案是提供日志文件以及原始代码和软件规范。一些商业程序已经在其用户界面中内置了此类功能。例如,Schrodinger[5]的药物发现建模套件除了通常的流程日志文件外,还具有命令脚本编辑器,它可以跟踪用户在全球用户界面环境中执行的所有操作和细微调整。由于可以从此界面访问多个软件应用程序,因此该流程有价值地跟踪了模块内部和跨模块的操作。命令脚本反过来可以由任何有权访问该软件的人运行,并且如果包含在输入列表,它应该忠实地重现原始算法。与英语语言的说明相比,让研究人员上传此类脚本以及原始代码将允许更准确地复制协议。更一般而言,还可以有“元脚本”,它可以跟踪所有软件和硬件细节以及用户操作。此类脚本理想情况下将封装整个模拟协议的完整配方。在没有此类全局日志文件的情况下,坚持使用特定于应用程序的日志文件将是一个良好的开端。
就像软件一样,硬件也应该明确描述。当今,许多计算都在并行、分布式和基于云的系统上运行时,尤其如此,这些系统很可能呈现出不同的硬件配置组合。硬件的准确表示应说明有关处理器、内存、显卡、预装操作系统和显示器的详细信息,并且理想情况下还应包括供应商名称。当然,细节的数量将取决于特定研究的性质。例如,GPU 密集型研究必须尽可能详细地列出图形处理卡的详细信息,而更通用的研究可能不受此要求限制。最终,尽管每个读者都不可能复制所有硬件细节,但即使知道自己正在使用不同的配置也会提醒人们注意输出的可能差异。然而,真正有用的是将这些差异分类,作为未来模拟的可能指南,并且只有在运行受控实验(其中比较仅在硬件使用方面不同的两个模拟的结果)后才有可能做到这一点。对于专门从事开放计算研究的期刊,可以有一个单独的部分(可能是在线部分),用户可以在其中记录因不同硬件架构而产生的有趣的结果差异。
对于复制计算研究而言,特别有价值的信息是提供阳性和阴性对照。此类对照一直是出版物的长期要求,尤其是在生物学界[6]以及更广泛的实验科学领域,但计算界似乎尚未大规模采用它们。对于计算研究,在测试系统上运行所讨论的算法将为协议的完整性提供信心。测试系统可以是经过充分研究的系统,已知其准确答案——例如通过实验——并且已被多次复制。任何未能提供此答案的新算法都值得怀疑。然后,即使论文中描述的真实系统由于其复杂性或缺乏资源而无法被另一位工作人员完全复制,他或她也可以通过复制其在稳健的测试系统上的成功来对程序的运行充满信心,该测试系统将充当对照。作为阴性对照的测试系统将起到类似的作用。
好的模型应该被明确标记和展示。
编目所有这些信息本身就是一个挑战,一种可能的做法是建立一个中央代码库,其中包含各种不同的协议及其随附的参数。正如最近《科学》杂志上的一篇文章所建议的那样,这个存储库可以称为“CodeMedCentral”[7]。正如 PubMedCentral 提供科学出版物的详细信息一样,CodeMedCentral 可以为每项已发表的研究提供支持软件和硬件详细信息。仔细注释网站并对其上的信息进行分类对于准确重现模型非常重要。《科学》杂志的文章还建议用限定符标记文章,该限定符指示研究的可信度,具体取决于该研究是否已成功重现。已成功复制的研究可以用“R”限定符标记。期刊《生物统计学》[8]已经富有成效地采用了这项政策,这表明文章未被标记的可能耻辱感并没有阻止渴望的科学家在期刊上发表文章,最好是带有“R”印章。至少,这种根据代码提交和验证程度对文章进行分类的方法将使研究人员能够实际判断研究的完整性,尤其是在比较研究中。
在讨论代码分发和重现的标准时,如果我们不解决专有代码的问题,那将是一种疏忽。根据具体情况,可能可以或不可以公开输入的所有详细信息和精确的分析方法。制药和航空航天等行业尤其如此。虽然对专有代码的约束不可避免地使准确的数据复制变得困难,但即使是专有数据也可以进行部分重现。例如,在化学信息学研究中,专有的分子结构可以编码为难以解码的特定于组织的格式。人们仍然可以在这个神秘的数据集上运行一组建模协议并生成统计数据,而不会泄露结构的身份。统计数据的复制将为研究的完整性提供信心。当然,必须有防止滥用任何此类评估的保障措施,但它们可能不难实施。
呈现,呈现,呈现。
与准确描述软件和硬件同样重要的是,如果没有分析和呈现数据的统一标准,它将失败。这是一个通常困扰每个领域在概念阶段的问题,当时不同的研究人员选择使用他们最喜欢的统计技术、数据处理软件和图形描述来呈现他们的研究结果。这种呈现方式可能会隐藏与其揭示的细节一样多的细节,因为它通常会将异常值、失败的结果和固有的偏差放到一边。分析和报告的这种广泛差异不仅具有误导性,而且还严重阻碍了不同研究的比较和荟萃分析,使得验证成功的技术和丢弃不成功的技术非常困难。最重要的是建立和报告标准基准和指标。虚拟筛选领域提供了一个有力的例子,其中测试算法识别潜在有价值的新药候选物的能力[9]。由于缺乏用于设置测试系统并在其上运行相关算法的通用协议而引起的混乱,再加上用于评估的不同指标(其中一些指标人为地夸大了结果的重要性)而变得更加复杂。直到最近几年,我们才看到有人提出并使用仔细的基准来设置和评估使用公正的统计指标[10],[11]的虚拟筛选研究。
毋庸置疑,准确描述正在考虑的系统和用于分析的方法,包括正确呈现统计软件、方法和误差线,是忠实重现研究的关键。对于统计密集型建模,结果理想情况下还应包括模型不确定性的估计,通过建立估计数值准确性、模型对边界条件的敏感性、置信区间等的图形来表示。建立这些报告研究的标准指标的重要性怎么强调都不为过;没有它们,就根本不可能将真正的科学精华与虚幻成功的糟粕区分开来。
最终,提供计算细节的需求与提供任何其他理论或实验细节的需求没有什么不同。建模和模拟无疑将在科学研究中发挥越来越重要的作用。准确了解它们的缺陷和前景对于准确评估它们在未来科学探究殿堂中的地位至关重要。可重复性将照亮道路。
致谢: 作者感谢 Nathan Walsh 的有益讨论。
[2] Heilbron, J. L. “伽利略”, 2010, 牛津大学出版社
[3] Hanson, B.; Sugden, A.; Alberts, B. 科学, 2011, 331, 649
[4] 自然, 2011, 470, 305
[5] http://www.schrodinger.com/products/14/12/
[6] Glass, D. J. “生物学家的实验设计”, 2006, 冷泉港实验室出版社
[7] Peng, R. 科学, 2011, 334, 1226
[8]http://www.oxfordjournals.org/our_journals/biosts/for_authors/msprep_submission.html
[9] Shoichet, B. K. 自然, 2004, 432, 862
[10] Hawkins, P. C. D.; Warren, G.; Skillman, A. G.; Nicholls, A. J. Comput. Aided Mol. Des. 2008, 22, 179
[11] Irwin, J. J. J. Comput. Aided Mol. Des. 2008, 22, 193