GATK4.0 和之前的版本相比还是有较大的不同,更加趋于流程化。

软件安装

1 wget https://github.com/broadinstitute/gatk/releases/download/4.1.5.0/gatk-4.1.5.0.zip
2 unzip gatk-4.1.5.0.zip

GATK 简单说明

1 ## 帮助信息
2 gat --help
3
4 ## 列出所有的工具
5 gatk --list
6
7 ## 工具的说明,比如以VariantAnnotator 为例
8 gatk VariantAnnotator --help

GATK分析简要流程

  • 所需数据 : ref.fa

      • reads1.fq
      • reads2.fq
  • 建立索引

1 bwa index ref.fa
2 samtools faidx ref.fa
3 gatk CreateSequenceDictionary -R ref.fa -O ref.dict
4
5 ##
6 -R Input reference fasta or fasta.gz Required
7 -O 输出文件
  • 比对

1 ## bwa 比对
2 bwa mem -t 4 -R '@RG\tID:id1\tPL:illumina\tSM:test' ref.fa test_1.fq test_2.fq | samtools view -bS - >test.bam
3
4 ##参数
5 -R 设置reads group,gatk必须要的信息,其中ID,PL和SM信息是必须要的
6
7 ## 排序
8 samtools sort -@ 3 -o test.sorted.bam test.bam
9 rm test.bam

GATK 要求read group的格式

ID = Read group identifier

  每一个read group 独有的ID,每一对reads 均有一个独特的ID,可以自定义命名;

PL = Platform

  测序平台;ILLUMINA, SOLID, LS454, HELICOS and PACBIO,不区分大小写;

SM = sample

  reads属于的样品名;SM要设定正确,因为GATK产生的VCF文件也使用这个名字;

LB = DNA preparation library identifier

  对一个read group的reads进行重复序列标记时,需要使用LB来区分reads来自那条lane;有时候,同一个库可能在不同的lane上完成测序;为了加以区分,

  同一个或不同库只要是在不同的lane产生的reads都要单独给一个ID. 一般无特殊说明,成对儿read属于同一库,可自定义,比如:library1

若是忘记添加read group信息还以通过 AddOrReplaceReadGroups 添加

1 gatk AddOrReplaceReadGroups -I .bam -O .add.bam -LB library1 -PL illumina -PU pl1 -SM name
2
3 ##参数
4 -I Input file (BAM or SAM or a GA4GH url);
5 -O Output file (BAM or SAM);
6 -LB Read-Group library;
7 -PL Read-Group platform (e.g. ILLUMINA, SOLID);
8 -PU Read-Group platform unit (eg. run barcode);
9 -SM Read-Group sample name
  • 标记重复序列

2 gatk  MarkDuplicates -I test.sorted.bam -O test.sorted.markdup.bam -M test.sorted.markdup_metrics.txt
3 ##参数
4 -I 排序后的一个或者多个bam或者sam文件
5 -M 输出重复矩阵
6 -O 输出文件
7
8 ## 建立索引
9 samtools index test.sorted.markup.bam
  • 检测变异

 1 ##两种方法
2
3 ##(1)多样本一起call,此次只有一个样本,若有多个样本,则继续用 -I 参数添加即可
4 gatk --java-options -Xmx4G HaplotypeCaller -I test.sorted.markup.bam -O test.gvcf1 -R ref.fa
5
6 ## (2)单个样本call,然后在合并
7 ## 生成中间文件gvcf
8 gatk --java-options -Xmx4G HaplotypeCaller -I test.sorted.markup.bam -O test.gvcf -R ref.fa --emit-ref-confidence GVCF
9
10 ##通过gvcf检测变异, -V 添加上步得到的gvcf
11 gatk GenotypeGVCFs -R ref.fa -V test.gvcf -O test.vcf
13
14 ##参数
15 -I BAM/SAM/CRAM file
16 -O 输出文件
17 -R 参考基因组
18 --java-options: 若设置java则需要添加
19 -Xmx4G:内存为4G,防止内存太大
20 -V A VCF file containing variants
  • 提取SNP,INDEL

 1 ## 提取SNP
2 gatk SelectVariants -V test.vcf -O test.snp.vcf --select-type-to-include SNP
3
4 ## 提取INDEL
5 gatk SelectVariants -V test.vcf -O test.indel.vcf --select-type-to-include INDEL
6
7 ##参数
8 -O 输出vcf文件
9 -V 输入vcf文件
10 --select-type-to-include 选择提取的变异类型{NO_VARIATION, SNP, MNP, INDEL,
11 SYMBOLIC, MIXED}
  • 对vcf文件进行过滤

 1 gatk VariantFiltration -O test.snp.fil.vcf.temp -V test.snp.vcf --filter-expression 'QUAL < 30.0 || QD < 2.0 || FS > 60.0 ||  SOR > 4.0' \
2     --filter-name lowQualFilter --cluster-window-size 10 --cluster-size 3 --missing-values-evaluate-as-failing
3
4 ## 参数
5 -O 输出filt.vcf文件
6 -V 输入vcf文件
7 --filter-expression 过滤条件, VCF INFO 信息
8 --cluster-window-size 以10个碱基为一个窗口
9 --cluster-size 10个碱基为窗口,若存在3以上个则过滤
10 --filter-name 被过滤掉的SNP不会删除,而是给一个标签, 比如 Filter
11 --missing-values-evaluate-as-failing 当筛选标准比较多的时候,可能有一些位点没有筛选条件当中的一条或几条,例如下面的这个表达式;QUAL < 30.0 || QD < 2.0 || FS > 60.0 || MQ < 40.0 || HaplotypeScore > 13.0 并不一定所有位点都有这些信息,这种情况下GATK运行的时候会报很多WARNING信息,用这个参数可以把这些缺少某些FLAG的位点也给标记成没有通过筛选的。
  • 筛选PASS的SNP,INDEL

