BigRiverEssence

CI codecov Stable Pkg Status

Description

BigRiverEssence implements different methods for capturing the essential structure of high-dimensional data matrices. It provides a broad range of methods, from standard techniques to specialized algorithms for sparse, supervised, and integrative analyses.

Why “Essence”? The name reflects the package’s goal of reducing large, high-dimensional data matrices to their essential structure through matrix decomposition and dimension reduction. It is a component of the BigRiver Julia package ecosystem.

These methods can be used to extract low-dimensional structure, identify sparse latent components, and characterize shared and dataset-specific variation across multiple data sources. The package is designed for high-dimensional data, particularly high-throughput biological and omics data.

The core routines prioritize computational efficiency in mind, with an emphasis on reducing memory usage. They rely primarily on optimized matrix operations to support fast exploratory data analysis, feature extraction, supervised dimension reduction, and integrative analysis of complex datasets.

The package currently implements the following methods:

  • Principal Component Analysis (PCA)[1]
  • Sparse Principal Component Analysis (SPCA)[2]
  • Penalized Matrix Decomposition (PMD)[2]
  • Nonnegative Matrix Factorization (NMF)[3][4]
  • Canonical Correlation Analysis (CCA)[5]
  • Sparse Canonical Correlation Analysis (SCCA)[6]
  • Joint and Individual Variation Explained (JIVE)[7]
  • Partial Least Squares Kernel Regression (PLSkern)[8]
  • Partial Least Squares Discriminant Analysis (PLSDA)[9]
  • Sparse Partial Least Squares Discriminant Analysis (SPLSDA)[10][11]

Installation

The BigRiverEssence package can be installed by running:

using Pkg
Pkg.add("BigRiverEssence")

or from the julia REPL, press ] to enter pkg mode, and execute the following command:

add BigRiverEssence

For the most recent (development) version, use:

using Pkg
Pkg.add(url = "https://github.com/senresearch/BigRiverEssence.jl", rev="main")

Contributing

We appreciate contributions from users. GitHub Issues are the preferred venue for reporting bugs and requesting features, while GitHub Pull Requests are the preferred venue for contributing code, such as bug fixes, performance improvements, or new features.

Questions

If you have questions about contributing or using BigRiverEssence package, please communicate with the authors via GitHub.

References

  • 1Pearson, K. (1901). On Lines and Planes of Closest Fit to Systems of Points in Space. Philosophical Magazine, 2(11), 559–572.
  • 2Witten, D. M., Tibshirani, R., & Hastie, T. (2009). A Penalized Matrix Decomposition, with Applications to Sparse Principal Components and Canonical Correlation Analysis. Biostatistics, 10(3), 515–534.
  • 3Cichocki, A., & Phan, A.-H. (2009). Fast Local Algorithms for Large Scale Nonnegative Matrix and Tensor Factorizations. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, E92-A(3), 708–721.
  • 4Boutsidis, C., & Gallopoulos, E. (2008). SVD Based Initialization: A Head Start for Nonnegative Matrix Factorization. Pattern Recognition, 41(4), 1350–1362.
  • 5Weenink, D. (2003). Canonical Correlation Analysis. Institute of Phonetic Sciences, University of Amsterdam, Proceedings 25, 81–99.
  • 6Witten, D. M., & Tibshirani, R. (2009). Extensions of Sparse Canonical Correlation Analysis with Applications to Genomic Data. Statistical Applications in Genetics and Molecular Biology, 8(1), Article 28.
  • 7Lock, E. F., Hoadley, K. A., Marron, J. S., & Nobel, A. B. (2013). Joint and Individual Variation Explained (JIVE) for Integrated Analysis of Multiple Data Types. Annals of Applied Statistics, 7(1), 523–542.
  • 8Dayal, B. S., & MacGregor, J. F. (1997). Improved PLS Algorithms. Journal of Chemometrics, 11(1), 73–85.
  • 9Pérez-Enciso, M., Tenenhaus, M. Prediction of clinical outcome with microarray data: a partial least squares discriminant analysis (PLS-DA) approach. Hum Genet 112, 581–592 (2003). https://doi.org/10.1007/s00439-003-0921-9
  • 10Lê Cao, K.-A., Boitard, S., & Besse, P. (2011). Sparse PLS Discriminant Analysis: Biologically Relevant Feature Selection and Graphical Displays for Multiclass Problems. BMC Bioinformatics, 12, 253.
  • 11Lê Cao, K.-A., Rossouw, D., Robert-Granié, C., & Besse, P. (2008). A Sparse PLS for Variable Selection when Integrating Omics Data. Statistical Applications in Genetics and Molecular Biology, 7(1), Article 35.