GATK4流程学习之背景知识与前期准备 - 简书
GATK4流程学习之DNA-Seq variant calling(Germline:SNP+INDEL) - 简书
GATK4流程学习之RNA-Seq variant calling(SNP+INDEL) - 简书
补:Mutect2+scRNAseq+cancer cell - 简书
说明:由于一些原因,中途在一个新服务器账号创建了GATK分析环境,故后面系列分析的路径可能与在下文的路径不一致,但数据与软件都是一致的。
要点一、GATK学习
1、GATK简介
- The GATK is the industry standard for identifying SNPs and indels in germline DNA and RNAseq data.
- Its scope is now expanding to include somatic short variant calling, and to tackle copy number (CNV) and structural variation (SV).
- 简单理解就是gatk4是根据bam文件,生成vcf文件的软件;不仅如此,gatk开发团队(broad institute)对整个从fatsq→vcf分析流程都建立了标准的分析pipeline,即
GATK Best Practices
系列
关于SNP、INDEL等变异类型可参考之前的VCF格式详解笔记
(插一句就是我登录broad institute GATK页面总是有问题,不知道其他小伙伴也遇到类似问题。)
生信格式之fasta、fastq - 简书 https://www.jianshu.com/p/5bd5848eb596
生信格式之sam、bam - 简书 https://www.jianshu.com/p/f0f1f293f0bd
生信格式之vcf格式 - 简书 https://www.jianshu.com/p/34c1e22c92c8
2、相关概念区别
2.1 DNA-seq与RNA-seq
https://sciberg.com/resources/bioinformatics-faqs/the-differences-between-dna-and-rna-sequencing.html
(1) DNA-seq
- 如下图,DNA-seq包括三种测序手段,分别为Whole Genome Sequencing (WGS,全基因组测序), Whole Exome Sequencing (WES or WXS,全外显子测序) and targeted sequencing(靶向测序).
- WGS是对样本整个基因组的全部测序,而WES则仅对能携带遗传信息,参与编码mRNA的外显子序列(仅占基因组大小的3%)进行测序。
- 以WGS与WES为代表的DNA-seq,主要用于研究rare mutations and/or common variants associated with a disorder or phenotype.
(2)RNA-seq
- 如下图,RNA-seq主要是捕捉DNA的转录产物mRNA以及非编码RNA(lncRNA,circRNA和miRNA等),分为mRNA-seq、miRNA-seq、circRNA, Whole Transcriptome Sequencing (WTS,全转录组测序)。
- 相比DNA-seq的测序步骤,RNA-seq首先需要提取特定类型RNA,再反转录成cDNA(complementary DNA,互补DNA),然后构建文库,进行测序。
- 相比DNA-seq的测序分析,RNA-seq的研究包括the detection of changes in gene expression, alternative splicing, post-transcriptional modifications, gene fusions as well as detection of mutations and SNPs.
2.2、germline mutation与somatic mutation
https://www.zhihu.com/question/38765318
(1)germline mutation 胚系突变
- germline mutation是指上一代的生殖细胞(germ cells)精子或卵子发生突变(如下图左),然后经减数分裂,形成合子,在子代中不断分化增殖(有丝分裂,直接复制),从而在该个体的所有体细胞中都存在germline mutation。
- 即取正常组织测序,在某一特定位点,germline突变的频率理论上只有2种:50%突变(精子或卵子一方突变),或100%突变(精子与卵子均突变)【该个体的生殖细胞也是带有突变】
- 所以胚系突变的特点是可遗传性。如下图右是仅父代精子胚系突变,导致该个体产生的精子中会有50%的遗传性
-
germline mutation是遗传性疾病的研究重点;只有一少部分癌症,是与遗传相关的(研究最广泛的遗传性癌症就是乳腺癌,携带BRCA1/2基因的突变会导致患乳腺癌、卵巢癌的几率增加)。
(2)somatic mutation 体细胞突变
- 如上图有,somatic mutation与精卵子配体是否发生突变无关,而是在胚胎后期发育过程中,体细胞分裂过程中发生的突变。由于体细胞已经高度分化,仅影响该类体细胞(皮肤,肝脏,骨髓,眼睛等的细胞均为体细胞)相关区域。
- 由于大部分somatic mutation 不会影响生殖细胞,所以somatic mutation是不会遗传的。
- 绝大多数癌症,都是由于后天体细胞突变导致;研究时一般取癌组织与癌旁组织对比研究,即在Call Somatic mutations 的时候最好有同一个体的正常组织进行参照。
3、笔记内容
- 基于GATK Best Practices的identifying SNPs and indels in germline DNA and RNAseq data的流程学习;
- 主要以用为主,通过示例数据操作为主,同时再尽量解释清楚每一步的含义,但背后深入算法还是并不太明白,例如pairHMM算法。
1、下载相关软件
-
sra-tools
、aspera
是两个常用的下载公共数据库测序数据的软件; -
fastqc
、trimmomatic
是对fastq测序文件质控的两个软件; -
bwa
、star
是两个常用的比对软件,各有所长; -
GATK4
是variant calling的常规软件,目前已发布第4版本; - 其它
seqtk
、tree
......
软件安装一般到官网或者github主页,根据提示下载安装即可;有的是解压即用,有的需要
make
之类的操作(编译)一下。建议选择合适的文件路径,方便以后管理方便。
2、conda创建GATK分析环境
- 区别上述的方法,conda环境下可以软件命令的操作更加方便,不需要考虑环境变量因素。
- conda的基础学习可参考前面的笔记--Linux的conda软件管家https://www.jianshu.com/p/84a0d5c407aa
conda create -n GATK python=3
conda activate GATK
conda install -c bioconda -y sra-tools seqtk
conda install -c bioconda -y fastqc trimmomatic samtools
conda install -c bioconda -y bwa gatk4
# aspera比较特殊,需从hcc channel源下载
conda install -c hcc aspera-cli
conda list
- 根据后面的踩坑教训,有两个软件需要安装指定版本才可以
conda install -c bioconda -y star=2.7.1a
conda install -c bioconda -y sambamba=0.6.6
conda list
但是还是建议手动安装下上述所有软件,我是分别建立了一个
GATK
conda环境与biosoft文件加下安装了上述软件。
3、下载参考数据库
#部分数据集特别大,耗时,建议后台运行
mkdir -p ~/path/to/GATK/bundle/hg38
cd ~/path/to/GATK/bundle/hg38
(1)下载参考基因组
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/Homo_sapiens_assembly38.fasta.gz >/dev/null 2>&1 &
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/Homo_sapiens_assembly38.fasta.fai >/dev/null 2>&1 &
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/Homo_sapiens_assembly38.dict >/dev/null 2>&1 &
如下,bwa与star是两个测序数据比对软件,比对时需要建立索引文件。根据GATK流程推荐,bwa适合DNA-seq数据找变异;star适合RNA-seq数据找变异
(2)bwa建立参考基因组(human)索引
#比较耗时,1-2h
mkdir bwa_index
cd bwa_index
nohup ~/biosoft/bwa/bwa-0.7.15/bwa index -a bwtsw -p gatk_hg38 ../Homo_sapiens_assembly38.fasta >/dev/null 2>&1 &
(3)下载star的参考基因组(human)索引
- 由于STAR建立索引十分耗资源,因此这里下载搭建好的STAR软件比对人类参考基因组数据的全套数据(31G)。因为这套数据里的比对索引是star 2.7.1a建立的,故后面比对时需要使用对应版本的star,以及找变异时使用版本一致的基因组文件。
mkdir /home/shensuo/biosoft/star/STAR-2.7.7a/db/
cd /home/shensuo/biosoft/star/STAR-2.7.7a/db/
#网速好的话,一晚上可以下载好
wget -c https://data.broadinstitute.org/Trinity/CTAT_RESOURCE_LIB/GRCh38_gencode_v22_CTAT_lib_Apr032020.plug-n-play.tar.gz
# -c参数表示断点续传,下载大文件时建议使用
tar -zcvf GRCh38_gencode_v22_CTAT_lib_Apr032020.plug-n-play.tar.gz
cd GRCh38_gencode_v22_CTAT_lib_Apr032020.plug-n-play/ctat_genome_lib_build_dir/
gatk CreateSequenceDictionary -R ref_genome.fa
ls
(4)下载人类基因组参考变异注释数据
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/dbsnp_146.hg38.vcf.gz >/dev/null 2>&1 &
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/dbsnp_146.hg38.vcf.gz.tbi >/dev/null 2>&1 &
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz >/dev/null 2>&1 &
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/Mills_and_1000G_gold_standard.indels.hg38.vcf.gz.tbi >/dev/null 2>&1 &
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/1000G_phase1.snps.high_confsampleence.hg38.vcf.gz >/dev/null 2>&1 &
nohup wget ftp://gsapubftp-anonymous@ftp.broadinstitute.org/bundle/hg38/1000G_phase1.snps.high_confsampleence.hg38.vcf.gz.tbi >/dev/null 2>&1 &
nohup
搭配&
是后台不断线的下载。因为有的数据比较大,以及建立索引都比较耗时。
此外都是人类测序的相关分析数据。