matchpar                This function takes an scRNAseq counts matrix
                        as an input (cells in rows x genes in cols) and
                        outputs a matrix of cells x 3 covariates
                        (number of genes detected, sequencing depth and
                        mitochondrial gene expression). This covariate
                        matrix can then be used to match cells and
                        perform stratified permutation.
mcm                     Multisample generalization of Rosenbaum's
                        crossmatch test
mhcccreate              Creates the null covariance matrix for mmcm,
                        corresponding to the scenario when all K
                        distributions are the same
mhccexecutelong         Calculates the pairwise crosscounts for the K
                        classes being examined
mmcm                    Use the Mahalnobis-type multisample test based
                        on optimal matching to compare K different
                        multivariate distributions
multigene               Given two input matrices with the same number
                        of observations but differrent number of
                        variables, this function returns the largest
                        canonical correlation between variables of
                        matrix 1 (X) and those of matrix 2 (Y).
scPath                  This function takes an scRNAseq counts matrix
                        as an input (cells in rows x genes in cols) and
                        outputs a list of cells x pathway matrices
select_class            When the MCM/MMCM tests reject the null, class
                        selection can help determine which of the K
                        classes are the likely contributors for
                        rejection
split_mat               Split a data frame or matrix into subsets based
                        on a particular categorical variable
