知名的拷贝数变异分析工具几乎都是为人类变异检测开发,对于动植物重测序分析有些尴尬。不过好在植物群体研究不必那么精细,用同样的工具也可做分析。

地址: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安装,或者自己写脚本拆分

测试脚本,先用一条染色体试试:

#从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结果:、

表头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。

更多结果解读,请查看官方文档或网上其他教程。

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

使用CNVnator分析动植物群体拷贝数变异CNV的更多相关文章

  1. DNA拷贝数变异CNV检测——基础概念篇

    DNA拷贝数变异CNV检测——基础概念篇   一.CNV 简介 拷贝数异常(copy number variations, CNVs)是属于基因组结构变异(structural variation), ...

  2. 全基因组测序 从头测序(de novo sequencing) 重测序(re-sequencing)

    全基因组测序 全基因组测序分为从头测序(de novo sequencing)和重测序(re-sequencing). 从头测序(de novo)不需要任何参考基因组信息即可对某个物种的基因组进行测序 ...

  3. 全基因组测序 Whole Genome Sequencing

    全基因组测序 Whole Genome Sequencing 全基因组测序(Whole Genome Sequencing,WGS)是利用高通量测序平台对一种生物的基因组中的全部基因进行测序,测定其 ...

  4. GWAS | 全基因组关联分析 | Linkage disequilibrium (LD)连锁不平衡 | 曼哈顿图 Manhattan_plot | QQ_plot | haplotype phasing

    现在GWAS已经属于比较古老的技术了,主要是碰到严重的瓶颈了,单纯的snp与表现的关联已经不够,需要具体的生物学解释,这些snp是如何具体导致疾病的发生的. 而且,大多数病找到的都不是个别显著的snp ...

  5. CNV

    CNV: 人类主要是二倍体.如果有些区域出现3个.4个拷贝,那就是扩增了,如果只出现1个拷贝,就是缺失.所以CNV分析是依靠特定位置的测序深度来估算的,先在染色体上划窗,然后看每个窗口的平均测序深度, ...

  6. GATK--数据预处理,质控,检测变异

    版权声明:本文源自 解螺旋的矿工, 由 XP 整理发表,共 13781 字. 转载请注明:从零开始完整学习全基因组测序(WGS)数据分析:第4节 构建WGS主流程 | Public Library o ...

  7. SNP/单核苷酸多态性分析

    SNP/单核苷酸多态性分析 SNP(Single Nucleotide Polymorphism),即单核苷酸多态性,是由于单个核苷酸改变而导致的核酸序列多态.一般来说,一个SNP位点只有两种等位基因 ...

  8. 对CCLE数据库可以做的分析--转载

    转载:http://www.bio-info-trainee.com/1327.html 收集了那么多的癌症细胞系的表达数据,拷贝数变异数据,突变数据,总不能放着让它发霉吧! 这些数据可以利用的地方非 ...

  9. Data Mining的十种分析方法——摘自《市场研究网络版》谢邦昌教授

    Data Mining的十种分析方法: 记忆基础推理法(Memory-Based Reasoning:MBR)        记忆基础推理法最主要的概念是用已知的案例(case)来预测未来案例的一些属 ...

随机推荐

  1. 吴恩达课后习题第二课第三周:TensorFlow Introduction

    目录 第二课第三周:TensorFlow Introduction Introduction to TensorFlow 1 - Packages 1.1 - Checking TensorFlow ...

  2. 升级MySQL8.0的历险记

    最近忙于Fighting的项目,所以笔耕有些松懈,实为不该. 刚好遇到需要从MySQL5.7.33升级到MySQL8.0.x的需求,于是记录一下整个升级过程,踩坑而过. 背景梗概:本地docker容器 ...

  3. openmp学习心得(二)----常见的运行时库函数

    omp_set_dynamic();如果设置了动态调整,并行区域会根据系统的资源状况,动态分配线程的数量.好像仅仅有0和非0的区别,设置为0不进行动态分配. omp_get_num_threads,o ...

  4. PCB板HDI板几阶是什么意思

    http://blog.sina.com.cn/s/blog_55ff6d5d0102xxvx.html

  5. 单片机零基础学习之从“点灯”入门STM32

    本篇文章通过一个简单的例子来熟悉模块化编程以及利用库函数的方法进行开发使用STM32外设的基本流程. 首先,我们打开本讲的例程,在工程目录我们可以看到驱动分组下有 led.delay 两个.c源文件, ...

  6. shell IO重定向

    I/O重定向 默认情况下,有3个"文件"处于打开状态,stdin,stdout,stderr:重定向的解释:捕捉一个文件,命令,程序,脚本或者脚本中的代码块的输出,然后将这些输出作 ...

  7. HCNP Routing&Switching之BGP路由控制

    前文我们了解了BGP的路由属性和优选规则相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15489497.html:今天我们来聊一聊BGP路由控制相关话 ...

  8. Java学习笔记:GUI基础

    一:我们使用到的java GUI的API可以分为3种类: 组件类(component class) 容器类(container class) 辅助类(helper class) 1:组件类:组件类是用 ...

  9. PTA 7-1 邻接矩阵表示法创建无向图 (20分)

    PTA 7-1 邻接矩阵表示法创建无向图 (20分) 采用邻接矩阵表示法创建无向图G ,依次输出各顶点的度. 输入格式: 输入第一行中给出2个整数i(0<i≤10),j(j≥0),分别为图G的顶 ...

  10. Java 代码执行流程

    Java 代码执行流程 类加载过程 加载 -> 验证 -> 准备 -> 解析 -> 初始化 -> 使用 -> 卸载 类加载时机:代码使用到这个类时 验证阶段 &qu ...