全基因组分析相关生物信息学基因组学

基因组数据的定向和填充(Phasing and Imputati

2020-07-11  本文已影响0人  Dawn_WangTP

基础概念

Phasing,基因定相/基因分型/单倍体分型:将二倍体or多倍体基因组上的等位基因,按照其亲本正确定位到父亲or母亲的染色体上,最终使得所有来自同一个亲本的等位基因都能够排列再同一条染色体中。

Imputation,基因型填充。对基因型缺失的位点进行填补(Imputation)对这个位点的基因型规律进行总结,然后对缺失位点归到某类中,赋予其一个最可能的基因型。而基因型缺失missing主要有两种可能:

定相&填充(Phasing & Imputaion)的重要性

定相Phasing:对于遗传变异的功能诠释密切相关。表现在遗传诊断需要了解基因突变的单倍型时,才能判断是否会产生临床症状。

填充Imputation:基因型缺失造成信息丢失,对下游基因型-表型关联分析(GWAS分析,选择压力分析,QTL定位等)都会造成很大影响

Phasing & Imputaion常用方法

1. Phasing的方法

Phasing的方法主要有三个:家系分型(Related individuals phasing)、群体LD分型(LD-phasing)和物理分型(Physical Phasing)

2. Impuation的方法

Imputation:分析各个区域的单倍体组成,总结这个区域的基因型规律并分类。然后再根据某样本缺失位点的其它非缺失位点,判断这个区域属于哪种单倍型,然后再根据所属的基因型来填补此缺失样本的缺失位点信息。


Imputation process

根据多个个体构成的参考单倍型集合(Reference Haplotypes)推断整个群体的单倍型构成。再根据缺失样本有限的基因型信息(仅有3个位点),就可以判断这个样本与参考单倍型集中的哪种单倍型最为相似。

3. 常用软件

计算密集型,比如IMPUTE、 IMPUTE2、MACH、 和fastPHASE/BIMBAM。填充的过程中充分考虑到全部可以观察到的基因型信息,使得对缺失值的估算更加精确;但以上大部分软件都是针对人类的开发的。人类种群的遗传特性是个体杂合率较高、近交率低、系谱关系来源随机。很多植物,尤其作物的遗传特性则和人类相反。以玉米为例,玉米在育种过程中,会伴随大量的自交,因此纯合度较高,而且系谱关系(杂交方式)往往可控。以上针对人类学开发的软件就未必适用了。如果是遗传特性与玉米类似的植物的GBS数据,可以采用Tassel中包含的imputation模块。

计算高效型,比如PLINK、TUNA、WHAP和BEAGLE。此种算法仅仅关注与特定位点相邻的一小部分标记的基因型,因此在计算上更加快捷。表1列出了4种常见的基因型填充软件的特性

实例学习

以BEAGLE 5.1软件学习IMPUTATION。[http://faculty.washington.edu/browning/beagle/beagle.html#download]

Beagle包含了利用家系(Related individual Phasing)和LD Phasing的模块, 如果输入的vcf文件是没有phasing的,会先进行定相,然后填充。下载基于JAVA

beagle5.1参数

data parameters ...
  gt=<VCF file: use GT field>                        (optional)
  ref=<bref3 or VCF file with phased genotypes>      (optional)
  out=<output file prefix>                           (required)
  map=<PLINK map file with cM units>                 (optional)
  chrom=<[chrom] or [chrom]:[start]-[end]>           (optional)
  excludesamples=<file with 1 sample ID per line>    (optional)
  excludemarkers=<file with 1 marker ID per line>    (optional)

phasing parameters ...
  burnin=<number of burnin iterations>               (default=6)
  iterations=<number of phasing iterations>          (default=12)
  phase-states=<model states for phasing>            (default=280)

imputation parameters ...
  impute=<impute ungenotyped markers (true/false)>   (default=true)
  imp-states=<model states for imputation>           (default=1600)
  imp-segment=<min haplotype segment length (cM)>    (default=6.0)
  imp-step=<IBS step length (cM)>                    (default=0.1)
  imp-nsteps=<number of IBS steps>                   (default=7)
  cluster=<max cM in a marker cluster>               (default=0.005)
  ap=<print posterior allele probabilities>          (default=false)
  gp=<print posterior genotype probabilities>        (default=false)

general parameters ...
  ne=<effective population size>                     (default=1000000)
  err=<allele mismatch rate>                         (default: data dependent)
  window=<window length in cM>                       (default=40.0)
  overlap=<window overlap in cM>                     (default=4.0)
  seed=<random seed>                                 (default=-99999)
  nthreads=<number of threads>                       (default: machine dependent)

实际例子

### 下载beagle5.1
wget http://faculty.washington.edu/browning/beagle/beagle.18May20.d20.jar
wget http://faculty.washington.edu/browning/beagle/bref3.18May20.d20.jar

### 下载测试数据
wget http://faculty.washington.edu/browning/beagle/test.18May20.d20.vcf.gz
zcat test.18May20.d20.vcf.gz | cut -f1-190 | tr '/' '|' | gzip > ref.18May20.d20.vcf.gz
zcat test.18May20.d20.vcf.gz | cut -f1-9,191-200 | gzip > target.18May20.d20.vcf.gz

### 运行beagle软件进行imputation
java -Xmx14256m -jar beagle.18May20.d20.jar gt=test.18May20.d20.vcf.gz out=out.gt

### 提供phasing数据集ref panels
java -jar beagle.18May20.d20.jar ref=ref.18May20.d20.vcf.gz gt=target.18May20.d20.vcf.gz out=out.ref

### 对参考数据集ref构建bref3
java -jar bref3.18May20.d20.jar ref.18May20.d20.vcf.gz > ref.18May20.d20.bref3
java -jar beagle.18May20.d20.jar ref=ref.18May20.d20.bref3 gt=target.18May20.d20.vcf.gz out=out.bref3


### 参考其它文章命令行
nohup java -Xss5m -Xmn25G -Xms100G -Xmx100G -jar soft/beagle/beagle.12Jul19.0df.jar nthreads=2 gt=172sample.recode.vcf out=172sample_out ne=172
#可能会遇到内存溢出的报错,较花时间。

参考文章

人类基因组的Phasing原理是什么?

用Beagle做基因型填充(Imputation)

重测序数据中的基因型缺失以及缺失数据填充

BEAGLE参考文档

上一篇 下一篇

猜你喜欢

热点阅读