CNV学习7(试运行)

从2008年11月版本的 PennCNV 开始,一些示例数据集和脚本已经包括在内,以测试程序是否安装正确,并演示一些快速示例来使用 PennCNV 中的各种程序。在 penncnv/example/目录中,我们将看到几个文件。其中,father.txtmother.txtoffspring.txt 是三个具有信号值的信号密集型文件(为了保持文件大小,这些文件中只包含少量染色体)。此外,有几个包含文件名的列表文件要由 PennCNV 处理。

如果我们在这个目录中运行 perl runex.pl 程序,我们将看到可用选项的描述:

[kaiwang@cc ~/project/penncnv/example]$ perl runex.pl 
Usage:
     runex.pl <1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16>

     Optional arguments:
            -v, --verbose                   use verbose output
            -h, --help                      print help message
            -m, --man                       print complete documentation
                --path_detect_cnv <string>          path to detect_cnv.pl
                --path_visualize_cnv <string>       path to visualize_cnv.pl
                --path_convert_cnv <string>         path to convert_cnv.pl
                --path_filter_cnv <string>          path to filter_cnv.pl
                --path_compare_cnv <string>         path to compare_cnv.pl

     Function: test-drive PennCNV and related scripts in your system

     Example: runex.pl 1 (run PennCNV to call CNV on three signal files)
              runex.pl 2 (run posterior CNV calling algorithm on a trio)
              runex.pl 3 (run PennCNV with GCmodel adjustment of signal intensity)
              runex.pl 4 (validation-based CNV calling on a candidate region)
              runex.pl 5 (validation-based CNV calling on all candidate regions in a file)
              runex.pl 6 (run joint CNV calling on a trio)
              runex.pl 7 (convert CNV call to BED format)
              runex.pl 8 (convert CNV call to tab-delimited format)
              runex.pl 9 (convert tab-delimited calls to PennCNV format)
              runex.pl 10 (filter CNV and print out a subset of calls)
              runex.pl 11 (compare CNV calls on duplicated samples)
              runex.pl 12 (compare CNV calls on same sample called by different algorithms)
              runex.pl 13 (generate CNV-based genotype calls)
              runex.pl 14 (validate de novo CNV calls and assign a P-value)
              runex.pl 15 (convert Canary CNV calls to PennCNV format)
              runex.pl 16 (plot signal intensity for CNV calls in JPG formats)

用户可以尝试一个接一个地运行这些示例,了解 PennCNV 可以做什么以及如何使用命令行选项。例如,让我们先试试第一个例子:

[kaiwang@cc ~/project/penncnv/example]$ perl runex.pl 1
Exercise 1: individual-based calling and write the output to ex1.rawcnv
        Running command <detect_cnv.pl -test -hmm ../lib/hh550.hmm -pfb ../lib/hh550.hg18.pfb -conf -log ex1.log -out ex1.rawcnv father.txt mother.txt offspring.txt>

******************************************************************************
NOTICE: All program notification/warning messages that appear in STDERR will be also written to log file ex1.log
NOTICE: Reading marker coordinates and population frequency of B allele (PFB) from ../lib/hh550.hg18.pfb ... Done with 566108 records (178 records in chr M,XY were discarded)
NOTICE: Reading LRR and BAF values for from father.txt ... Done with 93129 records in 4 chromosomes
NOTICE: Data from chromosome X will not be used in analysis
NOTICE: Median-adjusting LRR values for all autosome markers from father.txt by 0.0221
NOTICE: Median-adjusting BAF values for all autosome markers from father.txt by 0.0029
NOTICE: quality summary for father.txt: LRR_mean=0.0027 LRR_median=0.0000 LRR_SD=0.1335 BAF_mean=0.5063 BAF_median=0.5000 BAF_SD=0.0390 BAF_DRIFT=0.000037 WF=0.0184 GCWF=0.0136
NOTICE: Reading LRR and BAF values for from mother.txt ... Done with 93129 records in 4 chromosomes
NOTICE: Data from chromosome X will not be used in analysis
NOTICE: Median-adjusting LRR values for all autosome markers from mother.txt by -0.0199
NOTICE: Median-adjusting BAF values for all autosome markers from mother.txt by 0.0324
NOTICE: quality summary for mother.txt: LRR_mean=0.0039 LRR_median=0.0000 LRR_SD=0.1374 BAF_mean=0.5044 BAF_median=0.5000 BAF_SD=0.0418 BAF_DRIFT=0.000140 WF=0.0100 GCWF=0.0028
NOTICE: Reading LRR and BAF values for from offspring.txt ... Done with 93129 records in 4 chromosomes
NOTICE: Data from chromosome X will not be used in analysis
NOTICE: Median-adjusting LRR values for all autosome markers from offspring.txt by -0.0087
NOTICE: Median-adjusting BAF values for all autosome markers from offspring.txt by 0.0260
NOTICE: quality summary for offspring.txt: LRR_mean=0.0028 LRR_median=0.0000 LRR_SD=0.1263 BAF_mean=0.5045 BAF_median=0.5000 BAF_SD=0.0429 BAF_DRIFT=0.000293 WF=-0.0171 GCWF=-0.0100

******************************************************************************

注意: 在运行示例时,程序假设 PennCNV 可执行文件已经在您的系统路径中。如果没有,那么可以使用 runex.pl 1 -path_detect_cnv ../detect_cnv.pl 来指定可执行文件的路径(可执行文件位于上层目录)。

