从 VCF 文件构建 GTB 存档

GBC 为标准的单倍体或二倍体物种的 VCF 文件(参考:VCF 文件规范)构建 GTB 存档,以实现基因型数据的快速寻址和访问。由于基因型质量在下游分析中并不常用,默认情况下 GBC 并不保存基因型的质量信息,取而代之的,GBC 对变异位点和基因型进行质控,以确保储存的位点和基因型是质量可靠的。在命令行中,使用如下指令为基因组 VCF 文件构建 GTB 存档:

java -jar gbc.jar vcf2gtb <input> [output] [options]

文件构建完成后 GBC 将检查 GTB 文件是否依坐标有序,无序文件将调用 GTBSorter 进行排序。其他物种的 VCF 文件储存支持请参阅:染色体标签声明

[!NOTE|label:示例程序 I|style:callout]

使用 GBC 为示例文件 https://pmglab.top/gbc/download/assoc.hg19.vcf.gz 构建存档,并设置以下参数:

  • 基因型设置为 phased;
  • 压缩器压缩级别设置为 16;
  • 将参考基因组的版本从 hg19 提升到 hg38。

完成该任务的命令行指令如下:

# 下载数据文件
wget https://pmglab.top/gbc/download/assoc.hg19.vcf.gz -O assoc.hg19.vcf.gz

# 在终端直接运行
java -jar gbc.jar vcf2gtb ./assoc.hg19.vcf.gz ./assoc.hg38.gtb \
                          -p -l 16 --liftover hg19ToHg38

# 使用 docker 运行
docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \
vcf2gtb ./assoc.hg19.vcf.gz ./assoc.hg38.gtb \
        -p -l 16 --liftover hg19ToHg38

[!NOTE|label:示例程序 II|style:callout]

使用 GBC 为示例文件 https://pmglab.top/gbc/download/rare.disease.hg19.vcf.gz 构建存档,并保存所有的字段:

# 在终端直接运行
java -jar gbc.jar vcf2gtb https://pmglab.top/gbc/download/rare.disease.hg19.vcf.gz -f ALL

# 使用 docker 运行
docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \
vcf2gtb https://pmglab.top/gbc/download/rare.disease.hg19.vcf.gz -f ALL

[!TIP|label:为指定目录下的所有 VCF 文件构建 GTB 存档|style:callout]

在 Macos、Linux 的终端环境下运行时,可以使用以下语句为文件夹 $DATA_PATH 下的所有以 .vcf.gz 为扩展名的文件构建 GTB 存档。

DATA_PATH="/Data"
OUTPUT_PATH="/Data"

for file in ${DATA_PATH}/*.vcf.gz
do
    java -jar gbc.jar vcf2gtb ${file} ${OUTPUT_PATH}/$(basename "$file" .vcf.gz).gtb
done

程序参数

语法: vcf2gtb <input> [output] [options]
Java-API: edu.sysu.pmglab.gbc.VCF2GTB
关于: 为 VCF 文件压缩和构建 GTB 文件.
参数:
  --chromosome  指定染色体标签文件.
                格式: --chromosome <file>
  --threads,-t  设置并行线程数.
                默认值: 4
                格式: --threads <int>
  --level,-l    设置使用 ZSTD 压缩的级别.
                默认值: 16
                格式: --level <int> (0 ~ 22)
GTB 存档参数:
  --add-meta   添加元信息到输出文件.
               格式: --add-meta <key>=<value> <key>=<value> ...
  --phased,-p  设置基因型向型为 phased.
  --liftover   对坐标进行版本转换. 转换文件从http://hgdownload.cse.ucsc.edu/goldenPath/<version>/liftOver 下载. 
               格式: --liftover <string> ([hg19ToHg38/hg38ToHg19/hg18ToHg19/hg18ToHg38] (忽略大小写))
  --field,-f   添加 VCF 文件中需要储存到输出文件的字段.
               默认值: GENOTYPE
               格式: --field <string>,<string>,... ([META/ID/QUAL/FILTER/INFO/GENOTYPE/ALL/NONE] (忽略大小写))
质量控制参数:
  --no-qc           禁用所有质量控制功能.
  --allele-num      排除可变等位基因数不在 [minAlleNum, maxAlleNum] 范围的变异位点.
                    默认值: 0-15
                    格式: --allele-num <minAlleleNum>-<maxAlleleNum> (0 ~ 255) 
  --gty-gq          排除最小基因型质量 (Phred Quality Score) < minGq 的基因型.
                    默认值: 20
                    格式: --gty-gq <minGq> (>= 0)
  --gty-dp          排除最小基因型 reads 深度 (Phred Quality Score) < minDp 的基因型.
                    默认值: 8
                    格式: --gty-dp <minDp> (>= 0)
  --gty-pl          排除标准化后的次级基因型 Phred-scaled 似然比 < minPl 的基因型. 否则, 会出现混淆的基因型.
                    默认值: 20
                    格式: --gty-pl <minPl> (>= 0)
  --gty-ad-hom-ref  排除 reads 覆盖的替代等位基因比例 > maxAdHomRef 的参考等位基因纯合基因型 (reference-allele homozygous genotype).
                    默认值: 0.05
                    格式: --gty-ad-hom-ref <maxAdHomRef> (0.0 ~ 1.0)
  --gty-ad-hom-alt  排除 reads 覆盖的替代等位基因比例 < minAdHomAlt 的替代等位基因纯合基因型 (alternative-allele homozygous genotype).
                    默认值: 0.75
                    格式: --gty-ad-hom-alt <minAdHomAlt> (0.0 ~ 1.0)
  --gty-ad-het      排除 reads 覆盖的替代等位基因比例 < minAdHet 的杂和基因型.
                    默认值: 0.25
                    格式: --gty-ad-het <minAdHet> (0.0 ~ 1.0)
  --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)

API 工具

将 VCF 文件转换为 GTB 文件的 API 工具是 edu.sysu.pmglab.gbc.VCF2GTB,使用示例如下:

VCF2GTB.of("https://pmglab.top/gbc/download/assoc.hg19.vcf.gz")
        .setOutputFile(new File("./assoc.hg38.gtb"))
        .storeOriginMeta(true)
        .liftOverWith(RefGenomeVersion.hg19, RefGenomeVersion.hg38)
        .setThreads(4)
        .convert();
Copyright ©张柳彬 all right reserved文档修订时间: 2023-04-17 15:00:59

results matching ""

    No results matching ""