项目来源:双胞胎

2015年,遗传学家Reeves的家伙试图配置一个自由软件系统称为星系他生物信息学的项目。后一到两天的挫败感,他问他的IT部门成员寻求帮助。他们安装的码头工人,技术模拟计算环境中,这使他使用一个特殊版本打包了所有他需要的星系——称为容器。银河系设置略有调整,“做过午餐”。

Reeves, Plon马克斯普朗克进化生物学研究所、德国,是许多科学家采用容器之一。随着科学变得越来越多的数据密集型,更多的软件被写入从这些数据中提取知识。但是很少有研究人员有时间和计算技术来充分利用它。容器、包的软件代码和计算环境来运行它,可以缩小这一差距。他们帮助研究人员使用广泛的软件,加速实验,促进再现性。

容器实际上是轻量级的,可配置的虚拟机——模拟版本的操作系统和硬件,允许软件开发人员分享他们的计算环境。研究人员使用它们来分配复杂科学的软件系统,从而允许其他人来执行软件在相同条件下,原来的开发人员使用。在这一过程中,容器可以删除计算生物学的可变性来源之一。但是虚拟机相对资源密集型和呆板,容器和可配置紧凑,c .提图斯布朗说,加州大学bioinformatician戴维斯分校。虽然配置底层集装箱化软件可能会非常棘手,容器可以修改根据用户的需要添加或删除工具的灵活性,提高了他们的受欢迎程度,他说。“我喜欢的东西的工作,”里弗斯说。

里面有什么

想工具很少来准备好运行。他们经常以脚本的形式或编程源代码,必须处理和配置。大部分的软件需要额外的工具和库,用户可能没有安装。即使用户可以让软件工作,不同的计算环境中,如这取决于安装版本的工具,可以巧妙地改变性能,影响再现性。这种复杂性减少包装容器所需的计算环境的关键要素运行所需的软件,包括设置和插件,一个轻量级的,虚拟框。他们不改变运行它所需的资源——如果一个工具需要大量的内存,那么也将它的容器。但他们使软件更容易使用,结果容易繁殖。

取决于所使用的软件——码头工人,奇点和rkt流行——容器可以运行在Windows、Mac OS X、Linux或在云中。他们可以包一个过程一个复杂的环境,如星系。这些工具可以相互作用,例如,共享数据或建筑物管道。因为每个应用程序驻留在自己的盒子里,甚至工具通常会彼此冲突可以和谐地运行。

码头工人使用可执行包,称为图像,包括包含的工具以及开发人员的计算环境。创建一个码头工人形象,开发人员创建一个配置文件说明如何下载和构建所需的所有工具。然后他或她“跑”文件来创建一个可执行的方案。用户需要做的就是检索方案和运行它。其他工具也可以生成图像。Reprozip计划,例如,通过观察组装Docker-compatible包为软件工具运行和跟踪输入文件和软件工具需要的库。

黛博拉巴德,一个计算机科学家在国家能源研究科学计算中心在伯克利,加州,帮助研究人员在实验室的计算机上安装软件。她回忆说花三到四天为望远镜安装复杂的软件管道仿真和分析。使用容器减少这一次时间。“你可以花时间做科学而不是弄清楚编译器版本,”她说。

大学的Nicola穆德,bioinformatician在南非开普敦,容器帮助她同步跨境生物信息学网络运行在非洲,称为H3ABioNet。并非所有非洲机构获得相同的计算资源,她解释说,和互联网连通性可以参差不齐。容器允许研究人员与有限的资源访问的工具,否则他们可能无法。

他们也允许研究人员与合作和比较敏感的基因组数据发现没有实际共享底层数据,穆德说。,如果一个站点的研究人员获得从他们的同事在另一个不同的结果,容器提供的标准化可以消除的原因之一。

获得容器

