Summary
The KBase Narrative builds on the IPython Notebook to provide a multi-user, virtualized Bioinformatics Laboratory Notebook that brings Experimental/Wetlab Biologists, students and the bio-curious into the world of Computational Biology. Tools for genome annotation, visualization, metabolic modeling and more are made available in a collaborative and educational web interface.
Description
Computional Biology and Experimental Biology are two specialities that would deeply benefit from more interaction - computationalists need access to data, biologists in wetlabs need computational tools. The KBase Narrative is a computerized laboratory notebook that puts the power of the KBase predictive biology platform into the hands of experimentalists and students. KBase provides cluster computation, analysis and modeling pipelines, large public datasets and a "pluggable" architecture for future services. The Narrative is an interface enabling the sharing of data, approaches and workflows on KBase. It also serves as a teaching tool and publishing platform, allowing other scientists and students to observe and reproduce the processes that led to the published result.
The KBase Narrative is based on the IPython Notebook, extended in the following ways:
- Notebooks are stored in a remote object store that enables versioning, provenance and sharing
- Support for multiple users has been added, based on OAuth authentication against a "cloud" authentication service (Globus Online)
- A framework for dynamically building form inputs for services using Python introspection and the IPython Traitlets package (a version of Traits) and displaying the output in JS visualization widgets
- A Docker based provisioning system that builds and tears down sandboxed IPython Notebook servers on demand, providing a scalable, reasonable safe and easy to use environment for running hosted IPython notebooks with much smaller overhead than VM's
- A heavily modified user interface that has been designed to support computational biology workflows
The current KBase Narrative was developed over the span of roughly 6 months by a small team of developers and user interface experts - the short time scale was possible due to the huge amount of functionality already provided by the IPython Notebook, and taking advantage of the productivity and power of the Python language.