Genomics and related technologies have transformed life sciences research providing new insights into the understanding of health conditions and medical treatments. These technologies produce mountains of data that need to be managed and analyzed. Rapid developments in Next Generation Sequencing technologies have helped genomics become mainstream, but the compute support systems, required to enable genomics, have lagged behind. As genomics is making inroads into personalized health care and clinical settings, it is paramount that a robust compute infrastructure be designed to meet the growing needs of the field.
Biology is a Big Data discipline, driven largely by the advancements in instrumentation capable of producing vast quantities of data. The key technologies, collectively known as Omics, consist of genomics, transcriptomics, proteomics, metabolomics and several imaging techniques. Researchers often use a combination, or variations, of omics techniques (multi-omics) to understand biological systems in a comprehensive manner. Each of these omics techniques, can generate data on the order of hundreds of gigabytes per experiment. The magnitude of data scales up vastly in multi-omics studies.
While the omics revolution provides the means to explore biology with extreme detail, its success largely depends upon scalable computing infrastructure and data management techniques designed for cost and energy efficiency. At the same time there are two key IT trends which need to be taken into consideration:
a. Delivery of compute and storage resources as-a-service to provide various degrees of abstractions (platform as a service, software as a service, etc.) aimed to simplify interaction between end users and computational infrastructure
b. Evolution of High Performance Computing (HPC) towards Data Centric (DC) architectures based on IBM POWER9 processors that are designed to better handle workloads displaying characteristics such as those in omics .
A typical workflow or pipeline in bioinformatics requires a number of software components that are stitched together through shell scripts, workflow standards or traditional programming constructs. These software components are generally developed independently, using heterogeneous software engineering practices, by different research groups. Therefore, development of a pipeline that can be run on a variety of platforms, and produces reproducible results is an important consideration in a clinical setting.
As an example, let us take the well-known RNA-Seq data processing pipeline, called Tuxedo protocol as discussed in the paper Differential gene and transcript expression analysis of RNA-seq experiments with TopHat and Cufflinks, is illustrated in Figure 1. The Tuxedo protocol links together a number of software tools for gene discovery and comprehensive expression analysis of RNA-seq data to allow biologists to identify new genes and new splice variants of known ones and to compare gene and transcript expression under multiple conditions.
A) There are three main tasks in the pipeline – read mapping, transcript assembly, and detection of differential genes and transcripts.
B) The information flow in the pipeline and outputs produced at each stage: The input FASTQ files, shown in Orange and Light Blue, represent data from two experimental conditions. The same color scheme is used to represent all the intermediate files generated for each condition. The steps in the pipeline are drawn to align with the sub-task listed in panel A. The input files are processed through different stages using tools as shown in the panel C of the figure. Each stage generates a set of output files that are used for downstream analysis.
C) List of tools grouped according to the sub-tasks listed in panel A.
Figure 1 A detailed look at the Tuxedo pipeline
IBM Research has proposed a blueprint for Bioinformatics as a Service (BaaS) for distributed computing infrastructure, which can take advantage of modern HPC architectures to enable large scale omics data processing (Euro-Par 2018 International Workshops, Turin, Italy, August 27-28, 2018, Revised Selected Papers, pp.601-612, Springer 2019). The BaaS approach is based on technologies widely adopted by the community, like Common Workflow Language (CWL) and Docker and addresses three major challenges of the genomics research:
- Big Data management
- Portability of tools across platform and environments
- Reproducibility of the results.
Figure 2 details the major components of the BaaS framework including:
- GUI/CLI/API front-end for submission and displaying results
- CWL engine for processing workflow definitions
- Batch scheduler – IBM Spectrum LSF
- HPC cluster with high bandwidth InfiniBand interconnect
- High performance parallel filesystem – IBM Spectrum Scale
- Docker repository.
Figure 2 Main components of the BaaS framework
The BaaS blueprint is designed with the usability in mind. Assuming that a researcher has defined the bioinformatics pipeline either through a graphical interface, or directly through CWL language constructs, the control flow from submission to results is as follows:
- The end user submits the workflow (CWL) through a graphical interface or command line or API calls. The CWL engine parses the workflow specification and performs a translation of the steps into submission scripts, suitable for a workload scheduler.
- Pipeline jobs are automatically submitted to a scheduler in the order prescribed in the CWL flow. Scheduler ensures optimal job placement on compute nodes.
- Jobs are started on compute nodes. Required components like TopHat and Cufflink are pulled from a Docker repository on demand.
- All stages of a pipeline are completed, results are forwarded to the user. Note that multiple instances of the above flow can be executed concurrently within the same HPC cluster and data accesses from multiple pipelines are handled by the high performing parallel filesystem.
Effectively, key steps 2 and 3 are invisible to the end user. The complexities of scheduling the individual tasks of the pipeline, software components and data movement are all ensured by the BaaS architecture. In clinical environment, where speed of results, repeatability and ease of use are of the essence, the BaaS architecture provides abstraction to the end users through easy to use interfaces, enabling users to easily to focus on their research, rather than the complexity of the underly infrastructure.
Read HPCwire article Go With the Flow – Accelerating Complex Computational Workflows to learn more about best practices and key capabilities for driving productivity with complex computational workflows.
IBM Spectrum LSF Suite provides advanced capabilities for running workloads including multi-step workflows across an HPC infrastructure – all through easy to use interfaces.
With contributions from Dr. Ritesh Krishna, IBM Research
This work was supported by the STFC Hartree Centre’s Innovation Return on Research programme, funded by the Department for Business, Energy & Industrial Strategy.
Copyright. (c) STFC, IBM Corp. 2019