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

异常高的SBS39的组分 #436

Closed wangshun1121 closed 1 year ago

wangshun1121 commented 1 year ago

使用sig_fit函数直接拟合最新的COSMIC SBS的signature,尝试了好几个cohort,发现直接拟合出来的SBS组分中,总有较高比例的SBS39。但Nature给的图中,SBS39的组分很少。

可以通过cBioportal的cohort来复现这一点,例如luad_cptac_2020,brca_cptac_2020,lusc_cptac_2021等几个cohort。另外,肺癌中报道的SBS5,经过sig_fit拟合Signature后,发现没有SBS5的组分。

ShixiangWang commented 1 year ago

sig_fit 本身提供了不同的方法去做这个事情,结果都一样吗?是否有的方法更适用呢?

https://shixiangwang.github.io/sigminer/reference/sig_fit.html

另外如果想获取 signature acticity的稳定估计,最好还是用 bootstrap 去做一下。

https://shixiangwang.github.io/sigminer/reference/sig_fit_bootstrap_batch.html

还有就是提前对做分析的肿瘤限定 signatures。

sigminer 中本身没有对方法/数据做任何限定。如果上述都还无法获取你预期的稳定结果,可能需要尝试其他工具了。

wangshun1121 commented 1 year ago

1、这是我目前的代码:

Sig_fit = sig_fit(t(mt_tally$all_matrices$SBS_96),
                sig_db = "SBS_hg19",
                mode="SBS",
                sig_index = "ALL",
                show_index = T,
                db_type = "human-exome",
                auto_reduce = T,
                rel_threshold = 0.02,
                method = 'NNLS',
                return_error = T,
                return_class = 'data.table',
                type = 'relative'
                )

2、bootstrap也尝试了,结果差不多,同样也是异常高的SBS39

3、我考虑针对cohort,先全部扫描一遍SBS,再选择其中组分较高的Signature,做第二部sig_fit。结果第一步筛选出来,SBS39总是会跳出来,而且我发现,我得到的显著Signature跟COSMIC公开的那些Signature似乎有出入。

4、去COSMIC官方的在线工具那边再试试看吧,正在跑呢。

ShixiangWang commented 1 year ago

嗯嗯,期待好消息。如果你只是单纯使用这个数据,可以下载之前文献做好的结果。

wangshun1121 commented 1 year ago

COSMIC那边也出来结果了:

plot

这是肺腺癌的数据,Extract出来的突变谱列表: matrix.txt

得到的Signature组分如下: Signature_contributions (1).csv

SBS39的组分仍然高,而肺癌典型的SBS4却又消失了。。。

ShixiangWang commented 1 year ago

如果你觉得39的出现不合理,可以直接移除这个signature去refitting.

ShixiangWang commented 1 year ago

或者你用v2 的reference signatures 算算看?

wangshun1121 commented 1 year ago

我只是挺好奇,为何SBS39总会诡异的出现。。。如您所说也可以移除这个Signature来处理。我考虑的是寻找代表每个cohort特有的signature,或者相似病种不同队列可能有共有的signature。一开始默认全部signature全刷一遍,后来发现SBS39总会出现,而且它居然没有被作为主要Signature有大量文献论述,所以现在考虑是否是算法的局限。。。

ShixiangWang commented 1 year ago

算一下SBS39和其他signature的相似性?

wangshun1121 commented 1 year ago

以cosine similarity算,两个Signature跟SBS39相似度较高:SBS86有0.8,SBS3有0.79。别的都在0.65及以下了

wangshun1121 commented 1 year ago

SigProfilerAssignment的python包计算,结果虽然没有sig_fit得到的cosine好,但似乎更合理,SBS39的比例降了好多。Nature论文中并非简单把所有Signatrue一股脑扔进去,也有一些取舍,可能这些东西也体现在了SigProfilerAssignment中。但这个工具有个坑:若输入为matrix,则Mutation Type必须按照字母顺序排好,否则结果会出诡异的问题。

ShixiangWang commented 1 year ago

嗯嗯,他们团队应该是进一步在做优化,后面再做个升级的工具出来。

ShixiangWang commented 1 year ago

Assigning mutational signatures to individual samples and individual somatic mutations with SigProfilerAssignment https://www.biorxiv.org/content/10.1101/2023.07.10.548264v1