搜索
查看: 4768|回复: 3

[tutorial] GATK 寻找变异位点

[复制链接]

3

主题

3

帖子

28

积分

新手上路

Rank: 1

积分
28
发表于 2016-9-2 21:49:26 | 显示全部楼层 |阅读模式
1,首先下载软件
GATK的网址:
https://software.broadinstitute.org/gatk/download/auth?package=GATK
可以下载最新版本的GATK
picard的安装说明:
picard依赖java软件,并要求java软件的版本在1.8以上,安装picard之前,请确认java的版本及是否能正常运行.
2,rawdata经过质控和bwa比对后得到的bam格式文件将通过picard tools软件和GATK软件处理,最终识别得到两种变异SNV和Indel,picard将主要进行bam文件的处理,GATK主要用于变异识别和优化。我这个GATK主要在检测变异位点的时候主要基于UC算法,据说现在已经都比较改为HG算法,大家可以自行研究GATK的官网,使用适合自己的算法.
3,以下是picard和GATK的详细使用说明
稍微老一点的Picard(1.119)的简单使用说明和及命令:

[Bash shell] 纯文本查看 复制代码
#1. 使用CleanSam.jar用于sam文件或bam文件的优化,主要是把;
java -Xmx4g -jar ${TOOL_DIR}/picard-tools-1.119/CleanSam.jar TMP_DIR=${TMP_DIR}VALIDATION_STRINGENCY=SILENT INPUT=${MAP_DIR}/BWA/${SAMPLE_ID}_output.bam OUTPUT=picard/${SAMPLE_ID}_output.fix.bam
#2. 使用AddOrReplaceReadGroups.jar为bam文件加头;
java -Xmx4g -jar ${TOOL_DIR}/picard-tools-1.119/AddOrReplaceReadGroups.jarTMP_DIR=${TMP_DIR} VALIDATION_STRINGENCY=SILENT INPUT=picard/${SAMPLE_ID}_output.fix.bam OUTPUT=picard/${SAMPLE_ID}_output.fix.rg.bam LB=${RUN_ID} PL=Illumina PU=${RUN_ID} SM=${SAMPLE_ID}
#3. 使用SortSam.jar将bam文件中同一染色体对应的条目按坐标顺序从小到大排序;
java -Xmx4g -jar ${TOOL_DIR}/picard-tools-1.119/SortSam.jar TMP_DIR=${TMP_DIR}VALIDATION_STRINGENCY=SILENT INPUT=picard/${SAMPLE_ID}_output.fix.rg.bam OUTPUT=picard/${SAMPLE_ID}_output.fix.rg.sort.bam SORT_ORDER=coordinate
#4. 使用MarkDuplicates.jar去除文库制备过程序列过量扩增而带来的重复;
java -Xmx4g -jar ${TOOL_DIR}/picard-tools-1.119/MarkDuplicates.jarTMP_DIR=${TMP_DIR} VALIDATION_STRINGENCY=SILENT CREATE_INDEX=true INPUT=picard/${SAMPLE_ID}_output.fix.rg.sort.bam OUTPUT=picard/${SAMPLE_ID}_output.fix.rg.sort.mkdup.bam METRICS_FILE=picard/${SAMPLE_ID}.mkdup.metrics
#5. 使用CalculateHsMetrics.jar来计算一组值。
java -Xmx4g -jar ${TOOL_DIR}/picard-tools-1.119/CalculateHsMetrics.jarTMP_DIR=${TMP_DIR} VALIDATION_STRINGENCY=SILENT BAIT_INTERVALS=${REF_DIR}/SeqCap/SeqCap_EZ_Exome_v2_RefSeq.head.ann TARGET_INTERVALS=${REF_DIR}/SeqCap/SeqCap_EZ_Exome_v2_RefSeq.head.ann INPUT=picard/${SAMPLE_ID}_output.fix.rg.sort.mkdup.bamOUTPUT=picard/${SAMPLE_ID}.mapping.metrics



