Skip to content

Missing MHC interactions when they are expected #23

@dn-ra

Description

@dn-ra

Hi,

Thank you for writing and maintaining this useful tool.

I'm performing cell interaction analysis on a dataset of DCs and T cells. I've output a list of interactions from a DC celltype to a T celltype and with a LRscore threshold of 0.3 as below:

<style> </style>
cDC1 T0 interaction type LRscore
Gnai2 S1pr1 paracrine 0.79762
Calm1 Pde1c paracrine 0.489527
Tgm2 Adgrg1 paracrine 0.455561
Spp1 S1pr1 paracrine 0.403408
Calm1 Oprm1 paracrine 0.39834
Gnai2 Oprm1 paracrine 0.358413
Calm3 Pde1c paracrine 0.348447
Pdgfb S1pr1 paracrine 0.341336
Calm2 Pde1c paracrine 0.333758

Trouble is, there should be some MHC interactions present in here. Even when I reduce the LRscore down to 0.05, the expected interactions still don't show up.

I should note that I have input my own cluster labels into the analysis rather than using the data_prepare() pipeline as we had to perform some integration.
What might be causing the drop out of expected interactions? Can inputting our own cluster labels cause this?

An example for the expression of one of the expected ligand-receptor pairings is present in the below plot. Clearly the involved molecules are present in the dataset. So what might I be doing wrong so that it isn't picked up in the analysis?
image

Here's the code I used to run SingleCellSignalR:

clust.ana <- cluster_analysis(data = seu_split[['LN']]@assays$RNA@data, genes = rownames(seu_split[['LN']]), 
                              cluster = seu_split[['LN']]$refined_cluster %>% as.factor() %>% as.numeric(), 
                              write = FALSE) #differentially expressed genes separating clusters. This actually isn't necessary. Jsut tells you if the interactions between two cell types are specific to that pairing.

signal <- cell_signaling(data =  seu_split[['LN']]@assays$RNA@data %>% data.frame(), 
                         genes = rownames(seu_split[['LN']]), cluster = seu_split[['LN']]$refined_cluster %>% as.factor() %>% as.numeric(), 
                         write = FALSE, species = 'mus musculus', s.score = 0.05,
                         c.names = seu_split[['LN']]$refined_cluster %>% as.factor %>% levels()) #generate cellular interaction lists

inter.net <- inter_network(data = seu_split[['LN']]@assays$RNA@data, signal = signal, genes = genes, 
                           cluster = seu_split[['LN']]$refined_cluster %>% as.factor() %>% as.numeric(), 
                           write = FALSE) #generate intercellular network

Thanks for your advice.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions