导出为 GTB 格式
在命令行中,使用如下指令进行 GTB 文件的编辑,并导出为 GTB 格式:
java -jar gbc.jar edit <input> [output] [options]
未设置 output
时,输出文件将覆盖原文件。如果输入文件为远程站点文件,则输出文件保存在当前的本地工作路径下。
[!NOTE|label:示例程序|style:callout]
使用 GBC 输出示例文件
https://pmglab.top/gbc/download/assoc.hg19.gtb
到本地,并设置以下参数:
- 等位基因频率在 [0.05, 0.95] 之间;
- 可变等位基因数 3;
- 将参考基因组的版本从 hg19 提升到 hg38,并储存原坐标信息;
- 排序位点,并储存原始指针。
完成该任务的命令行指令如下:
# 在终端直接运行 java -jar gbc.jar edit https://pmglab.top/gbc/download/assoc.hg19.gtb ./assoc.hg38.gtb \ --seq-af 0.05-0.95 --allele-num 3- \ --liftover hg19ToHg38 --liftover-field hg19_CHROM,hg19_POS \ --sort --pointer Origin_Pointer # 使用 docker 运行 docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \ edit https://pmglab.top/gbc/download/assoc.hg19.gtb ./assoc.hg38.gtb \ --seq-af 0.05-0.95 --allele-num 3- \ --liftover hg19ToHg38 --liftover-field hg19_CHROM,hg19_POS \ --sort --pointer Origin_Pointer
程序参数
语法: edit <input> [output] [options]
Java-API: edu.sysu.pmglab.gbc.toolkit.GTBExporter
关于: 从 GTB 文件中解压和提取变异位点为 GTB 格式.
参数:
--chromosome 指定染色体标签文件.
格式: --chromosome <file>
--threads,-t 设置并行线程数.
默认值: 4
格式: --threads <int>
子集选择参数:
--field,-f 从 GTB 文件中选择要输出到 GTB 文件中的字段 (默认导出所有字段).
格式: --field <string>,<string>,...
--no-gt 不加载基因型, 此参数下输出文件将不包含 AC, AN, AF 字段.
--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)
编辑受试者名称、字段名参数:
--rename-subject 重设 *.gtb 的受试者名称. 受试者名称对可以以逗号分隔的格式存储在文件中,并通过'-s @file'传入.
格式: --rename-subject <old>=<new>,<old>=<new>,...
--rename-subject-prefix 使用格式 `[prefix][number][suffix]` 重设受试者名称.
格式: --rename-subject-prefix <string>
--rename-subject-suffix 使用格式 `[prefix][number][suffix]` 重设受试者名称.
格式: --rename-subject-suffix <string>
--rename-subject-begin 使用格式 `[prefix][number][suffix]` 重设受试者名称.
格式: --rename-subject-begin <int>
--rename-field 直接为 *.gtb 文修改字段名称.
格式: --rename-field <old>=<new> ...
编辑元信息参数:
--add-meta 添加元信息到输出文件.
格式: --add-meta <key>=<value> <key>=<value> ...
--rm-meta 移除所有元信息.
--rm-duplicate-meta 移除所有重复的元信息 (重复条目仅保留一条).
版本转换、排序和位点标准化参数:
--liftover 对坐标进行版本转换. 转换文件从http://hgdownload.cse.ucsc.edu/goldenPath/<version>/liftOver 下载.
格式: --liftover <string> ([hg19ToHg38/hg38ToHg19/hg18ToHg19/hg18ToHg38] (忽略大小写))
--liftover-field 储存变异位点的原始坐标 (CHROM, POS), 该参数通常用于位点 liftover 后关联到原始位点.
格式: --liftover-field <CHROM>,<POS>
--pointer 储存变异位点的原始指针. 该参数通常用于位点 liftover 后关联到原始位点.
格式: --pointer <string>
--sort 按照坐标 (CHROM, POS) 排序变异位点.
--normalize,-n 标准化位点. 将多等位基因位点转为二等位基因位点, 并去除冗余的 REF 和 ALT 碱基.
质量控制参数:
--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 工具
编辑 GTB 文件的 API 工具是 edu.sysu.pmglab.gbc.GTBExporter,使用示例如下:
GTBExporter.of("https://pmglab.top/gbc/download/assoc.hg19.gtb")
.addVariantFilter(new GTBFilter().filterByAF(new Interval<>(0.05f, 0.95f)).filterByAlleleNum(new Interval<>(3, null)))
.submit();