LD 计算
GBC 集成了基于 GTB 的快速 LD 计算方法。使用如下指令计算位点间的 LD 系数:
java -jar gbc.jar ld <input> [output] [options]
未设置输出文件时,GBC 将默认使用 bgzip 压缩输出的文件,以尽可能减小输出文件的大小。当输入文件包含多个染色体时(例如输入的单个文件中包含整个基因组的基因型),GBC 可以使用并行化提升速度,否则并行化仅在最后导出为 GZIP 格式时适用。
请注意,LD 计算仅适用于坐标有序的 GTB 文件,对于坐标无序的 GTB 文件,请先使用 GTBSorter 进行排序。
[!NOTE|label:示例程序|style:callout]
使用 GBC-LDCalculator 计算 1000GP3-EAS-chr4 的 LD 系数:
# 下载文件 wget https://pmglab.top/gbc/download/1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb # 在终端直接运行 java -jar gbc.jar ld 1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb # 使用 docker 运行 docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \ ld 1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb
程序参数
语法: ld <input> [output] [options]
Java-API: edu.sysu.pmglab.gbc.linkagedisequilibrium.LDCalculator
关于: 计算成对位点的 LD 系数. 提供 D' 法和 Pearson 相关系数法.
参数:
--chromosome 指定染色体标签文件.
格式: --chromosome <file>
--threads,-t 设置并行线程数.
默认值: 4
格式: --threads <int>
LD 计算参数 Options:
--hap-ld 计算成对位点的连锁不平衡系数 (D' 法).
--geno-ld 计算成对位点的基因型相关性 (Pearson 法).
--window-bp,-bp LD 计算的变异位点对之间的最大物理碱基距离.
默认值: 10000
format: --window-bp <int> (>= 10)
--min-r2 排除 R^2 值小于 --min-r2 的记录.
默认值: 0.2
格式: --min-r2 <float> (0.0 ~ 1.0)
--maf 排除次级等位基因频率小于 --maf 的变异位点.
默认值: 0.05
格式: --maf <float> (1.0E-6 ~ 0.5)
--range,-r 计算指定区间内变异位点之间的 LD 系数.
格式: --range <chromosome>:<minPos>-<maxPos> (>= 1)
API 工具
对 GTB 文件进行 LD 计算的 API 工具是 edu.sysu.pmglab.gbc.linkagedisequilibrium.LDCalculator,两种 LD 计算方法实现在 edu.sysu.pmglab.gbc.linkagedisequilibrium.HaplotypeLD 和 edu.sysu.pmglab.gbc.linkagedisequilibrium.GenotypeLD 和 ,使用示例如下:
GTBReader reader = new GTBReader("https://pmglab.top/gbc/download/assoc.hg19.gtb");
Variant variant1 = reader.read();
Variant variant2 = reader.read();
IRecord record = variant1.calculateLD(variant2, GenotypeLD.INSTANCE);
reader.close();