A matrix factorization model for multi-omic data and biological pathways—implemented in Julia.
Note: this code is under development and subject to change!
Install in the usual Julia way:
julia> using Pkg; Pkg.add(url="https://github.com/dpmerrell/PathMatFac.jl")
Suppose you have a big array
This package uses the matrix factorization model of MatFac.jl to model
- We use biological pathways to regularize the
$Y$ matrix. This allows us to interpret each row of$Y$ as a pathway factor. - We allow biological conditions to regularize the
$X$ matrix. I.e., two samples belonging to the same biological condition are expected to have similar attributes. - The model accounts for distributional differences between omic assays:
- It includes column-specific shift and scale parameters.
- It assigns appropriate noise models to assays. E.g., log-transformed mRNAseq data are normally-distributed and somatic mutations are bernoulli-distributed.
- The model accounts for batch effects. If you provide batch identifiers for each sample and each assay, the model will fit batch-specific shift and scale parameters.
TODO: fill this out as development converges