当位于某一座位的特定等位基因与另一座位的某一等位基因同时出现的概率大于群体中因随机分布的两个等位基因同时出现的概率时,就称这两个座位处于连锁不平衡的状态。目前,连锁不平衡分析是群体进化的经典分析条目,分析的软件主要有plink和haploview。Haploview是一款分析单倍型的软件,依托于java形成的可视化界面,以下是整理的相关介绍及使用方法。
1. 软件安装
可以在官网直接下载封装好的java程序包,下载完成后即可使用
https://www.broadinstitute.org/haploview/downloads#JAR
wget https://www.broadinstitute.org/ftp/pub/mpg/haploview/Haploview.jar
2. 软件使用-GUI
2.1 程序运行
运行时执行java程序包,会出现可交互界面,可以上传数据、分析以及结果查看等
执行命令:java -jar /opt/software/Haploview.4.2.jar
可视化界面如下
2.2 数据输入
该软件可以允许输入多种类型的文件,其中包括连锁分型文件(linkage)、hapmap文件(hapmap)以及plink分型文件(map/ped)
plink输出文件中的ped可以直接作为linkage分型文件导入,示例数据如下
0 s-test-106 0 0 0 0 T T G G C C G G C C T T
0 s-test-105 0 0 0 0 C C G G T T G G C C G G
0 s-test-107 0 0 0 0 C C G G T T G G C C G G
0 s-test-100 0 0 0 0 T T A G C C G G T T T T
0 s-test-101 0 0 0 0 T T A G C C G G T T T T
0 s-test-109 0 0 0 0 C C G G T T G G C C G G
对于位点信息文件,不能直接使用map文件,需要提取其中的第2、4行信息单独导入,示例如下
chr5_12526 12526
chr5_23655 23655
chr5_25580 25580
chr5_30712 30712
chr5_37018 37018
chr5_39601 39601
使用plink软件可以直接输出上述格式的文件,无需手动处理,命令为plink --recode HV
。输出文件类型为HV(Haploview-forma),若不指定染色体编号以及提取区间,会对所有数据进行提取,并且会按染色体分开输出,文件命名规则为out.chr-x*.ped + .info
,输出结果与上述示例输入相同相同。
对于其他类型的输入文件,有兴趣可以查看官网说明,以下是以plink软件导出的数据为例进行演示。Haploview输入文件
2.3 参数设置
在使用plink格式的输入文件时,可以设置两个参数,分析的区域大小及样本缺失过滤,都有默认值。
若输入文件为linkage格式,还可以进行关联分析,可以指定是否是家系数据或者case/control有对照的数据,界面如下
2.4 分析结果
- 数据统计
导入数据后自动计算位点的maf、缺失等信息,会汇总成统计表,可以导出,示例如下
统计结果中,标红的部分是未通过过滤的位点,系统会自动全选所有通过过滤的位点参与单倍型的计算。图片下方显示的是参数设置窗口,可自行输入阈值,点击Rescore Markers即可重新统计。
- LD-Block图
软件会自动根据输入的数据绘制对应LD-Block区域的单倍型块结果,所有统计以及图片结果都可以导出保存,示例如下
LD导出数据:
L1 L2 D' LOD r^2 CIlow CIhi Dist T-int
chr5_23655 chr5_68528 1.0 3.79 0.023 0.63 1.0 44873 168.12
chr5_23655 chr5_75682 1.0 49.24 1.0 0.96 1.0 52027 -
chr5_23655 chr5_125073 1.0 17.37 0.354 0.89 1.0 101418 -
chr5_23655 chr5_176933 1.0 49.24 1.0 0.96 1.0 153278 -
chr5_23655 chr5_206310 1.0 48.48 1.0 0.96 1.0 182655 -
chr5_23655 chr5_271689 1.0 3.92 0.023 0.64 1.0 248034 -
单倍型块数据Haplotypes:
BLOCK 1. MARKERS: 10 11 19 27 33 44
112412 (0.560) |0.548 0.000 0.000 0.000 0.000|
312412 (0.167) |0.088 0.045 0.037 0.002 0.000|
111413 (0.162) |0.018 0.066 0.060 0.007 0.007|
121242 (0.098) |0.002 0.053 0.018 0.015 0.011|
Multiallelic Dprime: 0.786
BLOCK 2. MARKERS: 56 74 84 86
1424 (0.652) |0.651 0.000|
1224 (0.170) |0.164 0.007|
3412 (0.124) |0.011 0.114|
3424 (0.034) |0.034 0.000|
3224 (0.013) |0.000 0.013|
Multiallelic Dprime: 0.935
- 标签SNP获取
一个block内的位点是高度连锁的,在分析的时候我们可以选择其中一个典型的snp做代表,这样可以实现位点的去冗余,可以极大地减少后续分析的压力。haploview可以做tag标签的筛选,界面如下
界面下方可以选择tag标签位点的计算方法,也可以设置r2和LOD的阈值,同时还可以对位点进行过滤,比如去除A/T、G/C分型的位点。设置完成后运行,结果如下
test数据框显示的是筛选到的tag标签位点,下面的数据框表示与这个位点紧密连锁的其他位点列表,右边的数据框表示的是tests位点与紧密连锁位点之间的r2信息
这款软件除了GUI可视化操作,还可以使用命令行进行分析,具体可查看官网说明。
参考信息:
[1] haploview: https://www.broadinstitute.org/haploview/haploview
[2] plink: https://www.cog-genomics.org/plink2