Life Sciences Continuous Integration
Submitted By Jenkins User Ioannis Moutsatsos
Novartis found that rapid prototyping with Jenkins provides guidance and requirements for building successful research enterprise apps in a fraction of the time.
Organization: Novartis, https://www.novartis.com
Industry: Medical Research
Programming Language: Java, Groovy, R, Python
Platform: Linux, Windows
Version Control System: Bitbucket Server, GitHub
Build Tool: Gradle
Community Support: Jenkins Users Google Group or IRC Chat, Jenkins.io websites & blogs, Networking at Jenkins event, Spoke with colleagues and peers
Finding solutions that adapt to new requirements, data types, and timelines requires Jenkins and 'outside the box' thinking.
Background: This project addresses the need to rapidly create functional prototypes for advanced image and data processing pipelines in modern life science research laboratories. Research data are big, heterogeneous, fast-evolving, and distributed. These data are typically processed by typical office applications (MS Excel) or custom vendor software on a variety of platforms (lab PCs, user workstations, Linux compute clusters, cloud, etc.). Enterprise-level applications for managing, integrating, and analyzing these data are expensive to build, maintain and evolve and don’t always address the emerging needs of new research platforms and smaller-scale projects/teams. Finding solutions to these challenges that can quickly adapt to new requirements, data types, and timelines requires some ‘outside the box’ thinking.
Goals: Rapid prototyping of life science workflows and data integration.
Solution & Results: We have used Jenkins and the rich Jenkins plugins ecosystem to build easily accessible, highly functional, reproducible, and well-managed image and data processing/analysis pipelines for life science research applications.
The provenance and reproducibility of the results and computational tasks (highly desirable in a research environment) are well supported with the extensive Jenkins logging, fingerprinting, and storage of each job’s parameters. Additionally, Jenkins allows laboratory scientists transparent access to high-performance compute cluster resources for tasks that otherwise would require the dedicated involvement of a research computing engineer to complete.
With the accumulated experience and development of reusable strategies and components, these freestyle research applications can be developed in a matter of days and put into the hands of real users for functional testing and requirement refinement. Importantly these Jenkins rapid prototypes have proven invaluable to providing guidance and requirements for building successful research enterprise applications in a fraction of the typical time.
Here’s what we used:
- Jenkins parameterized freestyle jobs. Plugins: Active Choices, Groovy, Rebuilder, Scriptler, Build Name/Description Setter, Summary Display, Environment Injector, R Plugin, Jenkins SHH, HTML Publisher, Conditional BuildStep, Jenkins Multijob, Rich Text Publisher, Associated Files
And here’s what we got in return:
- Timely and functional solutions to complex research problems
- Increased result provenance and reproducibility
- Increased collaboration and sharing
- Better communication with enterprise architects
- Faster development cycle