群体遗传学专题二之GATK实战

写在最前面

本次的GATK实战用到的raw data是水稻的,reference是v4版本,具体如下:
raw data:EV19-0_HQ_clean_R1.fq/EV19-0_HQ_clean_R2.fq
reference:IRGSP_v4.fasta
我在运行GATK的时候并没有每一步都用GATK的工具,还涉及到另外几个软件,名称和版本如下:
bwa-0.7.17
samtools-1.8
picard-tools-1.119
GenomeAnalysis TK-3.4.-0
将这些软件安装好并且加入到环境变量之后就可以进入实战部分啦。


以下是我的GATK实战内容:

1. 建立ref的index

bwa index IRGSP_v4.fasta

bwaindex命令 建立reference序列的index,此步骤结束会产生5个文件,分别为IRGSP_v4.fasta为前缀的sa、pac、bwt、ann、amb格式的文件

2. 建立ref的索引内容

samtools faidx IRGSP_v4.fasta

samtoolsfaidx命令 建立reference序列的索引内容,此步骤结束会产生一个以IRGSP_v4.fasta为前缀的fai文件

3. 建立ref的dict内容

java -Xmx45g -jar CreateSequenceDictionary.jar R=IRGSP_v4.fasta O=IRGSP_v4.dict

picard工具包 中的CreateSequenceDictionary建立reference序列的dict,此步骤结束会产生一个以IRGSP_v4.fasta为前缀的dict文件

注:前三步结束一共会产生以ref名为前缀的7个文件,在此基础上才能进行后续命令程序,若在之前已经进行过以此ref为基础的相关内容,则可以跳过前三步


4. 对raw data文件进行过滤,加header并生成sam文件

bwa mem -M -t 20 -R "@RG\tID:EV\tPL:ILLUMINA\tLB:EV\tSM:EV"  IRGSP_v4.fasta EV19-0_HQ_clean_R1.fq EV19-0_HQ_clean_R2.fq -o EV.sam

bwamem命令 对fq文件进行比对过滤,并加header生成sam文件

参数解释:
-M:用来处理同一个 reads比对到参考基因组上不同位置的情况
-t:线程数
-R:设置 reads的 header
-o:输出文件

注1:关于加header的内容,一般格式为“@RG ID:样品ID号 PL:测序平台(一般为ILLUMINA) LB:样品的文库名(一般为样品名) SM:样品名称”其中所有的空格都是\t(制表符)
注2:对于pair-end文件,命令如上所示,在ref后输入 read1.fq read2.fq ;对于sngle-end文件,则只需要在ref后输入read.fq

5. 将sam文件转为bam文件

samtools view -bS EV.sam -o EV.bam

samtoolsview命令 将sam文件转为bam文件,(bam文件是二进制,运算速度会快),此步骤结束会产生一个bam文件

参数解释:
-b:输出bam文件(因为默认输出是sam)
-S:输入sam文件(因为默认输入是bam)

6. 对bam文件进行排序

java -Xmx45g -jar SortSam.jar INPUT=EV.bam OUTPUT=EV_sort.bam SORT_ORDER=coordinate

picard工具包 中的SortSam对上一步得到的bam文件中同一染色体对应的条目按照坐标顺序从小到大进行排序,此步骤结束会产生一个排序过的bam文件,可命名为EV_sort.bam

7. 对排序后的bam文件进行去重

java -Xmx100g -jar MarkDuplicates.jar INPUT=EV_sort.bam OUTPUT=EV_dedup.bam METRICS_FILE=EV_dedup.metrics ASSUME_SORTED=true VALIDATION_STRINGENCY=SILENT CREATE_INDEX=true

picard工具包 中的MarkDuplicates对排序后的bam文件进行去重(由于PCR扩增底物的过程中使样品出现重复,故要去重,此步使重复的reads带上标签,便于后续处理),此步骤结束会产生一个metrics文件,一个bai文件,一个去重的bam文件,可命名为EV_dedup.bam
参数解释:
ASSUME_SORTED:默认为false,经过sortsam后改为true
CREATE_INDEX:创建索引(true才会产生bai文件)

注1:metrics文件用于写入一些duplicates的统计信息
注2:CREATE_INDEX使得bai文件产生,若不在这一步创建,则下一步要先用samtools的index命令对EV_dedup.bam建立索引才行。

8. 建立indel区间文件

java -Xmx45g -jar GenomeAnalysisTK.jar -T RealignerTargetCreator -R IRGSP_v4.fasta -I EV_dedup.bam -o EV_dedup.intervals

GATK工具包 中的RealignerTargetCreator先建立indel区间文件,此步骤结束会产生一个intervals文件
参数解释:
-T:使用的工具名

9. 对以上所得位置进行重新对比

java -Xmx45g -jar GenomeAnalysisTK.jar -T IndelRealigner -R IRGSP_v4.fasta -I EV_dedup.bam -targetIntervals EV_dedup.intervals -o EV_dedup_realign.bam

GATK工具包 中的IndelRealigner对上一步建立的indel区域进行reads重比对(indel会导致附近的错配,所以需要借由这一步降低indel附近的假阳性),此步骤结束会产生一个重新比对过的bam文件,可命名为EV_dedup_realign.bam

10. 进行变异检测

java -Xmx45g -jar GenomeAnalysisTK.jar -T UnifiedGenotyper -R IRGSP_v4.fasta -I EV_dedup_realign.bam -glm BOTH -stand_call_conf 30 -stand_emit_conf 10 -o LD.vcf

GATK工具包 中的UnifiedGenotyper对上述重新比对过的bam文件进行变异检测,寻找variant,此步骤结束会产生一个vcf文件和一个idx文件

参数解释:
-glm:选择检测的变异类型,“SNP、INDEL、BOTH”皆可选,默认为SNP,采用BOTH表示同时检测两者
-stand_call_conf:在变异检测过程中用于区分低质量变异位点和高质量变异位点的阈值,高于其会被视为高质量,低于其会标注LowQual
-stand_emit_conf:在变异检测过程中,所容许的最小质量值。只有大于等于这个设定值的变异位点会被输出到结果中。


写在最后面

  1. 运行命令时,要注意使用的软件、输入文件以及输出文件的路径,最好采用绝对路径的命令输入模式
  2. 由于过程中会产生很多文件,所以输出文件要好好命名。每个文件是从哪一步得到的,最好标上后缀,方便后续调用
  3. 我这里的GATK版本还是较旧的3.4版本,现在最新的应该是4.0版本。在4.0版本中去掉了RealignerTargetCreator、IndelRealigner、UnifiedGenotyper这几个工具,全部用HaplotypeCaller可以解决,具体的参数在运行程序的时候help一下就可以看到了,所以8 、9、10三步骤可以用HaplotypeCaller代替
  4. 以上的GATK实战步骤也是我在摸索中运行的,后续的数据分析还没有进行过,其中可能存在一定问题,欢迎提出指正,互相交流。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容