####GATK使用方法及命令(更多人在变异检测那一步采用的是HG模型):
#1. 使用RealignerTargetCreator来确定要进行重新比对的区域;
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -nt ${CPU}-T RealignerTargetCreator -R ${REF_DIR}/refgenome/hg19.fa -I picard/${SAMPLE_ID}_output.fix.rg.sort.mkdup.bam  -o GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.intervals --known ${REF_DIR}/GATK/1000G_phase1.indels.hg19.vcf --known${REF_DIR}/GATK/Mills_and_1000G_gold_standard.indels.hg19.vcf
#2. 使用IndelRealigner在这些区域进行重新比对;
java -Xmx10g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -T IndelRealigner-R ${REF_DIR}/refgenome/hg19.fa -I picard/${SAMPLE_ID}_output.fix.rg.sort.mkdup.bam -targetIntervals GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.intervals -o GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.realn.bam -known ${REF_DIR}/GATK/1000G_phase1.indels.hg19.vcf-known ${REF_DIR}/GATK/Mills_and_1000G_gold_standard.indels.hg19.vcf
#3. 使用BaseRecalibrator,根据一些know sites,生成一个矫正质量值所需要的数据文件;
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -nct ${CPU}-T BaseRecalibrator -R ${REF_DIR}/refgenome/hg19.fa -I GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.realn.bam -o GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.realn.recal -knownSites ${REF_DIR}/GATK/dbsnp_137.hg19.vcf
#4. 使用PrintReads将经过质量矫正的数据输出到新的bam文件中,用于后续的变异检测;
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -nct ${CPU}-T PrintReads -R ${REF_DIR}/refgenome/hg19.fa -I GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.realn.bam -o GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.realn.recal.bam --BQSR GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.realn.recal
#5. 使用UnifiedGenotyper进行变异检测,使用贝叶斯最大似然模型,同时估计基因型和基因频率,最后对每个样本的每个变异位点和基因型都会给出一个精确的后验概率;
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -T UnifiedGenotyper-nct ${CPU} -R ${REF_DIR}/refgenome/hg19.fa -glm BOTH --dbsnp ${REF_DIR}/GATK/dbsnp_137.hg19.vcf -I ${PRE_DIR}/GATK/${SAMPLE_ID}_output.fix.rg.sort.mkdup.realn.recal.bam -o GATK/${SAMPLE_ID}_germline.GATK.raw.vcf
#6. 使用SelectVariants和VariantFiltration对分别上一步检测出的SNV变异位点和Indel变异位点进行过滤,去掉一些不可信的位点。
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -T SelectVariants -R ${REF_DIR}/refgenome/hg19.fa -selectType SNP--variant GATK/${SAMPLE_ID}_germline.GATK.raw.vcf -o GATK/${SAMPLE_ID}_germline.snp.GATK.raw.vcf 
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -T VariantFiltration-R ${REF_DIR}/refgenome/hg19.fa --variant GATK/${SAMPLE_ID}_germline.snp.GATK.raw.vcf -o GATK/${SAMPLE_ID}_germline.snp.GATK.fil.vcf --filterName 'REJECT' --filterExpression 'QD < 2.0 || FS > 60.0 || MQ < 40.0 ||HaplotypeScore > 13.0 || MQRankSum < -12.5 || ReadPosRankSum < -8.0'
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -T SelectVariants -R ${REF_DIR}/refgenome/hg19.fa -selectType INDEL--variant GATK/${SAMPLE_ID}_germline.GATK.raw.vcf -o GATK/${SAMPLE_ID}_germline.indel.GATK.raw.vcf
java -Xmx4g -jar ${TOOL_DIR}/GATK-3.4-46/GenomeAnalysisTK.jar -T VariantFiltration-R ${REF_DIR}/refgenome/hg19.fa --variant GATK/${SAMPLE_ID}_germline.indel.GATK.raw.vcf -o GATK/${SAMPLE_ID}_germline.indel.GATK.fil.vcf --filterName 'REJECT' --filterExpression 'QD < 2.0 || FS > 200.0 || ReadPosRankSum< -20.0'




回复

使用道具 举报

4

主题

56

帖子

599

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
599
发表于 2016-9-3 08:43:02 | 显示全部楼层
(⊙o⊙)…继续啊!
可以参考我的博客:
GATK使用注意事项:http://www.bio-info-trainee.com/838.html
回复 支持 反对

使用道具 举报

0

主题

9

帖子

112

积分

注册会员

Rank: 2

积分
112
发表于 2016-9-3 10:02:04 | 显示全部楼层
bwa mem/aln的选择一般是看reads长度来决定的,并且bwa mem -m参数的作用许多人也不知道
回复 支持 反对

使用道具 举报

0

主题

8

帖子

140

积分

注册会员

Rank: 2

积分
140
发表于 2016-9-5 17:25:21 | 显示全部楼层
-m是什么意思?没看懂是啥意思..........
-m INT        perform at most INT rounds of mate rescues for each read [50]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-11-13 21:39 , Processed in 0.040503 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.