导出为 VCF 格式
在命令行中,使用如下指令将 GTB 文件导出为 VCF 格式:
java -jar gbc.jar gtb2vcf <input> [output] [options]
- 未设置
output
时,将使用标准输出导出到终端。 output
以.gz
或.bgz
结尾 (作为扩展名) 时,输出文件使用 bgzip 进行压缩,其他情况则输出为文本格式。
[!NOTE|label:示例程序|style:callout]
使用 GBC 输出示例文件
https://pmglab.top/gbc/download/assoc.hg19.gtb
到本地,并设置以下参数:
- 等位基因频率在 [0.05, 0.95] 之间;
- 可变等位基因数 3。
完成该任务的命令行指令如下:
# 在终端直接运行 java -jar gbc.jar gtb2vcf https://pmglab.top/gbc/download/assoc.hg19.gtb ./assoc.hg19.vcf.gz \ --seq-af 0.05-0.95 --allele-num 3- # 使用 docker 运行 docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \ gtb2vcf https://pmglab.top/gbc/download/assoc.hg19.gtb ./assoc.hg19.vcf.gz \ --seq-af 0.05-0.95 --allele-num 3-
程序参数
语法: gtb2vcf <input> [output] [options]
Java-API: edu.sysu.pmglab.gbc.toolkit.VCFExporter
关于: 从 GTB 文件中解压和提取变异位点为 VCF 或 VCF.GZ 格式.
参数:
--chromosome 指定染色体标签文件.
格式: --chromosome <file>
--threads,-t 设置并行线程数.
默认值: 4
格式: --threads <int>
子集选择参数:
--field,-f 从 GTB 文件中选择要输出到 VCF 文件中的字段.
默认值: META,GENOTYPE
格式: --field <string>,<string>,...
([META/ID/QUAL/FILTER/INFO/GENOTYPE/ALL/NONE]
(忽略大小写))
--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>
编辑元信息参数:
--add-meta 添加元信息到输出文件.
格式: --add-meta <key>=<value> <key>=<value> ...
--auto-meta 根据指定的参考基因组版本自动添加染色体标签元信息 (contig). 染色体标签在许多的生物信息学软件中都是必要的字段 (例如 BCFTools).
格式: --auto-meta <string> ([hg18/hg19/hg38])
--rm-meta 移除所有元信息.
--rm-duplicate-meta 移除所有重复的元信息 (重复条目仅保留一条).
质量控制参数:
--allele-num 排除可变等位基因数不在 [minAlleNum, maxAlleNum] 范围的变异位点.
默认值: 0-15
格式: --allele-num <minAlleleNum>-<maxAlleleNum> (0 ~ 255)
--seq-qual 排除最低总体测序质量分数 (Phred Quality Score) < minQual 的变异位点.
默认值: 30.0
格式: --seq-qual <minQual> (>= 0.0)
--seq-fs 排除整体链偏差 Phred-scaled p-value (使用 Fisher 精确检验) > maxFs 的变异位点.
格式: --seq-fs <maxFs> (>= 0.0)
--seq-mq 排除最小总体映射质量评分 (Mapping Quality Score) < minMq 的变异位点.
默认值: 20.0
格式: --seq-mq <minMq> (>= 0.0)
--seq-info 排除 INFO 中包含/不包含 (以 ^ 开头) 指定字符串的变异位点.
格式: --seq-info <string> <string> ...
--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 文件转换为 VCF 文件的 API 工具是 edu.sysu.pmglab.gbc.VCFExporter,使用示例如下:
VCFExporter.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();