Data Integration with Two-Way Orthogonal Partial Least Squares

Performs the O2PLS data integration method for two datasets, yielding joint and data-specific parts for each dataset. The algorithm automatically switches to a memory-efficient approach to fit O2PLS to high dimensional data. It provides a rigorous and a faster alternative cross-validation method to select the number of components, as well as functions to report proportions of explained variation and to construct plots of the results. See the software article by el Bouhaddani et al (2018) , and Trygg and Wold (2003) . It also performs Sparse Group (Penalized) O2PLS, see Gu et al (2020) and cross-validation for the degree of sparsity.

GPL-3 Build Status codecov Build Status

Welcome to the OmicsPLS package page on Github. OmicsPLS contains an implementation of O2PLS.

O2PLS is designed for integrating two high dimensional datasets and the O2PLS package is an implementation of this method.


Install the package with:


Note that copying the quotation marks can sometimes go wrong, type them yourself to be sure. If that doesn't work, ensure that the required packages are installed (ggplot2 and parallel). Otherwise try the development version on this GitHub repo:


Or download the source .tar.gz or the Windows binaries .zip at my ZippedPackages repo.


After installing the package, load the functions by typing


Bugs, questions, complaints, etc

For questions, complaints, bugs, etc, you can e-mail me (<s.el_bouhaddani at>) or file an issue here at GitHub.

Citing the package

When using the OmicsPLS R-package in your research, please cite the corresponding article by running command


or copy-paste: Bouhaddani, S., Houwing-duistermaat, J., Jongbloed, G., Salo, P., Perola, M., & Uh, H.-W. (2016). Evaluation of O2PLS in Omics data integration. BMC Bioinformatics BMTL Supplement. DOI: 10.1186/s12859-015-0854-z

Atlas of science publication

Also please see for a gentle explanation and illustration of the just mentioned article.


  • We are working on a software tutorial paper and vignette to be published soon! Please see the OmicsPLS_vignette.pdf for a walkthrough of the OmicsPLS package with real data. In the meantime just email me for more information on the package.


Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.0.2 by Said el Bouhaddani, 5 months ago

Browse source code at

Authors: Said el Bouhaddani , Zhujie Gu , Jeanine Houwing-Duistermaat , Geurt Jongbloed , Szymon Kielbasa and Hae-Won Uh

Documentation:   PDF Manual  

GPL-3 license

Imports graphics, stats, dplyr, ggplot2, parallel, magrittr, tibble, softImpute

Suggests testthat, knitr, rmarkdown, gplots

See at CRAN