概要
- 根據(jù)RD(Read Depth)來檢測CNV(copy number variations)和CNA(copy number alterations)
- 是CNVnator的進(jìn)化版
- 用SNPs信息里的BAF(B-allele frequency) likehood 作為驗證CNV和CNA的首要證據(jù)
- Python內(nèi)核,所以該工具可以在Google Colab, Jupyter Notebook等平臺運行
介紹
CNV分析里比較常用到的一款工具是10年前開發(fā)的CNVnator久信。因為這款工具的高精度和高感度受到廣泛的歡迎和應(yīng)用碍沐。CNVpytor就是基于這款工具開發(fā)的熟妓,基于Python內(nèi)核,強化了CNVnator的可視化,模塊化谱煤,功能和計算能力彤悔。CNVpytor用到了RD和BAF信息嘉抓,可以更加準(zhǔn)確的計算CNV和CNA。
結(jié)果
RD信號分析
CNVpytor繼承了CNVnator的RD信號分析功能晕窑。這個步驟大概包含了一下幾步抑片。
- 讀取拼接數(shù)據(jù)(BAM,SAM,CRAM)的RD,合并RD (圖1.A)
- 根據(jù)GC含量進(jìn)行GC矯正(圖1.A & D)杨赤。該程序自帶人類基因組GRCh37, GRCh38的GC數(shù)據(jù)敞斋,如果需要分析的不是人類基因組的話需要另行計算。具體操作會另外寫一篇文章疾牲。
- 用mean-shift算法計算出CNV (圖1.A)
圖.1 核心算法的步驟
-
A: 先以100bp為單位進(jìn)行數(shù)據(jù)處理和分析植捎,Binning步驟里的長度支持用戶指定。然后GC矯正阳柔,Mean-shift計算出CNVs
B:根據(jù)SNPs, Indels計算出BAF來估計雜合度Heterozygous variants(HETs)焰枢。二倍體物種的話BAF的分布會已0.5位中心散開分布。
C:根據(jù)計算出來的BAF我們可以看出符合高斯分布舌剂。
D:一個GC矯正的例子济锄,GC含量越高,RD信號會越強霍转。
E:這是一個分析的實例(NA12878)荐绝。上半部分是RD信號,下面是BAF比例分布谴忧。明顯看出中間的一段發(fā)生了倍數(shù)變化很泊。
再舉一個例子,如圖2所示沾谓,可以通過可視化CNVpytor結(jié)果來看出是Deletion委造,還是Duplation還是LOH
圖.2 CNVpytor結(jié)果可視化
總結(jié)一下,整個分析流程可以參照圖.3均驶』枵祝可以理解成分成獨立的兩步,一步是圖3左邊,分析BAM數(shù)據(jù)里的RD,另外一步是圖3右邊, 分析VCF數(shù)據(jù)里的BAF妇穴。其實功能和另外一篇文章里R平臺的VcfR有點類似爬虱。但是功能更加強大隶债,是專業(yè)的CNVs分析工具。
圖.3 分析流程圖
最后可以根據(jù)自己的格式需求導(dǎo)出數(shù)據(jù)跑筝,并同時得到可視化結(jié)果死讹。CNVpytor也可以被當(dāng)作Python的一個包在各種平臺上簡單安裝和操作。之后會專門花篇幅整理如何On Command或者On Python來操作這個工具曲梗。圖4是另外一個例子赞警,可以看出顏值很高。CNVpytor不僅支持分染色的分析虏两,也支持全局分析和可視化操作愧旦。
圖.4 分析示例
流程和思路都理出來了,你以為可就以自己看著官方github一步一步操作了定罢?道理都懂笤虫,卻活不好這一生。首先安裝祖凫,環(huán)境構(gòu)建就成問題(大概率)琼蚯,這一點就繼承了CNVnator的缺點。然后非人類基因組得自己整合參考序列蝙场,自定義參考序列的話操作和官方說明會有不一樣凌停。不過,沒有關(guān)系售滤,Jason會在后續(xù)文章里給出完整的操作手冊罚拟。