连接多个 GTB

连接即按行添加新的变异位点,通常这些位点之间的坐标不重叠。最常见的情形是将分散在不同文件(按照染色体、按照变异位点数量、文件大小储存)的同一批受试者的变异位点重新拼接回单独的文件(例如:将 1000GP3 中的 chr1~chr22, chrX, chrY 拼接为单独的文件)。使用以下指令对 GTB 文件进行连接:

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

多个文件进行拼接时,GBC 会检查每个子文件的第一个位点并进行排序,以确保拼接后的文件尽可能保持 “坐标有序”。

concatGTB

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

使用 GBC 将 GTBSplitter 产生的多个子文件进行连接:

# 在终端直接运行
java -jar gbc.jar concat ./rare.disease.hg19/chr5.gtb ./rare.disease.hg19/chr7.gtb ./rare.disease.hg19/chr8.gtb ./rare.disease.hg19/chr10.gtb ./rare.disease.hg19/chr17.gtb ./rare.disease.hg19/chr21.gtb -o ./rare.disease.hg19.concat.gtb

# 使用 docker 运行
docker run -v `pwd`:`pwd` -w `pwd` --rm -it -m 4g gbc \
concat ./rare.disease.hg19/chr5.gtb ./rare.disease.hg19/chr7.gtb ./rare.disease.hg19/chr8.gtb ./rare.disease.hg19/chr10.gtb ./rare.disease.hg19/chr17.gtb ./rare.disease.hg19/chr21.gtb -o ./rare.disease.hg19.concat.gtb

[!TIP|label:拼接一个文件夹下所有的 GTB 文件|style:callout]

在 Macos、Linux 的终端环境下运行时,可以使用以下语句列出 “DATA_PATH” 文件夹下的所有以 .gtb 为扩展名的文件并以空格连接。

$(find $DATA_PATH -type f -name '*.gtb' -exec echo {} \;)

例如,上述示例程序与以下程序相同:

# 在终端直接运行
java -jar gbc.jar concat $(find ./rare.disease.hg19 -type f -name '*.gtb' -exec echo {} \;) -o ./rare.disease.hg19.concat.gtb

程序参数

语法: concat <input> <input> ... -o <output> [options]
Java-API: edu.sysu.pmglab.gbc.toolkit.GTBConcat
关于: 连接多个 GTB 文件.
参数:
  *--output,-o  设置输出文件.
                格式: --output <file>
  --chromosome  指定染色体标签文件.
                格式: --chromosome <file>
  --threads,-t  设置并行线程数.
                默认值: 4
                格式: --threads <int>
  --field,-f    筛选连接到输出文件的字段. 所选择的字段必须在所有子文件中都存在.
                格式: --field <string>,<string>,...
  --subject,-s  指定连接到输出文件的受试者 (基因型). 受试者名称可以以逗号分隔的格式存储在文件中,并通过'-s @file'传入. 默认连接所有受试者的基因型. 当受试者在某个子文件中不存在时, 它的基因型被设置为 './.' ('.|.', 取决于向型).
                格式: --subject <string>,<string>,...
  --no-gt       不加载和储存基因型, 仅连接坐标和补充字段.
  --sort        按照坐标 (CHROM, POS) 排序变异位点.
  --add-meta    添加元信息到输出文件.
                格式: --add-meta <key>=<value> <key>=<value> ...
  --rm-meta     移除所有元信息.

API 工具

对 GTB 文件进行连接的 API 工具是 edu.sysu.pmglab.gbc.GTBConcat,使用示例如下:

GTBConcat.of(new File("./rare.disease.hg19"))
        .addManager("./rare.disease.hg19/chr5.gtb")
        .addManager("./rare.disease.hg19/chr7.gtb")
        .addManager("./rare.disease.hg19/chr8.gtb")
        .addManager("./rare.disease.hg19/chr10.gtb")
        .addManager("./rare.disease.hg19/chr17.gtb")
        .addManager("./rare.disease.hg19/chr19.gtb")
        .addManager("./rare.disease.hg19/chr21.gtb")
        .submit();
Copyright ©张柳彬 all right reserved文档修订时间: 2023-04-10 11:05:19

results matching ""

    No results matching ""