重测序分析

重测序:是对已对已知基因组的物种进行测序,去挖掘不同个体和群体之间的差异性。

重测序分析内容:

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

你可能感兴趣的:(重测序分析)