使用CNVnator分析動植物群體拷貝數變異CNV



知名的拷貝數變異分析工具幾乎都是為人類變異檢測開發,對於動植物重測序分析有些尷尬。不過好在植物群體研究不必那么精細,用同樣的工具也可做分析。

地址:https://github.com/abyzovlab/CNVnator

1.安裝

建議直接用conda。

conda create -n cnv cnvnator
conda activate cnv

查看幫助:

$ cnvnator 
Not enough parameters.

CNVnator v0.4.1

Usage:
cnvnator -root out.root  [-genome name] [-chrom 1 2 ...] -tree  file1.bam ... [-lite]
cnvnator -root out.root  [-genome name] [-chrom 1 2 ...] -merge file1.root ...
cnvnator -root file.root  [-genome name] [-chrom 1 2 ...] -vcf [file.vcf.gz | file.vcf] [-rmchr] [-addchr]
cnvnator -root file.root  [-genome name] [-chrom 1 2 ...] -idvar [file.vcf.gz | file.vcf] [-rmchr] [-addchr]
cnvnator -root file.root  [-genome name] [-chrom 1 2 ...] -mask strict.mask.file.fa.gz [-rmchr] [-addchr]
cnvnator -root file.root [-genome name] [-chrom 1 2 ...] [-d dir | -fasta file.fa.gz] -his bin_size
cnvnator -root file.root [-genome name] [-chrom 1 2 ...] -baf bin_size [-hap] [-useid] [-nomask]
cnvnator -root file.root [-chrom 1 2 ...] -stat      bin_size
cnvnator -root file.root                  -eval      bin_size
cnvnator -root file.root [-chrom 1 2 ...] -partition bin_size [-ngc]
cnvnator -root file.root [-chrom 1 2 ...] -call      bin_size [-ngc]
cnvnator -root file.root -genotype bin_size [-ngc]
cnvnator -root file.root -view     bin_size [-ngc]
cnvnator -pe   file1.bam ... -qual val(20) -over val(0.8) [-f file]
cnvnator-root file.root [-chrom 1 2 ...] -cptrees newfile.root
cnvnator-root file.root -ls

Valid genomes (-genome option) are: NCBI36, hg18, GRCh37, hg19, mm9, hg38, GRCh38

2.測試

首先准備好數據,再利用一個小數據集,比如這里用一條染色體來測試一下流程。

准備基因組數據。需要將基因組按染色體/scaffold拆分成單條序列,放在一個目錄下。

mkdir genome;cd genome
faSplit byname genome.fa genome
# faSplit可用conda安裝,或者自己寫腳本拆分

image.png

測試腳本,先用一條染色體試試:

#從bam文件中提取比對上的reads信息
cnvnator -root file.root -tree sample-1.rmdup.bam -chrom 1
#生成read depth分布圖
cnvnator -root file.root -his 1000 -d genome/  -chrom 1
#計算統計結果
cnvnator -root file.root -stat 1000 -chrom 1
#RD信號分割
cnvnator -root file.root -partition 1000 -chrom 1
#拷貝數變異檢測
cnvnator -root file.root -call 1000 -chrom 1 > cnv.call.txt
#轉化為vcf,如果是conda安裝,沒有這個腳本,需要從GitHub上下載
/biosoft/CNVnator/cnvnator2VCF.pl cnv.call.txt genome >test.vcf

拷貝數cnv.all.txt結果:、
image.png

表頭CNV_type coordinates CNV_size normalized_RD e-val1 e-val2 e-val3 e-val4 q0

  • CNV_type有deletion和duplication兩種類型;
  • CNV_size 位於染色體區域;
  • normalized_RD 矯正后的read depth;
  • e-val1 t檢驗后的evalue值,通常該值越小,代表分析的結果越准確;
  • q0 比對的質量值為0的reads占比,通常該值越大,代表分析的結果越不准確。

vcf結果:
沒有自動加上樣品名,需要自己修改。加上--prefix參數也只是改變CNV ID。
image.png

更多結果解讀,請查看官方文檔或網上其他教程。

3.動植物群體檢測CNV

正式分析。

ls -l /project/gvcf/*.rmdup.bam |awk -F' ' '{print $8}' >sample.info
cat sample.info |while read id;do
    sample=`basename $id |sed 's/.rmdup.bam//'`
    echo $sample
    cnvnator -root file.root -tree $id
    cnvnator -root file.root -his 1000 -d genome/
    cnvnator -root file.root -stat 1000
    cnvnator -root file.root -partition 1000
    cnvnator -root file.root -call 1000  > cnv.call.txt
    /biosoft/CNVnator/cnvnator2VCF.pl cnv.call.txt genome >${sample}.cnv.vcf
    sed  -i "22s/cnv/${sample}/" ${sample}.cnv.vcf
    bgzip ${sample}.cnv.vcf
    tabix -p vcf ${sample}.cnv.vcf.gz
done

得到各個樣本的拷貝數vcf文件,將它們合並成一個。

vcf-merge sample-1.cnv.vcf.gz sample-2.cnv.vcf.gz  ...>merge.vcf

或對不同類型群體進行合並。

https://blog.csdn.net/yangl7/article/details/114656482
https://www.jianshu.com/p/98542359df20
https://blog.csdn.net/weixin_43569478/article/details/108079613


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM