查看原文
其他

GATK之SelectHeaders和RandomlySplitVariants

2017-05-05 hoptop是徐洲更 生信媛

每天学点GATK,今天学习的是GATK变异位点操作工具(variant Manipulation Tools)。主要是SelectHeaders和RandomlySplitVariants。

SelectHeaders

功能: 从VCF文件中选择headers
分类: 变异位点操作工具
概要: VCF文件通常是拥有许多header信息的,但是实际上某些步骤不需要那么多信息,所以我们需要利用SelectHeaders进行选择。

输入: VCF文件
输出: 具有特定header的VCF文件

案例:
首先我们通过正则表达式看下有哪些headers,

$ bcftools view -h BC.bg_bwa_default.vcf \
| grep -E '^##[a-zA-Z]*?=' -o | uniq##fileformat=##FILTER=##samtoolsVersion=##samtoolsCommand=##reference=##contig=##ALT=##INFO=##FORMAT=##INFO=

然后只提取FILTER, FORMAT, and INFO headers

java -jar $gatk -T SelectHeaders\    -R $reference -V BC.bg_bwa_default.vcf\    -o output.vcf\    -hn FILTER -hn FORMAT -hn INFO

参数解释:
-T: 要用的GATK工具
-R: 参考基因组
-V: 输入的vcf文件
-o: 输出的vcf文件
-hn/—header_name 需要包括在内的header

其他一些比较好用的参数
—header_expression/-he: 通过正则表达式的方法选择header,如 -he ‘.SnpEff.‘就是选择所有的和snpEFF相似的headers
—exclude_header_name/-xl_hn: 剔除headers,也就是去掉那些不要的,流程的都是要的了。

:默认添加了如下过滤模块:

  • MalformedReadFilter
  • BadCigarFilter
  • UnmappedReadFilter
  • NotPrimaryAlignmentFilter
  • FailsVendorQualityCheckFilter
  • DuplicateReadFilter

RandomlySplitVariants

功能: 随机分隔variant文件
分类: 变异位点操作工具
概要: 就是读取一个vcf文件,然后随机分割成多个文件。吐槽:功能还真是简单,也搞不懂是用来干嘛的,以后用到的时候,添加吧。

输入: VCF文件
输出: 新的VCF文件

案例:

java -jar GenomeAnalysisTK.jar \   -T RandomlySplitVariants \   -R reference.fasta \   -V input.vcf \   -o1 output_1.vcf \   -o2 output_2.vcf

参数:
-o1/—out1 输出文件1
-o2/—out2 输出文件2

其他参数,如果希望输出不只是一个文件的话,则需要用到如下参数
—splitToManyFiles/-splitToMany : 默认是false, 参数为true,则输出多个文件,和-o1,-o2冲突
—numOfOutputVCFFiles/-N: 输出的文件数,默认是-1
另外—fractionToOut1/-fraction 可以决定第一个文件所在比例,

吐槽:这个命令运行时,一直出错,明明参数都一样,还报如下错

MESSAGE: Invalid command line:
Argument out1 or out2 has a bad value:
this value cannot be null (unprovided)
unless you are using the splitToMany option

不过估计也也用不到,就不和他计较了。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存