Hung Ling-Hong, Kristiyanto Daniel, Lee Sung Bong, Yeung Ka Yee
Institute of Technology, University of Washington, Tacoma, WA 98402, United States of America.
PLoS One. 2016 Apr 5;11(4):e0152686. doi: 10.1371/journal.pone.0152686. eCollection 2016.
Reproducibility is vital in science. For complex computational methods, it is often necessary, not just to recreate the code, but also the software and hardware environment to reproduce results. Virtual machines, and container software such as Docker, make it possible to reproduce the exact environment regardless of the underlying hardware and operating system. However, workflows that use Graphical User Interfaces (GUIs) remain difficult to replicate on different host systems as there is no high level graphical software layer common to all platforms. GUIdock allows for the facile distribution of a systems biology application along with its graphics environment. Complex graphics based workflows, ubiquitous in systems biology, can now be easily exported and reproduced on many different platforms. GUIdock uses Docker, an open source project that provides a container with only the absolutely necessary software dependencies and configures a common X Windows (X11) graphic interface on Linux, Macintosh and Windows platforms. As proof of concept, we present a Docker package that contains a Bioconductor application written in R and C++ called networkBMA for gene network inference. Our package also includes Cytoscape, a java-based platform with a graphical user interface for visualizing and analyzing gene networks, and the CyNetworkBMA app, a Cytoscape app that allows the use of networkBMA via the user-friendly Cytoscape interface.
可重复性在科学中至关重要。对于复杂的计算方法,通常不仅需要重新创建代码,还需要重新创建软件和硬件环境以重现结果。虚拟机以及诸如Docker之类的容器软件,使得无论底层硬件和操作系统如何,都能够重现完全相同的环境。然而,使用图形用户界面(GUI)的工作流程在不同主机系统上仍然难以复制,因为不存在所有平台通用的高级图形软件层。GUIdock允许轻松地分发系统生物学应用程序及其图形环境。在系统生物学中普遍存在的基于复杂图形的工作流程,现在可以轻松地在许多不同平台上导出并重现。GUIdock使用Docker,这是一个开源项目,它提供仅包含绝对必要软件依赖项的容器,并在Linux、Macintosh和Windows平台上配置通用的X Windows(X11)图形界面。作为概念验证,我们展示了一个Docker包,其中包含一个用R和C++编写的用于基因网络推断的名为networkBMA的Bioconductor应用程序。我们的包还包括Cytoscape,一个基于Java的带有图形用户界面的平台,用于可视化和分析基因网络,以及CyNetworkBMA应用程序,这是一个Cytoscape应用程序,允许通过用户友好的Cytoscape界面使用networkBMA。