Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nichenet through seurat-cell type specific ligand/receptor scores #77

Open
annamath opened this issue Mar 26, 2021 · 4 comments
Open

nichenet through seurat-cell type specific ligand/receptor scores #77

annamath opened this issue Mar 26, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@annamath
Copy link

Hello, first - very nice to finally see ligand receptor interaction connecting to gene expression :)
I am using nichenet through seurat and I was wondering whether it's possible to get a metric/score of interaction per cell type and not a general (something like weight in nichenet_output$ligand_target_df but per ident).

Based on the vignettes, I get ligand/receptor pairs and then plot their expression. But expression is not directly connected with interaction score and it's often hard to visualize it/summarize especially when u have a lot of cell types.
I believe the vignette for circos plot visualization is close to what I would like to do, (https://github.com/saeyslab/nichenetr/blob/master/vignettes/circos.md) but I would still be interested in a more quantitative way. A good example could be figure 3 from CellPhoneDB (https://www.nature.com/articles/s41596-020-0292-x)

Thanks in advance!
Anna

@browaeysrobin
Copy link
Member

Hi @annamath

Do you mean that you want to have a score per senderLigand - receiverReceptor pair that includes both cell-type specific expression and NicheNet ligand activity? Or do you want the ligand-target scores weighted according to the expression level of the ligand in the different sender cell types? Or still something else?

@browaeysrobin browaeysrobin added the enhancement New feature or request label Mar 26, 2021
@annamath
Copy link
Author

Apologies, I am not sure I understand completely your suggestions. I would describe it as a score per senderLigand - receiverReceptor pair but per cell type/cell identity. So output-wise I would see it as nichenet_output$ligand_target_df with 2 additional columns, a sender cell column and a receiver cell column. Is it clearer now ?

@browaeysrobin
Copy link
Member

Hi @annamath

Do you want to include the cell type information at the ligand-target level or at the ligand-receptor level? Or both? Based on your first message and your reference to the CellPhoneDB figure, I was thinking you would want it for ligand-receptor interactions, but based on your last answer I guess you want it for the ligand-target level?

I will assume now that you want it for the ligand-target level (ligand_target_df as output).

Currently the ligand-target weights in ligand_target_df are solely based on prior information and not based on expression. The expression data is only used to define the set of potential ligands, and the geneset of interest.

But, in theory it could be possible to also consider the expression levels of each of the ligands per sender, and adapt the ligand-target weight by the expression of the sender cell type. In that case , we won't report scores for Ligand X - Target Y, but split this up in eg Sender A - Ligand X - Target Y and Sender B - Ligand X - Target Y. Sender A - Ligand X - Target Y would then have higher weights than Sender B - Ligand X - Target Y if the expression of ligand X in Sender A would be higher than in Sender B. Instead of expression it could also be possible and more informative in some datasets to use the logFC of the ligand.
In theory it could also be possible to adapt this score based on the logFC of the target gene in the specific receiver cell type - if you would want to compare ligand-target links between different receiver cell types as well.

We are currently not supporting this ourselves because there are many different options to do this, and the best option will probably depend on the specific use case, and is also hard to validate which way would be the best. But know that you yourself could add this type of expression information if you would want to for your specific use case.

@annamath
Copy link
Author

Hello @browaeysrobin
Thanks for your suggestions. I will try different things (gene expression and log2fc) and come back to you when I have any updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants