A recent Code Ocean blog discussed how Compute Capsules are open and all the code and data can be exported as a package from the Code Ocean platform for use elsewhere. Export, however, is just one way of leveraging published code, data and analysis in Compute Capsules.
Code Ocean makes reuse of Compute Capsules – and with that sharing of research – easy for everybody from computational researchers, to developers, to engineers, and R&D teams. The ability to reuse Capsules allows users to build upon project work and modify existing data and code to meet their specific research requirements all while ensuring guaranteed reproducibility. Users can, for example, adjust the code of a Capsules to meet their specific requirements while retaining the same environment or use the same analysis with a new or updated dataset.
Sharing Work and Publishing Results with the Capsule – Code Ocean Handles the Reuse
Sharing work-in-process with research collaborators and publishing results are critical use cases for Capsule collaboration and reuse. When a computational researcher shares project work and publishes results a Compute Capsule the Code Ocean platform automatically creates and stores a separate, published copy. Subsequent changes to the Capsule are saved as a new version and the already published version – including code, data, the computing environments and results – will remain unaltered. This platform feature lays the foundation for easy Capsule-enabled collaboration.
Automated Capsule Versioning – a Fast Way to Collaborate and Build on Shared Project Work
Published Capsules are complete, self-contained executable packages that any researcher can duplicate, execute and then modify using the Code Ocean Computational Workbench.
Here are six important points about Compute Capsule versioning to keep in mind:
- Researchers have an intuitive interface for reusing Capsules. Using automated features, Capsule duplication is fast, safe and happens with one click of a button. This is possible, because instead of copying the entire Capsule, including potentially large data sets, code, results and multiple analysis packages, these files are only referenced. From the user perspective, the duplicated Capsule looks exactly like the original, but was created without all the time-consuming “heavy lifting” of copying all files.
- Published Capsules are forever. If a Capsule is published it will not disappear. In that sense Capsules are like scientific publications: once published they aren’t unpublished. The original Capsule and with that all references to cloned Capsules remains intact and unchanged.
- A duplicated Capsule is the starting point for a whole new Capsule. Once a user makes a duplicate, they are free to work with that copy as if it was newly created by them. In both academic and industry research duplication of a published Capsule is an easy way of building on previous work.
- Capsules can remain useful forever (or at least for a long time). Since Compute Capsules are similar to scientific publications they can serve as the basis for new work for years to come.
- Capsule version control is built-in and straight-forward. The first published Capsule is automatically designated v1, the first clone created is v2, and so on. Each published version of a Capsule has its own Git repo.
- Published Compute Capsules are clean. Pre-publication most Compute Capsules contain dozens or more code commits that reflect the developers work over time. Upon publishing the Capsule, Code Ocean squashes all the commits into one to create a clean copy. Squashing happens only for the published version and does not affect the original capsule which will still have all the original commits to make continued work on the Capsule easy.
Duplicating an existing Capsule is by far the most frequent reuse scenario. With Code Ocean handling the packaging, versioning and lifecycle management, reuse can become a standard within and across discovery teams.
Capsule Reuse – Two Additional Use Cases
The main reason for a scientist to duplicate a Capsule is to build on existing work by modifying and adjusting an existing computational analysis pipeline. In addition, there are two other important Capsule reuse scenarios:
- Capsules including an App Panel – the Code Ocean App Panel is an elegant way to publish an analysis app and to share results with bench scientists. Access to an easy to work with app, e.g. a visualization tool, makes it easy for non-coders to gain more insights from computational analysis. It enables researchers to interact with Capsules, e.g. by changing parameters that affect the results without changing the code. Our most accessed Capsule that includes an App Panel is called “Combo Synergy of Two Drugs”. It allows for the unbiased identification of synergistic and efficacious drug combinations in various cell lines.
- Reuse Capsules to run additional data – most scientists who duplicated capsules end up making changes to the code and/or environment. However, a published Capsule can be duplicated and used to run additional, potentially proprietary, data sets without making any changes to the code or environment, basically using the same algorithms on different data.
Open science, easy collaboration, reproducibility and ready access to critical computing resources are the principles on which Code Ocean is built. One way of accomplishing these goals is to make published Compute Capsules readily available to other researchers whether they use them as a starting point for their own work, as a convenient tool to work with and visualize complex data sets or simply as a tool to perform a standardized analysis of their data.
We welcome your questions about how to use and reuse Code Ocean Compute Capsules. Please contact us at email@example.com