启动 GBC

GBC 现整合到 KGGA 工具包下,GBC 整体上更专注于基因型数据的处理(包括内存编码、存储编码、计算编码,以提升特定环节下的处理性能)和高效的坐标查找算法设计。使用以下指令进入 GBC 的命令行工具:

java -jar kgga.jar gbc

所有指令都可以通过传入 --help 呼出命令行文档。

GBC 的核心指令是 convert, 提供了常用基因组分析文件格式之间的==并行==相互转换、筛选、过滤、 LiftOver 、 Biallelic 、质控、排序、串联等功能。

格式转换

语法:java -jar kgga.jar gbc convert <source>2<target> [options]

例如: vcf2gtb, plink2gtb, gtb2vcf

PLINK-PGEN 需要额外的扩展支持 (参考下文).

从 VCF 文件输入, 获得 GTB 文件

示例:

java -jar kgga.jar gbc convert vcf2gtb ~/ukb24310_c1_b6089_v1.vcf.gz \
                               --field \
                               --prune \
                               --seq-an 1~ --seq-af 0.000001~0.999999 \
                               -o /Users/suranyi/ukb24310_c1_b6089_v1.3.gtb

此时将执行 VCF 到 GTB 文件的转换,该步骤包含默认的质控:GQ >= 20, DP >= 8, MQ >= 40, PL >= 20, LPL >= 20, FT == PASS, AD_HOM_REF <= 0.05, AD_HOM_ALT >= 0.75, AD_HET >= 0.25 等。--field 后没有跟随任何参数,表示移除 VCF 文件中的 INFO、FILTER 等字段;--prune 表示修剪位点 AC=0 的 ALT 突变。

使用 --disable-qc 禁用质控, 有关质控参数的说明和设置, 使用 java -jar kgga.jar gbc convert -h 查看文档说明

示例:

java -Djava.library.path=$(pip3 show jep | grep Location | awk '{print $2"/jep"}') \
     -jar kgga.jar gbc convert vcf2plink ./ukb24310_c1_b6089_v1.vcf.gz \
                               -o ./ukb24310_c1_b6089_v1 \
                               --output-type pgen

多个文件输入,产生单独的文件

java -jar kgga.jar gbc convert vcf2gtb 1kg.phase3.v5.shapeit2.amr.hg19.chr*.vcf.gz -o ~/tmp/AMR.hg38.gtb --liftover hg19ToHg38

解压、访问、筛选个体或特定位点的基因型

在上述语法基础上, 使用 --individual <string>,<string>,..., --pos [expression] , --index-range <min>~<max>, --allele-num <min>~<max>, --seq-ac <minAc>~<maxAc>, --seq-af <minAf>~<maxAf> 表示进行子集提取.

示例:

java -Djava.library.path=$(pip3 show jep | grep Location | awk '{print $2"/jep"}') \
     -jar kgga.jar gbc convert plink2vcf ./ukb24310_c1_b6089_v1 \
                               --input-type pgen \
                               --individual 1718672,2380098,5176706,4729017,1930596 \
                               --seq-an 1~ \
                               -o ./ukb24310_c1_b6089_v1.s5.vcf.gz

其他命令行功能

  • 队列合并: java -jar kgga.jar gbc merge <file1> <file2> -o <output>
  • 多文件纵向合并 (常用于合并不同染色体文件): java -jar kgga.jar gbc concat <input> <input> ... --output <output>
  • LD 计算: java -jar kgga.jar gbc ld
  • 图形界面显示: java -jar kgga.jar gbc gui
  • 制作数据库文件: java -jar kgga.jar gbc make-database

基因组注释、分析功能目前集成在 KGGA 中 (http://pmglab.top/kgga).

在终端中执行:

pip install jep zstandard pgenlib bgen_reader

启动时使用以下指令:

java -Djava.library.path="$(pip3 show jep | grep Location | awk "{print \$2\"/jep\"}")" -jar 

# 该指令等效于: java -Djava.library.path=/opt/homebrew/lib/python3.13/site-packages/jep -jar

对于 Windows 用户或使用非标准安装路径的用户,可以通过运行以下命令获取 'jep' 的父目录路径:

pip3 show jep

然后,将 /jep 附加到输出结果中的 Location 路径后,即可获得正确的 <jep目录路径> 值,用于 -Djava.library.path 参数。


备注

  • 4.x 版本的 CCF 架构进行了更松散的行列分块架构设计,以及更细粒度的并行化以提升性能(尤其是内存开销,目前我们能够在 1GB/线程下实施 UK Biobank 全基因组基因型的编码、过滤),其文件格式与 3.x 版本不兼容。
  • 目前 KGGA 和 CCF 的开发专注于提升系统化工程的性能(以 Java-API 开发为主),命令行功能仅作为扩展功能提供,可能存在实践易用性不足的问题,这部分内容预计在下一个小版本(ccf-4.6)中进行解决。
  • 文件合并功能目前仅实现了简单的功能,通过校验坐标、REF 一致和标准碱基(其等位基因由ATCG 四种碱基组成)进行合并。后续会进一步优化合并性能,多等位基因位点拆分合并重组,按坐标取交集、并集、补集、左对齐等合并模式。
Copyright ©MiaoXin Li all right reservedLast modified time: 2025-06-04 00:10:21

results matching ""

    No results matching ""