导出为 BED 格式
PLINK 无法并行地将 VCF 文件转换为 BED 文件,。在命令行中,使用如下指令将 GTB 文件导出为 BED 格式:
java -jar gbc.jar gtb2bed <input> [output] [options]
未设置 output
时,输出文件将自动按照输入文件的 <input>.gtb
生成 <input>.bed
、<input>.bim
、<input>.fam
文件。如果输入文件为远程站点文件,则输出文件保存在当前的本地工作路径下。
[!NOTE|label:示例程序|style:callout]
使用 GBC 将
https://pmglab.top/gbc/download/assoc.hg19.gtb
输出为 BED 格式:# 在终端直接运行 java -jar gbc.jar gtb2bed https://pmglab.top/gbc/download/assoc.hg19.gtb # 使用 docker 运行 docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \ gtb2bed https://pmglab.top/gbc/download/assoc.hg19.gtb
请注意,从 GTB 转换为 BED 文件与 PLINK 从 VCF 转换为 BED 文件的生成规则不一致:
- GTB 文件忠实地将 REF 设置为
.bim
文件的 A1,而不是根据 等位基因的频率进行设置。 - 对于多等位基因位点,PLINK 只保留等位基因频率最大的两种基因型,并分别设置为
A2
和A1
,GBC 则是将多等位基因位点分裂成多个二等位基因位点,再为每个二等位基因位点的 REF 设置为A1
,ALT 设置为A2
。
如果当前 GTB 文件是从 BED 文件构建的(使用 bed2gtb),它将使用 BED 文件的 A1
作为 REF
,A2
作为 ALT
,由此可以保证输出的 BED 格式与 PLINK 一致。
程序参数
语法: gtb2bed <input> [output] [options]
Java-API: edu.sysu.pmglab.gbc.toolkit.bed.BEDWriter
关于: 从 GTB 文件中解压和提取变异位点为 PLINK-BED 格式.
参数:
--chromosome 指定染色体标签文件.
格式: --chromosome <file>
--threads,-t 设置并行线程数.
默认值: 4
格式: --threads <int>
子集选择参数:
--subject,-s 提取指定受试者的基因型 (按受试者名称). 受试者名称可以以逗号分隔的格式存储在文件中,并通过'-s @file'传入.
格式: --subject <string>,<string>,...
--subject-range,-sr 提取指定受试者的基因型 (按受试者索引范围).
格式: --subject-range <minIndex>-<maxIndex> (>= 0)
--subject-index,-si 提取指定受试者的基因型 (按受试者索引).
格式: --subject-index <index1>,<index2>,... (>= 0)
--pos,-p 提取指定坐标的变异位点.
格式: --pos-index <chr>:<pos>,<pos>,... ... (>= 1)
--pos-range,-pr 提取指定坐标范围的变异位点.
格式: --pos-range <chr>:<minPos>-<maxPos>,... (>= 1)
--index-range,-ir 按照索引提取变异位点.
格式: --index-range <minIndex>-<maxIndex> (>= 0)
质量控制参数:
--allele-num 排除可变等位基因数不在 [minAlleNum, maxAlleNum] 范围的变异位点.
默认值: 0-15
格式: --allele-num <minAlleleNum>-<maxAlleleNum> (0 ~ 255)
--seq-ac 排除替代等位基因计数 (AC) 不在 [minAc, maxAc] 范围内的变异位点.
格式: --seq-ac <minAc>-<maxAc> (>= 0)
--seq-af 排除替代等位基因频率 (AF) 不在 [minAf, maxAf] 范围内的变异位点.
格式: --seq-af <minAf>-<maxAf> (0.0 ~ 1.0)
--seq-an 排除非缺失等位基因数 (AN) 不在 [minAn, maxAn] 范围内的变异位点.
默认值: 1-
格式: --seq-an <minAn>-<maxAn> (>= 0)
--field-condition 根据指定的补充字段的值提取变异位点. 对于数值字段, 'condition' 格式为 'minValue-maxValue'; 对于其他格式, 'condition'是由 ',' 分隔的多个可选值.
格式: --field-condition <field>=<condition> <field>=<condition> ...
API 工具
BED 的读写支持工具集位于程序包 edu.sysu.pmglab.gbc.toolkit.bed 下,由 BEDGenotypes 实现 BED 基因型与 GTB 基因型的相互映射。创建 BED 文件的工具类是 BEDWriter 和 BEDPartWriter,两个类都可以实现 BED 文件的创建。由于 GTB 文件支持将整个文件按照变异位点数量切割为均等的部份进行并行处理,我们为 BED 也实现了这个功能(即:BEDPartWriter)。
.fam
文件使用 BEDWriter.generateFam(Individual[] individuals, String fileName)
或 BEDWriter.generateFam(String[] individualNames, String fileName)
生成。