溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用CNVkit進(jìn)行CNV分析

發(fā)布時間:2021-09-09 14:53:02 來源:億速云 閱讀:692 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“如何使用CNVkit進(jìn)行CNV分析”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何使用CNVkit進(jìn)行CNV分析”吧!

CNVkit是一款CNV預(yù)測軟件,適用于全外顯子,目的區(qū)域靶向測序等數(shù)據(jù)的CNV檢測,官網(wǎng)如下

https://cnvkit.readthedocs.io/en/stable/

被很多高分文章引用, 示意如下

如何使用CNVkit進(jìn)行CNV分析

文章發(fā)表在PLos上,鏈接如下

https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1004873

和Excavator類似,CNVKit也將基因組劃分為in-target和off-target兩部分,流程圖示意如下

如何使用CNVkit進(jìn)行CNV分析

將in-target和off-target區(qū)域劃分成小的bin區(qū)間,統(tǒng)計bin區(qū)間內(nèi)的測序深度,綜合考慮GC含量,目的區(qū)域的大小和分布密度, 重復(fù)元件等因素,對原始測序深度進(jìn)行校正,然后計算相對對照樣本的log2 ratio, 通過segmentation算法來劃分segment, 支持cbs, haar, flasso多種segmentation算法。

CNVkit采用python進(jìn)行開發(fā),使用方便,集成了可視化功能,可以直觀的展示分析結(jié)果,支持導(dǎo)出多種格式的結(jié)果文件,可以很好的與下游軟件相結(jié)合。采用了模塊化的開發(fā)思想,按照功能拆分成了獨立的模塊,示意如下

如何使用CNVkit進(jìn)行CNV分析

每個功能模塊對應(yīng)一個子命令,為了方便調(diào)用,將pipeline的完整功能封裝在batch子命令中,只通過這一個命令來運行整個pipeline。整個數(shù)據(jù)分析的過程可以分為以下幾個部分

1.  輸入?yún)^(qū)域文件

對于靶向測序而言,肯定需要輸入目的區(qū)域的文件,格式為bed, target子命令用于處理目的區(qū)域的bed文件,可以添加對應(yīng)的基因注釋等信息,用法如下

cnvkit.py target \
my_baits.bed \
--annotate refFlat.txt \
-o my_targets.bed

除了目的區(qū)域in-target,還需要計算off-set區(qū)域,也稱之為antitarget,  in-target和off-target區(qū)域加起來就是基因組上所有可覆蓋的區(qū)域。二測測序并不能達(dá)到100%的覆蓋度,基因組上的高重復(fù)區(qū)域,端粒,著絲粒等區(qū)域就無法覆蓋,所以cnvkit通過access子命令來計算基因組上可以覆蓋到的區(qū)域,命令如下

cnvkit.py access \
hg19.fa \
-x excludes.bed \
-o access.hg19.bed

計算出可覆蓋的區(qū)域之后,減去in-target區(qū)域, 就可以得到off-target區(qū)域,通過antitarget子命令來實現(xiàn),代碼如下

cnvkit.py antitarget \
my_targets.bed \
-g access.hg19.bed \
-o my_antitargets.bed
2. 計算樣本的測序深度

coverage和autobin兩個子命令都可以用來計算測序深度,以coverage為例,用法如下

cnvkit.py coverage \
Sample.bam \
my_targets.bed \
-o Sample.targetcoverage.cnn

cnvkit.py coverage \
Sample.bam \
my_antitargets.bed \
-o Sample.antitargetcoverage.cnn

分別統(tǒng)計target和antitarget區(qū)域的測序深度信息,輸出結(jié)果后綴為cnn,是cnvkit中定義的一種格式,專門用來存儲測序深度信息。

3. 構(gòu)建正?;蚪M的測序分布模型

通過reference子命令來構(gòu)建正?;蚪M的測序分布模型,采用對照樣本的測序深度,校正GC含量等系統(tǒng)誤差。有多個對照樣本時,可以將所有的對照樣本合并來創(chuàng)建,用法如下

cnvkit.py reference \
*coverage.cnn \
-f hg19.fa \
-o Reference.cnn

當(dāng)沒有對照樣本時,軟件可以模擬出一個正常的測序深度分布模型,用法如下

cnvkit.py reference \
-o FlatReference.cnn \
-f hg19.fa \
-t my_targets.bed \
-a my_antitargets.bed
4. 計算實驗樣本相對正常對照的log2 ratio

通過fix子命令計算log2 ratio,用法如下

cnvkit.py fix \
Sample.targetcoverage.cnn \
Sample.antitargetcoverage.cnn \
Reference.cnn \
-o Sample.cnr

輸出結(jié)果后綴為cnr, 是cnvkit中定義的一種格式,專門用來存儲log2ratio的信息。

5. 劃分segment, 計算拷貝數(shù)

通過segment子命令進(jìn)行segment的劃分,用法如下

cnvkit.py segment \
Sample.cnr \
-o Sample.cns

輸出結(jié)果后綴為cns, 是cnvkit中定義的一種格式,和SEG格式類似,用來存儲CNV分析的結(jié)果。接下來還可以通過call子命令,計算每個segment區(qū)域的絕對拷貝數(shù),用法如下

cnvkit.py call \
Sample.cns \
-o Sample.call.cns

關(guān)于各種文件格式的具體解釋可以參考以下鏈接

https://cnvkit.readthedocs.io/en/stable/fileformats.html

6. 結(jié)果可視化

提供了以下3種可視化的子命令

  1. diagram

  2. scatter

  3. heatmap


diagram用于展示單個樣本的CNV在染色體上的分布,用法如下

cnvkit.py diagram \
-s Sample.cns \
Sample.cnr

可視化結(jié)果如下

如何使用CNVkit進(jìn)行CNV分析

scatter子命令展示單個樣本染色體區(qū)域上log2 ratio值的分布,用法如下

cnvkit.py scatter \
-s Sample.cns \
Sample.cnr

可視化結(jié)果示意如下

如何使用CNVkit進(jìn)行CNV分析

heatmap子命令展示多個樣本的CNV分布情況,用法如下

cnvkit.py heatmap *.cns

可視化結(jié)果示意如下

如何使用CNVkit進(jìn)行CNV分析

分布運行步驟繁瑣,上面的代碼可以通過batch一個子命令搞定,用法如下

cnvkit.py batch \
*Tumor.bam \
--normal *Normal.bam \
--targets my_baits.bed \
--annotate refFlat.txt \
--fasta hg19.fasta \
--access access.hg19.bed \
--output-reference my_reference.cnn \
--output-dir results/ \
--diagram --scatter

到此,相信大家對“如何使用CNVkit進(jìn)行CNV分析”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI