DoubletFinder的可重復(fù)性問(wèn)題

作為一個(gè)多細(xì)胞去除工具,DoubletFinder似乎很流行,另外有文章指出,這個(gè)工具相對(duì)于其他同類競(jìng)品工具具有優(yōu)勢(shì),詳見此文:

https://www.sciencedirect.com/science/article/pii/S2405471220304592

真的是不是最優(yōu)秀的我不知道,我一貫對(duì)此類benchmark文章持懷疑態(tài)度。但似乎有一點(diǎn)比較肯定就是這個(gè)工具還可以。但是有一個(gè)問(wèn)題非常的讓我惱怒,就是沒(méi)有重復(fù)性,同樣的結(jié)果,多跑幾次后你會(huì)發(fā)現(xiàn),每次的結(jié)果都不一樣。雖然這個(gè)差別在此一步是小差別,但是其影響確實(shí)很深遠(yuǎn)的,單從我的個(gè)人使用經(jīng)驗(yàn)來(lái)看,DoubletFinder的不可重復(fù)直接導(dǎo)致你的最后的cell cluster形狀變個(gè)不停。

也許你覺(jué)得這不是問(wèn)題,只要保存一下結(jié)果下次繼續(xù)就可以了,或者設(shè)施一下set.seed。保存結(jié)果,這雖然是個(gè)解決方案,但是在分析數(shù)據(jù)時(shí),如果常需要調(diào)整其他的參數(shù),進(jìn)而必須要重新進(jìn)行Doublet 去除,就會(huì)帶來(lái)很大的困擾。如果你嘗試過(guò)set.seed,你會(huì)發(fā)現(xiàn)根本不管用,那么問(wèn)題在哪里呢?今天決定決絕這個(gè)問(wèn)題,一勞永逸。

研究源代碼后發(fā)現(xiàn),問(wèn)題的的關(guān)鍵是,該包的作者在多個(gè)函數(shù)你使用了sample函數(shù),所以這就解釋了問(wèn)什么結(jié)果總是變,另外set.seed之所以沒(méi)用,也是因?yàn)檫@個(gè)原因,作者前后在不同的自定義函數(shù)里使用了多個(gè)含有sample的函數(shù),且每次使用都沒(méi)有設(shè)定seed,在我看來(lái),這應(yīng)該算是個(gè)bug,雖然該工具只是預(yù)測(cè)Doublets,但是也不代表你可以沒(méi)有重復(fù)性吧?

解決方案:

如果你想讓自己的結(jié)果可重復(fù),可以在以下函數(shù)加入set.seed(),這些函數(shù)分別是paramSweep_v3,parallel_paramSweep_v3,summarizeSweep。最好加在sample函數(shù)的前面。實(shí)測(cè)加了之后,結(jié)果就非常的可重復(fù)了。希望能幫你省點(diǎn)時(shí)間。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容