- Notifications
You must be signed in to change notification settings - Fork4
License
GPL-2.0, Unknown licenses found
Licenses found
welch-lab/RcppPlanc
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
RcppPlanc is, as the name implies, an Rcpp wrapper forplanc. Currently, itimplements wrappers for the vanilla NMF and NNLS algorithms. It also implements integrative NMF as described inWelch, J. D. et al, 2019, online integrative NMF as described inGao, C. et al, 2021 and unshared integrative NMF as described inKriebel and Welch, 2022. This is, at present, the fastest NMF implementation on CRAN, assuming you set nCores on call.
- A complete BLAS library. (OpenBLAS works well. MacOS on ARM64 will always use the built invecLib framework.) (Runtime)
- A modern R toolchain (Rtools on Windows, the system toolchain on UNIX-alikes)
- A modern R (tested on 4.3+) (Runtime)
- CMake >=3.21
- HDF5 (tested against 1.12.0) (Runtime)
- OpenMP implementation that uses v4.0 semantics (if using OpenMP). For the GNU stack, this means gcc 9.
install.packages(RcppPlanc)
conda install r-rcppplanc -c conda-forge
- Install the runtime requirements above.
install.packages('RcppPlanc', repos = c('https://welch-lab.r-universe.dev', 'https://cloud.r-project.org'))
- Ensure libhdf5, libhwloc, and libopenblas are installed.
install.packages("RcppPlanc", repos = c(linux = 'https://welch-lab.r-universe.dev/bin/linux/noble/4.5/',sources = 'https://welch-lab.r-universe.dev',cran = 'https://cloud.r-project.org'))- Install the requirements above.
- Ensure your libraries can be found by CMake.
devtools::install_github("welch-lab/RcppPlanc")
Non-fatal errors during the CMake run are to be expected as the compiler flags are tailored to each system.Currently, the cblas locator logic only finds headers at the root of the given include directories or in the openblasand flexiblas subdirectories. If CMake cannot find a cblas header, its directory must be specified manually in CMakeCache.txt.This software will not use OpenMP on MacOS and performance on Intel Macs will suffer accordingly. Blame Apple. ARM64 Macsmore than make up for the threaded performance loss with their inbuilt matrix coprocessor. If you're on an Intel mac and feelingadventurous, you can always try following the instructions athttps://mac.r-project.org/openmp/ but your mileage may vary.
A huge shoutout goes toRamakrishnan Kannan for the original work on which this program is based.Relevant citations can be found in his repository athttps://github.com/ramkikannan/planc/blob/master/papers.md.
When and if a citation for this package becomes available, it will be posted here.
Parts of this code source are licensed under the 3-clause BSD (c) 2016 , UT-Battelle, LLC and (c) 2017 Ramakrishnan Kannan.The compiled binary and sources not marked otherwise are licensed under the GPLv2 or later.
Licenses for the various CMake scripts (FindHWLOC, FindR, and FindRModule, and PatchFile) are included at the topof each file.
Please reach out to us at the Welch Lab using the issue tracker in this repositorybefore contacting upstream.Much of the inherited code is heavily modified and half of the algorithms have not yet been upstreamed.
Pull requests are welcome.
Vignettes and R documentation files are available in the standard folders.
About
Resources
License
GPL-2.0, Unknown licenses found
Licenses found
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.