ShixiangWang / sigminer

🌲 An easy-to-use and scalable toolkit for genomic alteration signature (a.k.a. mutational signature) analysis and visualization in R https://shixiangwang.github.io/sigminer/reference/index.html
https://shixiangwang.github.io/sigminer/
Other
144 stars 18 forks source link

SBS signatures from sigprofile_extractor do not match COSMIC signatures on COSMIC website #410

Closed kevlumbus closed 2 years ago

kevlumbus commented 2 years ago

Hi Dr. Wang

I have been using sigprofile_extractor feature in your package to find mutation signatures in my data set, and I found out that the mutation signatures that are being called are not matching those listed on COSMIC's site.

Here is an example of SBS4 signature that was identified in your package:image

Compared to the results from COMSIC's Website: image

Could you please advise as to what could be causing this issue?

ShixiangWang commented 2 years ago

Hi, @kevlumbus, in your case, sigminer uses sigprofiler as engine to call mutational signature. The SigProfiler rename the result signatures starting from SBS1. So the the SBS4 (it is the 4th signature identified in your class) above doesnot match the COSMIC SBS4 below. You have to calculate the signature similarity to assign the result signatures to COSMIC signatures.

kevlumbus commented 2 years ago

Hi @ShixiangWang,

Thank you for your quick response!

It was my understanding that during the deconvolution of our de novo signatures (where our results are being compared to known COSMIC signatures), it is during this step where the profiler identifies your de novo signature A matches to signature SBS4. However, as I have shown in the example above, the deconvolution step is calling profiles that do not match with their COSMIC counterpart because it is renaming signature names. Will this discrepency be fixed in future releases of your package such that the called SBS signatures match the COSMIC SBS signatures (for example SBS4 called by the sigprofiler will match SBS4 in COSMIC)?

ShixiangWang commented 2 years ago

@kevlumbus Sorry, this is not a bug and cannot be fixed by Sigminer. As you only use sigprofiler_extract(), which call SigProfiler (https://osf.io/t6j7u/wiki/home/) directly. It is SigProfiler naming the result signatures with names starts from SBS, not sigminer. If you go further import the SigProfiler result with sigprofiler_import(), you will see all signatures have been renamed as Sig1, Sig2, ...

https://github.com/ShixiangWang/sigminer/blob/11e33a23fbf106a5aba60e758d98b988c6d68b53/R/sigprofiler.R#L220

After importing, you can use get_sig_similarity() to obtain the similarity between result signatures and reference signatures (https://shixiangwang.github.io/sigminer/reference/get_sig_similarity.html), then you can assign them to COSMIC signatures.

Most of mutational signature analysis program will not automatically assign COSMIC signatures for you, as many of result signatures may have low similarity with COSMIC reference signatures.

kevlumbus commented 2 years ago

@ShixiangWang Thanks for your suggestions I will try this method

amootta commented 1 year ago

Hello there, I have come across similar questions about the similarity of my COSMIC decomposed signatures to actual COSMIC signatures. In my suggested solutions output file, I am looking at the COSMIC_SBS96_Decomposed_Solution file and its outputs. I thought that the signatures resulting in this folder would be those that have been matched to COSMIC, eg. SBS39 would mean that it has deconvoluted my signature to the COSMIC signature SBS39. Similar to SBS18 which I have also found, etc. However, like the above, the signatures are completely different!

This is SBS39 in my output: image

Which is different to SBS39 on COSMIC: image

Please could you help me understand what the outputs in this folder are? Thank you

ShixiangWang commented 1 year ago

@amootta Could you post your data or email it to me (w_shixiang@163.com) for checking the result? As sigminer itself does not include the SigProfiler, if it is truly a mistake in the SigProfiler code, we may need to report it to the SigProfiler authors.

ShixiangWang commented 1 year ago

@amootta To note, the sigminer uses a fixed version of SigProfiler by default, which may be out of date

image

You may also want to change to the latest version, https://github.com/AlexandrovLab/SigProfilerExtractor, and give it a try.