对于DNA-seq的variant calling有着很多的分析流程,其中使用最广泛,也最权威的是GATK工具, 全名为Genome Analysis Toolkit。GATK由Broad Institute开发维护,是一套拥有各种各样的软件工具的集合。GATK 设计之初是用于分析人类的全外显子和全基因组数据,随着不断发展,现在也可以用于其他的物种,还支持CNV和SV变异信息的检测。

本文采用fastqc、BWA、samtools、GATK、annovar的外显子变异分析流程。运行的环境为linux,软件下载以linux为准。

Best Practices workflow for SNP and Indel discovery in germline DNA
GATK工作流程
一、软件安装及使用方法

1. 质量控制软件FastQc

fastqc是一个高通量测序数据质量检测的软件,官方网站:http://www.bioinformatics.babraham.ac.uk/projects/fastqc/。它是用java写的,需要java环境。fastqc提供一种简单的方法,对来自高通量测序原始序列数据fastq文件进行一些质量控制检查。

#fastqc下载安装方式
wget http://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.8.zip
unzip fastqc_v0.11.8.zip
#使用方式
#替换/path/to/为你自己测序文件目录
cd FastQC
fastqc /path/to/sample.fastq.gz -o /path/to/result

2. 比对参考基因组下载制作

在对测序原始文件fastq进行之间之后,就可以进行下一步的比对mapping步骤了,mapping 需要一个参考基因组。hg19、GRCH37、 ensembl 75这3种基因组版本应该是大家见得比较多的了,国际通用的人类参考基因组,其实他们储存的是同样的fasta序列,只是分别对应着三种国际生物信息学数据库资源收集存储单位,即NCBI,UCSC及ENSEMBL各自发布的基因组信息而已。我们此次采用新发布的UCSC提供的hg38参考基因组。

#下载参考基因组
wget https://hgdownload.soe.ucsc.edu/goldenPath/hg38/bigZips/latest/hg38.chromFa.tar.gz

#解压后制作参考文件
#以染色体序号排序,这是GATK分析的要求
tar -xjvf hg38.chromFa.tar.gz
cd chroms
for i in $(seq 1 22) X Y M;
do cat chr$.fa >> hg38.fa;
done

3. Reads比对软件BWA

BWA(Burrows-Wheeler Aligner)是一款用于将短片段DNA序列映射到大型参考基因组强大且速度很快的序列比对软件包,我们采用其中的mem子算法对长度在70bp-1Mbp之间的Reads进行比对。BWA基于(Burrows-Wheeler Transformation,BWT压缩算法)首先对参考基因组序列建立索引,然后将reads比对到基因组。该算法序列比对快速、准确并且省内存。此外,该算法不局限于某种特定的测序方式,不论是单末端序列比对(SingleEnd,SE)还是双端序列比对(PairEnd,PE),BWA皆可完成快速比对。比较来说,BWA在比对过程中,计算资源占用相对较少,并且BWA以准确率高而闻名,可作为SNP分析的首选比对软件。

#bwa下载安装
git clone https://github.com/lh3/bwa.git
cd bwa
make
#为参考基因组构建索引
./bwa index path/to/hg38.fa
#比对后生成SAM文件,存在其他参数可修改,具体见BWA使用文档
#SE单端测序输入一个fastq文件
./bwa mem path/to/hg38.fa read-se.fq.gz | gzip -3 > sample.sam.gz
#PE双端测序输入两个fastq文件
./bwa mem path/to/hg38.fa read1.fq read2.fq | gzip -3 > sample.sam.gz

4. samtools工具

SAMtools是一个用于操作sam和bam文件的工具合集。能够实现二进制查看、格式转换、排序及合并等功能。BWA mapping后产生SAM文件。sam(sequence alignment/map)格式是存储大型核苷酸序列比对的通用格式。该软件提供各种实用工具,用于以sam格式操作对齐,包括按位置格式排序、合并、索引和生成对齐。

#samtools安装并编译
git clone git://github.com/samtools/samtools.git 
cd samtools
./configure
make
make install
#samtools使用
#将bwa产生的SAM转变为二进制的BAM
samtools view -Sb sample.sam.gz > sample.bam
#利用samtools的sort功能对BAM文件进行排序,有参数改变线程内存等。
samtools sort -o sample.sorted.bam sample.bam

5.GATK工具包

GATK中有用于标记重复序列的MarkDuplicates工具, 碱基质量分数重校准BQSR工具, 突变检测工具 HaplotypeCaller , 变异质控和过滤工具 VariantRecalibrator 等。

#GATK安装
wget 
Categories: Python

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *