刘小泽写于18.8.10
老规矩,先上官网https://samtools.github.io/bcftools/bcftools.html
也许你会问,call是什么鬼?不能通俗易懂点吗?好的~我的理解是召唤,BCFtools就是你手中的魔法棒,挥一挥,召唤变异位点
学一项工具,掌握一种技术的目的是为了能够更好地发现并解决问题,而不是为了跑流程而跑流程,所有的数据分析都要建立在个人背景知识储备和对实际项目的认知上。因此今天,我也只是用这一个工具来做一个引子,从变异开始学起。
要学习任何事物,都要从“是什么?为什么?怎么做?“入手,那么~
变异是什么
你我之间,只差1%的不同,而这点不同,却造就了几十亿人口的千差万别
变异是相对的,是在彼此的比较中产生的。我们检测基因组变异,都需要参考基因组,对于人类而言,一般就是用hg19、hg38、b37版本。但是参考基因组也是选志愿者测的,并不完美,因此也不能百分之百就说参考基因组变异就是0,所有的都要参考这个基因组来确定。
如果只有这一个条件,不足以让我们信服。因为如果检测出来一下假阳性的变异位点,后果可能病急乱投医。因此,在做全基因组检测过程中,还需要选用其他几个大样本群体的变异位点数据库进行对照,尽可能排除那些假阳性变异。
基因组变异一般包括:
- 单碱基变异,学名单核苷酸多态性(SNP),原来的定义是单个碱基导致的群体中广泛存在的(约1%)的多态性,后来指与参考基因组不同的位点,它最常见也最简单;
- 小片段的插入与缺失(合称InDel),一般发生在基因组上短的有序的基因片段,长度小于50bp
- 更大范围的结构性变异(SV),研究的热门,长度大于50bp的片段的插入、缺失(Big Indel),染色体倒位(Inversion)、染色体之间或者内部发生易位(Translocation)、拷贝数变异(CNV)、串联重复(Tandem repeat)、嵌合体(chimera)
为什么要找变异
人类基因组的变异与人类起源发展、疾病防控等密切相关,二代测序的低成本带来了很大的便利,让我们有能力去做这件事;
-
变异不等于突变,有的变异缺失能够引起疾病,比如75%的癌症患者都存在TP53基因突变;TP53变异与近一半以上的癌症发生有关,包括肺癌、胃癌、肝癌、膀胱癌、食管癌、乳腺癌、宫颈癌等多种癌症。但是还有一些基因,比如球场弯道超车的球员就是11号染色体上的ACTN3基因上MA000028位点发生变异。找变异,可以解释更多生物现象
img
- 结构变异的寻找更为重要,因为它有时会与环境互作增加出生缺陷、癌症的风险
如何寻找变异
- 将reads比对到参考基因组
- 矫正比对(可选)
- 从比对结果中确定变异位点
- 根据某些需求过滤
- 变异位点注释
最常用的“魔法棒”
- bcftoolshttp://www.htslib.org/doc/bcftools.html
- FreeBayes: https://github.com/ekg/freebayes
- GATK: https://software.broadinstitute.org/gatk/
- VarScan2: http://varscan.sourceforge.net/
- 当然还有根据体细胞、生殖细胞、家系数据优化的软件,比如GATK就针对体细胞、生殖细胞做了不同的流程,目前算得上是找变异的黄金搭档
根据这一篇跑一个小流程,加深理解。唉,现在这学习,不跑个数据,就像没学习一样
第一步 下载数据
需要用到EMBOSS工具包,详细介绍https://wenku.baidu.com/view/5bdf981c55270722192ef7e3.html?pn=NaN
官网:https://www.ebi.ac.uk/seqdb/confluence/display/THD/EMBOSS+seqret
#软件安装Emboss-6.6.0
cd ~/.biosoft
wget ftp://ftp.ebi.ac.uk/pub/software/unix/EMBOSS/EMBOSS-6.6.0.tar.gz
#下载参考数据
mkdir -p ~/project/ebola/ref
cd ~/project/ebola/ref
ACC=AF086833
REF=ref/$ACC.fa
efetch -db=nuccore -format=fasta -id=$ACC > $REF
bwa index $REF
#下载测试数据
mkdir -p ~/project/ebola/raw
cd ~/project/ebola/raw
fastq-dump -X 100000 --split-files SRR1553500 #取前10万条
# 27M Aug 10 22:58 SRR1553500_1.fastq
# 27M Aug 10 22:58 SRR1553500_2.fastq
服务器100M独立光纤还不如自己电脑下载速度快【两个同时下载的】
第二步 比对
#学习一下教程中的shell脚本写法
ACC=AF086833
REF=~/project/ebola/ref/$ACC.fa
SRR=SRR1553500
BAM=$SRR.bam
R1=${SRR}_1.fastq
R2=${SRR}_2.fastq
TAG="@RG\tID:$SRR\tSM:$SRR\tLB:$SRR"
bwa mem -R $TAG $REF $R1 $R2 | samtools sort > $BAM
samtools index $BAM
# 12M Aug 10 2018 SRR1553500.bam
# 200 Aug 10 23:04 SRR1553500.bam.bai
第三步 召唤变异
ACC=AF086833
REF=~/project/ebola/ref/$ACC.fa
samtools mpileup -bvf $REF SRR1553500.bam | \
bcftools call --ploidy 1 -vm -Ov > bcftools.vcf
未完待续。。。