为了将 penncnv 目录添加到 PATH 环境变量: 在使用 BASH shell 的 Unix/Linux 系统中,假设 penncnv 安装在/home/user1/penncnv 目录中,那么您可以执行 export PATH = $PATH:/home/user1/penncnv 将目录添加到系统 PATH 环境变量,或者直接将上面的命令添加到 ~/.bashrc 文件。在 Windows 系统中,进入“Control Pane”,点击“System”,点击“Advanced”选项卡,点击“Environment variables”按钮,然后选择“Path”,点击“Edit”按钮,手动键入路径并将其附加到当前路径环境变量。

在上面的命令中,程序给出了第一个示例,它对三个输入文件(father.txtmother.txtoffspring.txt)使用基于个人的 CNV 调用算法,然后将输出写入 ex1.rawcnv 文件。实际的命令行参数在“Running”命令之后打印。一些日志信息在两行 * * * 之间的屏幕上被打印出来,但是它们也被写到 ex1.log 文件中。我们可以检查 ex1.rawcnv 文件的内容:

[kaiwang@cc ~/project/penncnv/example]$ cat ex1.rawcnv
chr3:37957465-37961253        numsnp=3      length=3,789       state2,cn=1 father.txt startsnp=rs9837352 endsnp=rs9844203 conf=15.133
chr3:75511365-75650909        numsnp=7      length=139,545     state2,cn=1 father.txt startsnp=rs4677005 endsnp=rs2004089 conf=26.862
chr11:81181640-81194909       numsnp=9      length=13,270      state2,cn=1 father.txt startsnp=rs7947005 endsnp=rs12293984 conf=35.083
chr20:10440279-10511908       numsnp=10     length=71,630      state2,cn=1 father.txt startsnp=rs8114269 endsnp=rs682562 conf=39.410
chr11:55127597-55204003       numsnp=11     length=76,407      state2,cn=1 mother.txt startsnp=rs2456022 endsnp=rs7934845 conf=23.106
chr11:539119-548884           numsnp=4      length=9,766       state5,cn=3 mother.txt startsnp=rs4963136 endsnp=rs2061586 conf=7.342
chr11:55127597-55193702       numsnp=8      length=66,106      state1,cn=0 offspring.txt startsnp=rs2456022 endsnp=rs17498926 conf=48.159
chr3:3974670-4071644          numsnp=50     length=96,975      state2,cn=1 offspring.txt startsnp=rs11716390 endsnp=rs17039742 conf=219.722
chr11:81181640-81194909       numsnp=9      length=13,270      state2,cn=1 offspring.txt startsnp=rs7947005 endsnp=rs12293984 conf=41.264
chr20:10440279-10511908       numsnp=10     length=71,630      state2,cn=1 offspring.txt startsnp=rs8114269 endsnp=rs682562 conf=41.645

这些字段是染色体坐标,区域中标记(SNP 标记,有时也是 CN 标记)的数量,CNV 长度,拷贝数估计,信号文件名,起始和结束 SNP 和置信评分。在这里可以看到更多关于缺省 CNV 调用算法的深入描述。

示例2演示了基于三重奏的调用算法,它需要示例1的输出文件(ex1.rawcnv)作为输入文件之一。示例6演示了针对 trios 的联合调用算法,该算法只使用一个步骤,并且不需要 ex1.rawcnv 作为输入文件。在这里可以看到更多关于基于三元组的算法的深入描述。

示例3说明了使用 GC 模型调整 CNV 呼叫的信号强度值。这个算法以前发布过,在这里进行了描述。3个文件的信号值并不真正受到基因组波的影响,所以调整对 CNV 呼叫的影响很小。

示例4和5演示了验证调用算法。这不是基于隐马尔可夫模型,而是基于一个验证子程序,采取先验概率,计算区域的可能性是不同的拷贝数,然后选择最有可能的拷贝数。在这里可以看到关于验证调用算法的更多深入描述。

示例6演示了 Trios 的联合调用算法。这是一个基于隐马尔可夫模型的算法,同时模拟三元组的信号测度(详细的算法在本文中描述) ,所以它的计算量很大,可能需要相当长的时间来运行。

示例7、8和9演示了如何使用 convert_cnv.pl 程序转换 CNV 调用格式。

示例10演示了如何使用 filter_cnv.pl 程序选择 CNV 调用的子集。

示例11和12演示了compare_cnv.pl 程序的用法,该程序比较由不同算法给出的同一文件上的 CNV 调用,或者比较由同一算法给出的重复样本上的 CNV 调用。

例子13说明了使用infer_snp_allele.pl 程序来推断三个受试者 CNV 区域中基于 CNV 的基因型调用。点击这里查看更多关于该程序的深入描述。

示例14演示了使用infer_snp_allele.pl 程序验证假定的从头 CNV 调用并赋予 P 值。点击这里查看更多关于该程序的深入描述。

示例15演示了如何使用 convert_cnv.pl 程序将其他算法的 CNV 调用转换为 penncnv 输出格式。所得到的调用对于比较分析算法之间的调用非常有用,或者可以在 visualize_cnv.pl 程序中使用,以绘制实际的信号强度值。

示例16说明了使用 visualize_cnv.pl 程序绘制给定个体的所有 CNV 调用的信号强度值(LRR 和 BAF) ,以便用户可以直观地检查并决定调用是否可靠(不依赖于 GenomeStudio 的手动检查)。程序需要调用 R 子例程才能工作。

请注意,example/目录下的 output_expected/目录包含预期的输出文件。如果您发现输出和预期输出之间有差异,那么 PennCNV 安装可能有问题,需要重新编译。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值