How does stlearn calculates the number of L-R pairs of celltype
Opened this issue · 1 comments
caiquanyou commented
How does stlearn calculates the number of L-R pairs of celltype? which part I should usor any code for tutorial.
For example, I run st.tl.cci.run_cci, and how could I get total interactive LR pair of cell A and cell B
duypham2108 commented
You can check the description of the function here. I am not sure I got your question right, but you can set the sig_spots=0
and lower other parameters like min_spots
stLearn/stlearn/tools/microenv/cci/analysis.py
Lines 510 to 591 in bf91758
################################################################################ | |
# Functions for calling Celltype-Celltype interactions # | |
################################################################################ | |
def run_cci( | |
adata: AnnData, | |
use_label: str, | |
spot_mixtures: bool = False, | |
min_spots: int = 3, | |
sig_spots: bool = True, | |
cell_prop_cutoff: float = 0.2, | |
p_cutoff: float = 0.05, | |
n_perms: int = 100, | |
n_cpus: int = 1, | |
verbose: bool = True, | |
): | |
"""Calls significant celltype-celltype interactions based on cell-type data randomisation. | |
Parameters | |
---------- | |
adata: AnnData | |
Must have had st.tl.cci_rank.run() called prior. | |
use_label: str | |
If !spot_mixtures, is a key in adata.obs, else key in adata.uns. | |
Note if spot_mixtures specified, must have both the deconvolution data | |
in adata.uns[use_label] and the dominant cell type per spot stored in | |
adata.obs[use_label]. See tutorial for example. | |
spot_mixtures: bool | |
If true, indicates using deconvolution data, hence use_label | |
refers to adata.uns. | |
min_spots: int | |
Specifies the minimum number of spots where LR score present to | |
include in subsequent analysis. | |
sig_spots: bool | |
If true, only consider edges which include a signficant spot from | |
calling st.tl.cci.run() | |
cell_prop_cutoff: float | |
Only relevant if spot_mixtures==True, indicates cutoff where cell type | |
considered found in spot. | |
p_cutoff: float | |
Value at which p is considered significant. | |
n_perms: int | |
Number of randomisations of cell data to generate p-values. | |
If set to 0, then performs no permutations, but still does perform | |
raw counting of the cell type interactions with each LR hotspot. This | |
can still be visualised downstream by setting paramters to plot | |
significant interactions to false. | |
n_cpus: int | |
cpu resources to use. | |
verbose: bool | |
True if print dialogue to user during run-time. | |
Returns | |
------- | |
adata: AnnData | |
Relevant information stored | |
adata.uns['lr_summary'] | |
Additional columns; f"n_cci_sig_{use_label}", | |
f"n-spot_cci_{use_label}", f"n-spot_cci_sig_{use_label}". | |
Former is the no. of CCIs significant for the LR, middle is | |
the no. of individual spot-spot interactions across all CCIs for | |
LR, and latter is the no. of significant individual spot | |
interactions. | |
adata.uns | |
Dataframes added: | |
f"lr_cci_raw_{use_label}" | |
The raw count of spot-spot interactions across all LR | |
pairs for each possible CCI. | |
f"lr_cci_raw_{use_label}" | |
The count of significant spot-spot interactions across | |
all LR pairs for each possible CCI. | |
Dictionaries added: | |
f"per_lr_cci_pvals_{use_label}" | |
Each key refers to a LR, with the value being a dataframe | |
listing the p-values for each potential CCI. | |
f"per_lr_cci_raw_{use_label}" | |
Each key refers to a LR, with the value being a dataframe | |
listing the count of spot-spot interactions via the LR in | |
significant LR neighbourhoods stratified by each | |
celltype-celltype combination. | |
f"per_lr_cci_{use_label}" | |
The same as f"per_lr_cci_raw_{use_label}", except | |
subsetted to significant CCIs. | |
""" |