decoupler.run_ulm
- decoupler.run_ulm(mat, net, source='source', target='target', weight='weight', batch_size=10000, min_n=5, verbose=False, use_raw=True)
Univariate Linear Model (ULM).
ULM fits a linear model for each sample and regulator, where the observed molecular readouts in mat are the response variable and the regulator weights in net are the explanatory one. Target features with no associated weight are set to zero. The obtained t-value from the fitted model is the activity (ulm_estimate) of a given regulator.
- Parameters:
- matlist, DataFrame or AnnData
List of [features, matrix], dataframe (samples x features) or an AnnData instance.
- netDataFrame
Network in long format.
- sourcestr
Column name in net with source nodes.
- targetstr
Column name in net with target nodes.
- weightstr
Column name in net with weights.
- batch_sizeint
Size of the samples to use for each batch. Increasing this will consume more memmory but it will run faster.
- min_nint
Minimum of targets per source. If less, sources are removed.
- verbosebool
Whether to show progress.
- use_rawbool
Use raw attribute of mat if present.
- Returns:
- estimateDataFrame
ULM scores. Stored in .obsm[‘ulm_estimate’] if mat is AnnData.
- pvalsDataFrame
Obtained p-values. Stored in .obsm[‘ulm_pvals’] if mat is AnnData.