Abstract
Several prediction problems in Computational Biology and Genomic Medicine are characterized by both big data as well as a high imbalance between examples to be learned, whereby positive examples can represent a tiny minority with respect to negative examples. For instance, deleterious or pathogenic variants are overwhelmed by the sea of neutral variants in the non-coding regions of the genome: as a consequence the prediction of deleterious variants is a very challenging highly imbalanced classification problem, and classical prediction tools fail to detect the rare pathogenic examples among the huge amount of neutral variants or undergo severe restrictions in managing big genomic data. To overcome these limitations we propose parSMURF, a method that adopts a hyper-ensemble approach and oversampling and undersampling techniques to deal with imbalanced data, and parallel computational techniques to both manage big genomic data and significantly speed-up the computation. The synergy between Bayesian optimization techniques and the parallel nature of parSMURF enables efficient and user-friendly automatic tuning of the hyper-parameters of the algorithm, and allows specific learning problems in Genomic Medicine to be easily fit. Moreover, by using MPI parallel and machine learning ensemble techniques, parSMURF can manage big data by partitioning them across the nodes of a High Performance Computing cluster.
Results with synthetic data and with single nucleotide variants associated with Mendelian diseases and with GWAS hits in the non-coding regions of the human genome, involving millions of examples, show that parSMURF achieves state-of-the-art results and a speed-up of 80× with respect to the sequential version.
In conclusion parSMURF is a parallel machine learning tool that can be trained to learn different genomic problems, and its multiple levels of parallelization and its high scalability allow us to efficiently fit problems characterized by big and imbalanced genomic data.
Availability and Implementation The C++ OpenMP multi-core version tailored to a single workstation and the C++ MPI/OpenMP hybrid multi-core and multi-node parSMURF version tailored to a High Performance Computing cluster are both available from github: https://github.com/AnacletoLAB/parSMURF
List of abbreviations
- AUPRC
- Area Under the Precision-Recall Curve
- AUROC
- Area Under the Receiver-Operating-Characteristic Curve
- CADD
- Combined Annotation-Dependant Depletion
- CV
- Cross-Validation
- FATHMM-MKL
- Functional Analysis through Hidden Markov Models and Multiple Kernel Learning
- G/C content
- Guanine-Cytosine content
- gkm-SVM
- Gapped k-mer Support Vector Machine
- GWAS
- Genome-Wide Association Study
- GWAVA
- Genome Wide Annotation of Variants
- ML
- Machine Learning
- MPI
- Message Passing Interface
- NGS
- Next Generation Sequencing
- OpenMP
- Open Multi-Processing
- RF
- Random Forest
- SLURM
- Simple Linux Utility for Resource Management
- SMOTE
- Synthetic Minority Over-Sample technique
- SNV
- Single Nucleotide Variants
- UTR
- Untraslated Region