虽然计算机科学家为集装箱平台有多个选项,码头工人,这是一个开源项目成立于2013年,也许是最受欢迎的科学家之一。它有一个大的注册中心的预构建的容器和一个活跃的在线社区,竞争对手还没有匹配。但许多高性能计算系统的管理员排除码头工人使用,因为它需要高层管理访问权限。这种类型的访问可能允许用户复制或损害任何系统上。附加的付费企业版允许用户回避要求,但它不是免费可用,community edition。不过,它们可以使用不同的集装箱化位移器等工具,它不需要完整的特权,或根访问,但仍然支持码头工人图像。

根访问的需求是广泛应用的最大障碍的码头工人,布朗解释说。许多学者在高性能计算集群上运行的生物信息学工具由本国机构或政府。“当然,他们没有管理权限在大多数的系统中,”他说。布朗每年花费大约50000美元在Amazon Web服务云计算时间,但他说这只占三分之一的计算工作;其余集群上进行了密歇根州立大学,在那里他缺乏root访问。因此,布朗创造了码头工人容器工具分布,但很少能使用它们自己。

研究人员可以访问码头工人图像从平台的托管服务,码头工人中心,或从注册表的容器如BioContainers Dockstore,允许共享的工具由其他科学家审查。布莱恩·奥康纳在加州大学圣克鲁斯,Dockstore注册表的技术领导,建议科学家通过容器注册中心找到适合他们的项目一个工具,而不是试图重塑已经存在的东西。

但实际上获得底层的码头工人软件正常运行是具有挑战性的,说西蒙•阿达尔月代码海洋的首席执行官在纽约,一个在线服务,旨在简化这个过程。“太技术,设计开发人员部署复杂的系统。“2月推出服务,创造了以所谓的“胶囊”,包括代码,数据,计算结果和码头工人容器本身。研究人员上传他们的代码和数据,然后在web浏览器中执行它或与他人分享,不需要安装。以把这一过程比作一个YouTube视频共享。该公司甚至提供了一个小部件,允许用户将可执行代码嵌入到web页面。

大学的计算机科学家Shakuntala Baichoo Moka毛里求斯,了解了集装箱在一个公共的编程事件,这家网站,由H3ABioNet。以前,她花了几个小时帮助合作者安装工具。容易安装的工具,她说,容器不仅释放她的时间,但他们也可能鼓励科学家们测试提供反馈。

瑞士在欧洲核子研究中心,在日内瓦附近的欧洲粒子物理实验室,科学家们用容器来加快出版过程中,纽约大学物理学家说凯尔克兰麦在CERN的ATLAS项目工作,寻找新的基本粒子。当物理学家运行后续研究,他们必须挖掘代码片段和旧花几个小时重新分析;与容器,他们可以包随时可用的数据分析工作流程,简化和缩短这一过程。

推进再现性

克兰麦说,尽管围绕再现性的争论主要集中在数据和代码,计算环境也起了很大作用。“这很重要,”他说。一项研究解剖分析工具的性能在不同的计算环境,例如,发现操作系统产生一个小的选择(e·h·b·m·Gronenschild但可测量的影响《公共科学图书馆•综合》7e38234;2012)。

但容器只是一样好工具它们封装,罗瑞拉Barba说,乔治·华盛顿大学的机械和航空航天工程师,华盛顿特区。“如果研究人员开始填充他们的恶意代码到一个容器和传递下去,我们主要表现失败。”,布朗说,没有压力,资助机构和期刊,容器可能让研究人员突然拥抱计算再现性。

事实上,一些研究人员正在使用容器、维多利亚Stodden说厄巴纳伊利诺斯州大学的统计学家研究计算再现性。在某种程度上这是由于缺乏需要或意识,但也因为他们可能没有所需要的计算机技能。

在幕后,然而,可能会改变。谷歌和微软等公司已经在容器中运行一些软件,乔纳斯·阿尔梅达说,纽约石溪大学bioinformatician。大规模的生物信息学项目可能也不远了。星系的基于云的版本最终将运行在容器在默认情况下,说埃尼Afgan,计算机科学家在巴尔的摩的约翰霍普金斯大学,马里兰,工作在星系。

阿尔梅达预测,5 - 10年里,科学家们将不再需要担心下载和配置软件;工具将仅仅是集装箱。“这是不可避免的,”他说。