构建索引

GTB 索引用于标记每个染色体的坐标范围及指针范围,用于快速判断相应的 GTB/CCF 文件是否有序及定位请求数据所在的指针范围。使用以下指令为 GTB 文件构建索引:

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

索引文件在 GTB 的各个工具集中并不是强制要求的,因为 GTB 格式坐标读取的速度非常快(读取全基因组的坐标通常可以在 2 秒内完成)。但对于广泛的坐标类型数据库(非 VCF 格式)、坐标区间类型数据库(例如转录本信息),构建索引有助于快速判断该文件是否为“坐标有序”,以及与 GTB 文件形成统一的访问接口。具体而言,常规的 GTB 文件因为坐标在染色体水平是有序的,检索指定的坐标时只需要在确定的范围内搜索,而对于 CCF 格式的文件,索引能够帮助 GBC 程序快速找到搜索截断点。

GTB 索引的染色体标签遵从染色体声明规范,非人类基因组的 GTB 文件构建索引时需要指定相应的染色体声明文件。

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

为 1000GP3-EAS-chr4 构建索引:

# 下载文件
wget https://pmglab.top/gbc/download/1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb

# 在终端直接运行
java -jar gbc.jar index 1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb 

# 使用 docker 运行
docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \
index 1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb

终端输出如下信息:

2023-04-02 08:52:40 INFO  [main] GBC - Command Line Interface Succeeded to build index for 1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb
2023-04-02 08:52:40 INFO  [main] GBC - Command Line Interface Total Processing time: 0.837 s
##Source=1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb
##SourceFileSize=31.340 MB
##SourceLastModifiedTime=2023/04/01 03:17:15
#CHROM    POS    POINTER
chr4    [10006, 191043882]    [0, 5732585)

程序参数

语法: index <input> [options]
Java-API: edu.sysu.pmglab.gbc.GTBIndexer
关于: 为坐标有序的 GTB/CCF 文件构建染色体水平的索引.
参数:
  --output,-o            设置输出文件.
                         格式: --output <file>
  --chromosome           指定染色体标签文件.
                         格式: --chromosome <file>
  --threads,-t           设置并行线程数.
                         默认值: 4
                         格式: --threads <int>
  --coordinate-field,-c  设置识别为基因组坐标的字段 (Chromosome 和 Position).
                         默认值: CHROM,POS
                         格式: --coordinate-field <CHROM>,<POS>
  --position-type,-p     设置坐标类型.
                         默认值: 1_based
                         格式: --position-type <string> ([0_based/1_based] or [0/1])

API 工具

管理索引的 API 工具是 edu.sysu.pmglab.gbc.GTBIndexer 类,它提供判断文件是否包含指定的染色体、指定染色体的坐标范围、指定染色体的指针范围等方法。构建和加载索引文件的 API 工具是 edu.sysu.pmglab.gbc.GTBIndexer.Builder。如下示例构造 GTB 文件的索引:

GTBIndexer.Builder.of("/Users/suranyi/project/GBC/GBC-stable-1.0/docs/web-docs/1kg.phase3.v5.shapeit2.eas.hg19.chr4.gtb")
        .build();

对于 CCF 格式的数据库文件,使用 .setCoordinateFields 设置识别为基因组坐标的字段,使用 .mapRecordToVariant 将 CCF 记录映射到变异位点,以实现为更广泛的数据文件构建索引。

Copyright ©张柳彬 all right reserved文档修订时间: 2023-04-10 14:59:39

results matching ""

    No results matching ""