liana
liana copied to clipboard
chord_freq plot question
Hello,
Thanks for this useful tool! Your approach to making an aggregation tool is quite helpful.
Is it possible to show linked ligand-receptor names in chord_freq plot?
Thank you.
Hi @akiss-me,
Thanks for using liana.
I'm not sure if it would be feasible due to the large number of interactions typically summarized by the chord diagram.
Hi @dbdimitrov, thank you for the reply, in the example now are only 25 interactions, it's not so much to indicate the ligand-receptor name. It could be helpful to have such an option. I found the example in nichenet manual https://github.com/saeyslab/nichenetr/blob/master/vignettes/circos.md
Hi @akiss-me,
Yeah fair point, this would require some modifications to my current function, in the direction of showing magnitude instead of frequency. I do have a magnitude-focused chord diagram on my to-do list, so I could give this a shot.
I know that @enblacar is also working on a visualization package that would include LIANA's output, so perhaps this is something of interest? :)
Daniel
Hi @dbdimitrov, thank you for the reply, I do not want to repeat it, but Liana is the most easy-to-use and obvious CCC tool that I tried, and the idea of aggregation of published and famous tools is brilliant! I hope, that Liana becomes the standard of CCC. I will wait for the update. Thank you for the link to @enblacar work, it's looks also great, I will try to use SCpubr. Yes, this is very interesting to use SCpubr with Liana's output! Thank you for your work.
Thanks @akiss-me :)
Hello friends. I am really happy to see there is a package which can summarize all the best packages for CCC out there. Thank you for the awesome work you are doing :). I was wondering if there are plans for the future for the circus plot to look like something like the circus plot from CellTalkeR package. I find this representation very useful. Thank you and have a wonderful weekend.
Hi @AltayYuzeir,
Thanks for your interest in LIANA. Thanks for the suggestion, I will certainly consider it in future updates to LIANA :)
Daniel
Hi @dbdimitrov @akiss-me,
Sorry for the late reply!
Thanks for linking to and checking out my package! I am currently working on implementing sankey plots and chord diagrams on SCpubr. Once I have that set up, I also think it would be interesting implementing them with liana's output allowing frequency or magnitude to be displayed.
However, I am currently a bit short on time, so this might take a while. But happy to add it to my to-do list!
Enrique
Hi @dbdimitrov and @akiss-me,
I was able to work on my package and believe I arrived to a suitable solution. In it, you can compute two kind of ChordDiagram plots:
- One that shows the total amount of significant interactions between each pair of clusters.
- One that shows the number of ligand.complex-> receptor.complex interactions (unidirectional, from ligand.complex to receptor.complex) based on the top interactions (filtered by significance and ranked by both highest magnitude and specificity). This number can be modified using
top_interactions
parameter.
The plots can be further subset to allow better visualizations using keep.source
and keep.target
parameters.
I hope this helps and is what you were looking for, @akiss-me!
Enrique
Hi Enrique,
Looks amazing! I will add SCpubr as a suggestion in LIANA's next update :)
Regards, Daniel
One suggestion would be that for the LR doplot, instead of filtering to only 'top hits': https://github.com/enblacar/SCpubr/blob/4a6033aa9171c7b4ad4ca8ec60dbd97f19f6cd38/R/do_LigandReceptorPlot.R#L170
I would instead filter to obtain 'relevant'/top-ranked interactions, then I would inner join to the dataframe with all LR predictions - in order to keep all relevant source-target combinations for those interactions. This way you keep the LRs across all clusters as a reference to the relevant ones.
I realized I had the same filtering in my tutorial, which could be misleading, and have changed it a few updates back.
Please refer to this if unclear: https://github.com/saezlab/liana/blob/f7ec81b18eb63bc7a7f941e8e2195139f6018b9c/R/liana_plot.R#L70
Daniel
Hi @dbdimitrov,
Thanks a lot for considering suggesting SCpubr! It is a real honor!
I was indeed not happy about the missing non-significant interactions, so I was really happy to implement your fix. While many new columns showed up in the dotplot as a result of this, there were some missing, this being the case of specific source-target combinations that had not a single interaction in the top_n
recovered.
For this, I also implemented a fix in which I just add the missing combinations with NA for both magnitude and specificity, this resulting finally in a dotplot that has all possible combinations, which I think looks more comprehensive to my opinion.
I have, nevertheless, added a parameter to toggle on/off this behavior.
Looking forward to further liana updates! Enrique
This issue is now covered by SCpubr and I refer to it in the tutorial.