Run it over a list of NMF models obtained using multiNMF
; it will
determine gene programs that are consistently observed across samples
and values of k.
getMetaPrograms(
nmf.res,
nMP = 10,
specificity.weight = 5,
weight.explained = 0.5,
max.genes = 200,
metric = c("cosine", "jaccard"),
hclust.method = "ward.D2",
min.confidence = 0.5,
remove.empty = TRUE
)
Returns a list with i) 'metaprograms.genes' top genes for each meta-program; ii) 'metaprograms.metrics' dataframe with meta-programs statistics: a) freq. of samples where the MP is present, b) average silhouette width, c) mean similarity (cosine or Jaccard), d) number of genes in MP, e) number of gene programs in MP; iii) 'metaprogram.composition' dataframe containing the number of individual for each sample that contributed to the consensus MPs; iv) 'programs.similarity': matrix of similarities (Jaccard or cosine) between meta-programs; v) 'programs.tree': hierarchical clustering of meta-programs (hclust tree); vi) 'programs.clusters': meta-program identity for each program
A list of NMF models obtained from multiNMF
Total number of meta-programs
A parameter controlling how specific gene should be for each program. `specificity.weight=0` no constraint on specificity, and positive values impose increasing specificity.
Fraction of NMF weights explained by selected genes. For example if weight.explained=0.5, all genes that together account for 50% of NMF weights are used to return program signatures.
Max number of genes for each programs
Metric to calculate pairwise similarity between programs
Method to build similarity tree between individual programs
Percentage of programs in which a gene is seen (out of programs in the corresponding program tree branch/cluster), to be retained in the consensus metaprograms
Whether to remove meta-programs with no genes above confidence threshold
library(Seurat)
data(sampleObj)
geneNMF_programs <- multiNMF(list(sampleObj), k=5)
geneNMF_metaprograms <- getMetaPrograms(geneNMF_programs, nMP=3)
Run the code above in your browser using DataLab