从 VCF 构建 SDF 存档

SDFA为标准的二倍体物种提供了从 VCF (Variant Calling Format)文件到 SDF(Standardized Decomposition Format) 文件的转化,以实现 SV 数据的高效存储、SV 及其相关属性的快速访问、定位和VCF 文件的压缩等目的。

快速入门

在命令行中,使用如下指令为基因组 VCF 文件构建 SDF 存档:

java -jar sdfa.jar vcf2sdf [options]

当然上述命令行支持把VCF的GZ、BGZ压缩文件转为SDF文件,我们提供几个简单的例子:

  • 指定文件作为输入

[!NOTE|label:Example 1]

使用示例文件HG01258_HiFi_aligned_GRCh38_winnowmap.sniffles.vcf构建存档:

java -jar sdfa.jar vcf2sdf -f ./HG01258_HiFi_aligned_GRCh38_winnowmap.sniffles.vcf -o ./
  • 指定文件夹作为输入

[!NOTE|label:Example 2]

使用文件夹作为输入构建存档:

java -jar sdfa.jar vcf2sdf -d ./data -o ./
  • 指定输入数据的Calling类型

[!NOTE|label:Example 3]

不同于SNP的VCF文件,不同Calling工具的SV VCF格式存在差异(主要体现在INFO字段),并且这些差异会影响对SV 坐标位置的提取。因此我们实现了对13种主流的SV Calling工具的SV VCF提取:

CuteSV2、CuteSV、Debreak、Delly、NanoSV、Nanovar、Pbsv、Picky、Sniffles2、Sniffle、Svim、Svision、Ukbb

可以通过--calling-type或者-ct指定所选择的Calling工具类型。值得注意的是,默认情况下或者指定未知ct情况下会按照标准SV VCF4.3进行解析。

java -jar sdfa.jar vcf2sdf -ct cutesv -d ./data -o ./

API工具

将 VCF 文件转换为 SDF 文件的 API 工具是 SDSVManager,使用示例如下:

// 对某个文件夹下的所有VCF及其GZ、BGZ压缩文件进行转换
int thread = 4;
SDSVManager.of("inputDir")
  .setOutput("outputDir")
  .setCallingType("cuteSV")
  .run(thread);
Copyright ©彭文杰 all right reserved文档修订时间: 2025-05-14 06:40:08

results matching ""

    No results matching ""