1 ## 根据FILTER那列信息进行筛选
2 grep PASS test.snp.fil.vcf.temp > test.snp.fil.vcf

欢迎交流

GATK4.0全基因组数据分析实战

GATK - Read groups

GATK4.1 call SNP的更多相关文章

  1. 问题记录:SNP 标记 phasing

    GATK4 检测的SNP标记,有些位点会在检测过程中完成 phasing,在后续做基因型填充的时候有坑. GATK4 phasing 结果的缺失位点不是 ./. 也不是 .|.  而是直接变成一个单独 ...

  2. 千人基因组计划数据库下载某段区域SNP

    进入http://browser.1000genomes.org/index.html网站 假定要寻找“6:133098746-133108745”这段距离的SNP数据,“6”表示6号染色体,后面的数 ...

  3. 如何用 freebayes call SNP

    1,软件介绍 FreeBayes is a Bayesian genetic variant detector designed to find small polymorphisms, specif ...

  4. 互信息应用于SNP特征选择的局限

    互信息已广泛应用于特征选择问题,但应用在 SNP 选择上还存在着一些局限.第一,互信息只能衡量一个 SNP 组合与表型的相关性, 无法衡量多个 SNP 与表型的相关性.第二, 利用互信息排序 SNP ...

  5. 寻找与疾病相关的SNP位点——R语言从SNPedia批量提取搜索数据

    是单核苷酸多态性,人的基因是相似的,有些位点上存在差异,这种某个位点的核苷酸差异就做单核苷酸多态性,它影响着生物的性状,影响着对某些疾病的易感性.SNPedia是一个SNP调査百科,它引用各种已经发布 ...

  6. plink计算两个SNP位点的连锁不平衡值(LD)

    PLINK提供了“--ld”的参数计算两个SNP位点的连锁不平衡值. 命令如下: plink --file file --ld rs123 rs134 --out rs123_rs134 生成如下数据 ...

  7. shapeit提取或去除指定SNP和样本(shapeit extract or exclude SNP, sample)

    shapeit最大的功能是对双链DNA进行phase和基因型进行impute.除此之外,还能提取SNP和样本,同样的,也能去除SNP和样本.下面简单介绍这两个功能. 一.提取SNP 提取SNP用到“- ...

  8. plink合并文件并更新SNP位置(merge file, update SNP position)

    一.合并文件 plink合并文件需要用到“merge”参数 如果是ped和map格式文件,则用以下命令: plink --file data1 --merge data2.ped data2.map ...

  9. 中性SNP的突变年龄评估(estimate the average age of a neutral two-allele polymorphism)

    假设中性突变的频率分别为P和1-P,则其突变年龄为:-4Ne[p*( logep)+(1-p)* loge (1-p)] The average age of a neutral two-allele ...

随机推荐

  1. UltraSoft - Alpha - Scrum Meeting 2

    Date: Apr 09th, 2020. 会议内容为完成初步的任务分工. Scrum 情况汇报 进度情况 组员 负责 昨日进度 后两日任务 CookieLau PM.后端 继续Django tuto ...

  2. Mac上安装Grafana

    Mac上安装Grafana 一.背景 二.安装步骤 1.通过 Home Brew 安装 2.通过二进制包进行安装 1.下载 2.grafana配置文件的路径 3.修改grafana配置 1.修改默认的 ...

  3. Nginx(一):初识Nginx

    一.什么是Nginx? Nginx 是异步框架的Web服务器,也可以用作反向代理.负载平衡器和HTTP缓存.选择Nginx的一些优点:可以高并发连接.内存消耗少.成本低廉.配置文件简单.节省带宽.稳定 ...

  4. vim 常用操作技巧

    记录常用的vim操作技巧,基本满足90%的日常编辑使用. 文档操作 vim test.txt 打开当前目录下的test.txt文档,若不存在则创建该文件 :w 保存当前修改到文件 :w bak.txt ...

  5. 连续子序列的最大和 牛客网 剑指Offer

    连续子序列的最大和 牛客网 剑指Offer 题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量 ...

  6. poj 1330 Nearest Common Ancestors (最简单的LCA)

    题意: 给出一棵树的结构. 给出两个点X和Y,求它俩的LCA. 思路: 只需求两个点的LCA,用了两种方法,一种离线tarjan,一种直接搞. 看代码. 代码: 方法一:直接搞. int const ...

  7. $.ajax、$.get和$.post方法成功,完成请求,错误或失败的回调

    一.$.get和$.post的不同    1.get通过url提交的,post是通过http消息实体提交的    2.get提交大小限制为2kb,post不限制    3.get提交会被缓存下来,有安 ...

  8. SkyWalking部署及.Net Core简单使用

    SkyWalking官方网站非常详细,以下只是本人学习过程的整理 一.SkyWalking简介 1.概念 SkyWalking是分布式系统的应用程序性能监视工具,专为微服务.云原生架构而设计 SkyW ...

  9. 使用Abp vnext构建基于Duende.IdentityServer的统一授权中心(一)

    原来看到很多示例都是基于IdentityServer4的统一授权中心,但是IdentityServer4维护到2022年就不再进行更新维护了,所以我选择了它的升级版Duende.IdentitySer ...

  10. 难顶!面试官问我G1垃圾收集器

    面试官:要不这次来聊聊G1垃圾收集器? 候选者:嗯嗯,好的呀 候选者:上次我记得说过,CMS垃圾收集器的弊端:会产生内存碎片&&空间需要预留 候选者:这俩个问题在处理的时候,很有可能会 ...