手记

【分析】CNVkit_拷贝数分析工具

1.介绍

CNVkit是研究CNV(Copy number variation, CNV)拷贝数变异的软件。它是由python编写的,安装比较麻烦。下载地址:Github地址

2.下载相应数据

UCSC Genome Bioinformatics 下载参考数据:
1.物种的参考基因组序列,采用FASTA格式[必填]
2.基因注释数据库,通过RefSeq或Ensembl,以BED或“RefFlat”格式(例如refFlat.txt)[可选]

参考基因组序列和注释数据库都必须是单个未压缩文件。如果测序是WGS,那么不需要“目标”BED文件,但您可能仍然需要refFlat.txt。

3.比对到参考数据组

使用BWA将测序数据比对到参考数据组

4.流程图

流程图

流程代码如下:

cnvkit.py access hg19.fa -o access.hg19.bed
cnvkit.py autobin *.bam -t baits.bed -g access.hg19.bed [--annotate refFlat.txt --short-names]# For each sample...cnvkit.py coverage Sample.bam baits.target.bed -o Sample.targetcoverage.cnn
cnvkit.py coverage Sample.bam baits.antitarget.bed -o Sample.antitargetcoverage.cnn# With all normal samples...cnvkit.py reference *Normal.{,anti}targetcoverage.cnn --fasta hg19.fa -o my_reference.cnn# For each tumor sample...cnvkit.py fix Sample.targetcoverage.cnn Sample.antitargetcoverage.cnn my_reference.cnn -o Sample.cnr
cnvkit.py segment Sample.cnr -o Sample.cns# Optionally, with --scatter and --diagramcnvkit.py scatter Sample.cnr -s Sample.cns -o Sample-scatter.pdf
cnvkit.py diagram Sample.cnr -s Sample.cns -o Sample-diagram.pdf

可以看到软件提供的命令基本上的都用到了,coverage—>fix—>segment—>segment
运行之后会产生.cnn,.cns文件


结果文件

实际使用cnvkit时,可以简单用下面的batch命令,下面的很多参数设置就能实现以上要求。

cnvkit.py batch *Tumor.bam --normal *Normal.bam \
    --targets my_baits.bed --fasta hg19.fasta \
    --access data/access-5kb-mappable.hg19.bed \
    --output-reference my_reference.cnn --output-dir example/
  • cnvkit.py为运行的脚本

  • batch是脚本内的一个整合了很多命令的方法

  • Tumor.bam 和Normal.bam都是相应样本的bam文件,建议用bwa通过ucsc的hg19参考基因组做mapping,并用samtool排序转换成bam格式。这里可以输入多个tumor.bam和normal.bam

  • --targets 想要分析的区域信息

  • --annotate refFlat格式的基因注释信息,可以从UCSC上下载

  • --fasta 参考基因组

  • --access 需要跟bed文件,可用过cnvkit.py access mm10.fasta -s 10000 -o access-10kb.mm10.bed 生成

  • --output-reference 输出的reference.cnn可以作为下一批tumor数据分析的输入文件,reference.cnn和输入的normal.bam有关

  • --output-dir 输出目录名
    --diagram –scatter 两个都是顺带绘图的参数

5.画图

cnvkit.py scatter Sample.cnr -s Sample.cns# Shell shorthandcnvkit.py scatter -s TR_95_T.cn{s,r}

Chromosome-level views are controlled with the --chromosome/-c and --gene/-g options

# Show a chromosome arm, highlight one genecnvkit.py scatter -s Sample.cn{s,r} -c chr5:100-50000000 -g TERT# Show the whole chromosome, highlight two genescnvkit.py scatter -s Sample.cn{s,r} -c chr7 -g BRAF,MET# Highlight two genes in a specified rangecnvkit.py scatter -s TR_95_T.cn{s,r} -c chr12:50000000-80000000 -g CDK4,MDM2

在染色体上绘制拷贝数(单个区域(.cnn,.cnr)或区段(.cns))

cnvkit.py diagram Sample.cnrcnvkit.py diagram -s Sample.cnscnvkit.py diagram -s Sample.cns Sample.cnr

cnvkit.py heatmap *.cns

6.实例操作

代码如下:

python cnvkit.py batch *.tumor.sort.bam --normal *.normal.sort.bam --targets /database/capture_bed/agilent_v6_urt_Regions_simple.bed  --annotate /database/cnvkit-required_files/refFlat.txt --fasta /database/hg19_fasta/ucsc.hg19.fasta --access /database/cnvkit-required_files/access-5k-mappable.hg19.bed --output-reference reference.cnn --output-dir results --diagram --scatter;for i in *.sort.targetcoverage.cnn ; do python ~/software/cnvkit-0.9.5/cnvkit.py call $i -o $i.call.cns;for i in *.sort.cnr; do python ~/software/cnvkit-0.9.5/cnvkit.py gainloss $i  -s ${i%%.*}.tumor.sort.targetcoverage.cnn.call.cns  > $i.CNV ;done;

python cnvkit.py heatmap *.cns

结果展示:





作者:oddxix
链接:https://www.jianshu.com/p/b23f2494a3ca


0人推荐
随时随地看视频
慕课网APP

热门评论

print("呵呵")
<?php echo("呵呵"); ?>
*:after { content: "呵呵"; display: block; }
echo "呵呵"
println("test")
System.out.printf("呵呵");


查看全部评论