ClusterMarkersOfAllCells¶
Markers for clusters of all cells.
When only group_by is specified as "seurat_clusters" in
envs.cases, the markers will be found for all the clusters.
You can also find the differentially expressed genes between
any two groups of cells by setting group_by to a different
column name in metadata. Follow envs.cases for more details.
Input¶
srtobj: The seurat object loaded bySeuratPreparingIf you have yourSeuratobject prepared by yourself, you can also use it here, but you should make sure that the object has been processed byPrepSCTFindMarkersif data is not normalized usingSCTransform.
Output¶
outdir: Default:{{in.srtobj | stem0}}.markers.
The output directory for the markers and plots
Environment Variables¶
ncores(type=int): Default:1.
Number of cores to use for parallel computing for someSeuratprocedures.- Used in
future::plan(strategy = "multicore", workers = <ncores>)to parallelize some Seurat procedures. - See also: https://satijalab.org/seurat/articles/future_vignette.html
- Used in
group_by: The column name in metadata to group the cells.
If onlygroup_byis specified, andident-1andident-2are not specified, markers will be found for all groups in this column in the manner of "group vs rest" comparison.
NAgroup will be ignored.
IfNone,Seurat::Idents(srtobj)will be used, which is usually"seurat_clusters"after unsupervised clustering.dbs(list): Default:['KEGG_2021_Human', 'MSigDB_Hallmark_2020'].
The dbs to do enrichment analysis for significant markers See below for all libraries.
https://maayanlab.cloud/Enrichr/#librariessigmarkers: Default:p_val_adj < 0.05 & avg_log2FC > 0.
An expression passed todplyr::filter()to filter the significant markers for enrichment analysis.
Available variables arep_val,avg_log2FC,pct.1,pct.2andp_val_adj. For example,"p_val_adj < 0.05 & abs(avg_log2FC) > 1"to select markers with adjusted p-value < 0.05 and absolute log2 fold change > 1.enrich_style(choice): Default:enrichr.
The style of the enrichment analysis.
The enrichment analysis will be done byEnrichIt()fromenrichit.
Two styles are available:enrichr:enrichrstyle enrichment analysis (fisher's exact test will be used).clusterprofiler:clusterProfilerstyle enrichment analysis (hypergeometric test will be used).clusterProfiler: alias forclusterprofiler
assay: The assay to use.error(flag): Default:False.
Error out if no/not enough markers are found or no pathways are enriched.
IfFalse, empty results will be returned.subset: An expression to subset the cells for each case.cache(type=auto): Default:/tmp.
Where to cache the results.
IfTrue, cache tooutdirof the job. IfFalse, don't cache.
Otherwise, specify the directory to cache to.rest(ns): Rest arguments forSeurat::FindMarkers().
Use-to replace.in the argument name. For example, usemin-pctinstead ofmin.pct.
allmarker_plots_defaults(ns): Default options for the plots for all markers whenident-1is not specified.plot_type: The type of the plot.
See https://pwwang.github.io/biopipen.utils.R/reference/VizDEGs.html.
Available types areviolin,box,bar,ridge,dim,heatmapanddot.more_formats(type=list): Default:[].
The extra formats to save the plot in.save_code(flag): Default:False.
Whether to save the code to generate the plot.devpars(ns): The device parameters for the plots.res(type=int): Default:100.
The resolution of the plots.height(type=int): The height of the plots.width(type=int): The width of the plots.
<more>: Other arguments passed tobiopipen.utils::VizDEGs().
allmarker_plots(type=json): Default:{'Top 10 markers of all clusters': Diot({'plot_type': 'heatmap'})}.
All marker plot cases.
The keys are the names of the cases and the values are the dicts inherited fromallmarker_plots_defaults.allenrich_plots_defaults(ns): Default options for the plots to generate for the enrichment analysis.plot_type: Default:heatmap.
The type of the plot.devpars(ns): The device parameters for the plots.res(type=int): Default:100.
The resolution of the plots.height(type=int): The height of the plots.width(type=int): The width of the plots.
<more>: See https://pwwang.github.io/scplotter/reference/EnrichmentPlot.html.
allenrich_plots(type=json): Default:{}.
Cases of the plots to generate for the enrichment analysis.
The keys are the names of the cases and the values are the dicts inherited fromallenrich_plots_defaults.
The cases underenvs.casescan inherit this options.marker_plots_defaults(ns): Default options for the plots to generate for the markers.plot_type: The type of the plot.
See https://pwwang.github.io/biopipen.utils.R/reference/VizDEGs.html.
Available types areviolin,box,bar,ridge,dim,heatmapanddot.
There are two additional types available -volcano_pctandvolcano_log2fc.more_formats(type=list): Default:[].
The extra formats to save the plot in.save_code(flag): Default:False.
Whether to save the code to generate the plot.devpars(ns): The device parameters for the plots.res(type=int): Default:100.
The resolution of the plots.height(type=int): The height of the plots.width(type=int): The width of the plots.
<more>: Other arguments passed tobiopipen.utils::VizDEGs().
Ifplot_typeisvolcano_pctorvolcano_log2fc, they will be passed toscplotter::VolcanoPlot().
marker_plots(type=json): Default:{'Volcano Plot (diff_pct)': Diot({'plot_type': 'volcano_pct'}), 'Volcano Plot (log2FC)': Diot({'plot_type': 'volcano_log2fc'}), 'Dot Plot': Diot({'plot_type': 'dot'})}.
Cases of the plots to generate for the markers.
Plot cases. The keys are the names of the cases and the values are the dicts inherited frommarker_plots_defaults.
The cases underenvs.casescan inherit this options.enrich_plots_defaults(ns): Default options for the plots to generate for the enrichment analysis.plot_type: The type of the plot.
See https://pwwang.github.io/scplotter/reference/EnrichmentPlot.html.
Available types arebar,dot,lollipop,network,enrichmapandwordcloud.more_formats(type=list): Default:[].
The extra formats to save the plot in.save_code(flag): Default:False.
Whether to save the code to generate the plot.devpars(ns): The device parameters for the plots.res(type=int): Default:100.
The resolution of the plots.height(type=int): The height of the plots.width(type=int): The width of the plots.
<more>: See https://pwwang.github.io/scplotter/reference/EnrichmentPlot.html.
enrich_plots(type=json): Default:{'Bar Plot': Diot({'plot_type': 'bar', 'ncol': 1, 'top_term': 10})}.
Cases of the plots to generate for the enrichment analysis.
The keys are the names of the cases and the values are the dicts inherited fromenrich_plots_defaults.
The cases underenvs.casescan inherit this options.overlaps_defaults(ns): Default options for investigating the overlapping of significant markers between different cases or comparisons.
This means eitherident-1should be empty, so that they can be expanded to multiple comparisons.sigmarkers: The expression to filter the significant markers for each case.
If not provided,envs.sigmarkerswill be used.plot_type(choice): Default:venn.
The type of the plot to generate for the overlaps.venn: Useplotthis::VennDiagram().upset: Useplotthis::UpsetPlot().
more_formats(type=list): Default:[].
The extra formats to save the plot in.save_code(flag): Default:False.
Whether to save the code to generate the plot.devpars(ns): The device parameters for the plots.res(type=int): Default:100.
The resolution of the plots.height(type=int): The height of the plots.width(type=int): The width of the plots.
<more>: More arguments pased toplotthis::VennDiagram()(https://pwwang.github.io/plotthis/reference/venndiagram1.html) orplotthis::UpsetPlot()(https://pwwang.github.io/plotthis/reference/upsetplot1.html)
overlaps(type=json): Default:{}.
Cases for investigating the overlapping of significant markers between different cases or comparisons.
The keys are the names of the cases and the values are the dicts inherited fromoverlaps_defaults.
There are two situations that we can perform overlaps:- If
ident-1is not specified, the overlaps can be performed between different comparisons. - If
eachis specified, the overlaps can be performed between different cases, where in each case,ident-1must be specified.
- If