重测序分析
重测序:是对已对已知基因组的物种进行测序,去挖掘不同个体和群体之间的差异性。
重测序分析内容:
SNP,INDEL, SV , SNV
进化分析,群体结构:
LD,FST
分析数据和流程。
测序数据:fastq 格式文件
序列比对软件:BWA 软件(快速把小片段比对到基因组上)
分析过程:
1.测序数据质控(fastqc)
-t 测序数据线程数,数目越多速度越快
-o 指定输出目录
$/share/nas2/genome/biosoft/fastqc/v0.10.1/fastqc -o ./fastqcout/ ./test-data/reads/test_1.fq ./test-data/reads/test_2.fq
2.序列比对(bwa)
三种比对方法,MAMA算法支持100bp以上比对
建立索引,帮助序列比对快速阅读
bwa -index
/share/nas2/genome/biosoft/bwa/0.7.17/bwa/bwa index ../test-data/genome/cucumber_ChineseLong_v2_genome.fa
实际进行比对
/share/nas2/genome/biosoft/bwa/0.7.17/bwa/bwa mem ../test-data/genome/cucumber_ChineseLong_v2_genome.fa ../test-data/reads/test_1.fq ../test-data/reads/test_2.fq -o ./test.sam
输出sam文件
将SAM文件转换为BAM文件(节省空间)
/share/nas2/genome/biosoft/samtools/current/samtools view ./bwa/test.sam -o ./bwa/test.bam
(查看比对bam文件samtools view ./bwa/test.bam |less -s)
(查看bam文件比对结果/share/nas2/genome/biosoft/samtools/current/samtools view ./bwa/test.sam -o ./bwa/test.bam)
将bam文件按照比对到参考基因组的顺序进行排序:
/share/nas2/genome/biosoft/samtools/current/samtools sort ./bwa/test.bam -o ./bwa/test.sort.bam
(查看测序深度/share/nas2/genome/biosoft/samtools/current/samtools depth ./bwa/test.sort.bam)
/share/nas2/genome/biosoft/samtools/current/samtools faidx ./test data/genome/cucumber_ChineseLong_v2_genome.fa (samtools 建立索引为后续突变位点做准备,生成.fai文件)
/share/nas2/genome/biosoft/samtools/1.9/bin/samtools dict -o ./test-data/genome/cucumber_ChineseLong_v2_genome.dict ./test-data/genome/cucumber_ChineseLong_v2_genome.fa(samtools dict 生成基因组字典文件用于后续比对,生成.dict文件)
/share/nas2/genome/biosoft/samtools/1.9/bin/samtools index ./bwa/test.sort.bam(针对比对结果生成索引文件,生成。bai格式文件)
SNP calling:
1.标记重复序列(由于PCR扩增或者错误测序,进行标记)
picard和GATK都可以
picard 的MarkDuplicates可以标记重复序列(用法,输入排序好的bam文件,输出标记重复的bam文件,-M矩阵文件(后期需要读取),系统设置 MAX_OPTICAL_DUPLICATE_SET_SIZE 最大可选大小,一般512)
java -jar /share/nas2/genome/biosoft/picard/picard.jar MarkDuplicates MAX_OPTICAL_DUPLICATE_SET_SIZE=512 I= ./bwa/test.sort.bam O= ./duplication
_marking/dedup.bam M= ./duplication_marking/dedup.metrics
对生成的bam建立索引
/share/nas2/genome/biosoft/samtools/current/samtools index ./duplication_marking/dedup.bam
2.统计中间文件
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T RealignerTargetCreator -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa -I ./duplication_marking/test_dedup.bam -o ./duplication_marking/test_dedup.bam_realign_interval
3.发生错配的地方进行重新比对提高假阳性和假阴性。
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T IndelRealigner -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa -targetIntervals ./duplication_marking/test_dedup.bam_realign.intervals -o ./localalign/test_relign.dedup.bam -I ./duplication_marking/test_dedup.bam(targetIntervals标记重复序列不需要比对,对文件名敏感,必须是.intervals)
SNP位点
生成gvcf文件
--indelSizeToEliminateInRefModel 指定最大Indel 长度
--emitRefConfidence GVCF 指定生成文件的类型
--variant_index_type LINEAR 指定使用的索引模型
--variant_index_parameter 指定使用的索引策略
--sample_ploidy 指定分析物种的倍性
-nct 指定分析使用的CPU 核心数量
-o 指定输出文件
-L 指定染色体位置文件
-I 指定输入BAM 文件
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T HaplotypeCaller -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa --indelSizeToEliminateInRefModel 50 --emitRefConfidence GVCF --variant_index_type LINEAR --variant_index_parameter 128000 --sample_ploidy 2 -nct 4 -o ./variant_calling/test_g.vcf -I ./localalign/test_relign.dedup.bam
###合并gcvf文件
-T 指定使用的功能大类
-R 指定参考基因组
--disable_auto_index_creation_and_locking_when_reading_rods 在读取时禁用自动索引创建和锁定(防止出错)
-o 指定输出文件
--variant 指定输入GVCF 文件
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T CombineGVCFs -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa --disable_auto_index_creation_and_locking_when_reading_rods -o ./variant_calling/cohort.test.g.vcf --variant ./variant_calling/test_g.vcf
##将GVCF文件转化为vcf文件
-T 指定使用的功能大类
-nt 指定使用的CPU 核心数量
-R 指定参考基因组
--disable_auto_index_creation_and_locking_when_reading_rods 在读取时禁用自动索引创建和锁定
-o 指定输出文件
--variant 指定输入文件
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T GenotypeGVCFs -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa --disable_auto_index_creation_and_locking_when_reading_rods -o ./variant_calling/cohort.test.snp.indel.vcf --variant ./variant_calling/cohort.test.g.vcf
###合并VCF文件
java -cp /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar org.broadinstitute.gatk.tools.CatVariants -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa -out ./variant_calling/raw.vcf -assumeSorted -V ./variant_calling/cohort.test.snp.indel.vcf
SNP 过滤
1.一般来说如果临近的碱基出现SNP一般说来是存在的,一般来说5个碱基以内,用10个bp进行划窗分析
perl /share/nas2/genome/biosoft/bcftools/bin/vcfutils.pl varFilter -w 5 -W 10 ./variant_calling/raw.vcf >./variant_calling/raw.vcf.tmp
2.按照质量值、位点深度、Fisher 检验值、比对质量对SNP 位点进行过滤
-T 指定使用的功能大类
-R 指定参考基因组
-V 指定输入文件
--filterExpression "QUAL<30||QD < 2.0 || FS > 60.0 || MQ < 40.0" 指定过滤条件
--clusterWindowSize 指定聚类窗口大小
--clusterSize 指定聚类数量
--filterName my_snp_filter 指定过滤条件名体现在输出文件中
-o raw.filter.vcf.tmp 指定输出文件
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T VariantFiltration -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa -V ./variant_calling/raw.vcf.tmp --filterExpression "QUAL<30||QD < 2.0 || FS > 60.0 || MQ < 40.0" --clusterWindowSize 5 --clusterSize 2 --filterName my_snp_filter -o ./variant_calling/raw.filter.vcf.tmp
3.保留通过的列
awk '$7 =="PASS"|| $0~/#/{print $0}' ./variant_calling/raw.filter.vcf.tmp > ./variant_calling/raw.filter.vcf
###拆分Indel和SNP文件
仅仅保留INDEL位点的文件
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T SelectVariants -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa -V ./variant_calling/raw.filter.vcf -selectType INDEL -o ./variant_calling/raw.filter.indel.vcf
仅仅保留SNP位点的文件
java -jar /share/nas2/genome/biosoft/GATK/3.3-0/GenomeAnalysisTK.jar -T SelectVariants -R ./test-data/genome/cucumber_ChineseLong_v2_genome.fa -V ./variant_calling/raw.filter.vcf -selectType SNP -o ./variant_calling/raw.filter.snp.vcf
###使用SNPEFF 对SNP 位点进行注释
1.构建SNPEFF 物种数据库
data 的目录不能更改,必要要有,下一级目录取物种名字,添加两个文件,基因组的gff和fa文件,必须命名为sequences.fa 以及genes.gff,config文件添加物种命名
mkdir snpEFF
mkdir data
mkdir Cucumber (对黄瓜进行注释,专门地文件夹)
拷贝基因组文件(复制为sequences.fa)
cp /share/home/bmk366/reseq/test-data/genome/cucumber_ChineseLong_v2_genome.fa sequences.fa
拷贝gff文件(复制为genes.gff)
cp /share/home/bmk366/reseq/test-data/genome/cucumber_ChineseLong_v2.gff3 genes.gff
vim snpEff.config
在文件结尾添加一行内容
Cucumber.genome: Cucumber(添加内容与文件名相一致)
##构建物种数据库
java -jar /share/nas2/genome/biosoft/snpEff/snpEff.jar build -c ./snpEff.config -gff3 Cucumber
###进行注释
java -jar /share/nas2/genome/biosoft/snpEff/snpEff.jar eff Cucumber ../variant_calling/raw.filter.snp.vcf -c ./snpEff.config -o gatk -ud 5000 >./raw.snp.anno.vcf