genoray 是一个以 NumPy 为优先的基因型/剂量范围查询库,统一覆盖 VCF/BCF(cyvcf2)、PLINK 2 PGEN(pgenlib)以及稀疏 memmap 格式 SparseVar(.svar)。公开入口仅暴露 PGEN、VCF、Reference、Filter、SparseVar、SparseVar2、InfoField、FormatField、DosageField、Tuning、exprs、cosmic_signatures、fit_signatures、Forward、Spa 等名称,其余以下划线开头的模块属内部实现。
用途与主要能力:从 VCF/PGEN/SVAR 读基因型与剂量,按 0 基半开区间 [start, end) 做单区间或分块(chunk)读取;缺失基因型记为 -1,缺失剂量记为 np.nan,默认二倍体。VCF 支持 phasing、dosage_field 和 Filter(record 谓词加 .gvi 索引表达式);PGEN 支持 read_ranges、chunk_ranges 和多模式输出,首次构造会在旁边生成 .gvi 索引,不应删除。SparseVar2 可从 VCF、PGEN、多个单样本 VCF 或 SVAR1 转换,支持 regions/samples 子集、突变签名 SBS96/DBS78/ID83、标量 INFO/FORMAT 字段提取等。Reference 读取索引 FAST-A。
使用方式:通过 genoray.VCF、genoray.PGEN、genoray.SparseVar 等类构造读取器,用 read、chunk、read_ranges 等取得 NumPy 数组;模式常量是类属性(如 genoray.VCF.Genos8),不属于顶层名称。SparseVar/SparseVar2 以每次调用的 samples= 参数选样本,VCF/PGEN 则用 set_samples 改变读取器状态。命令行入口为 genoray CLI,含 index、write vcf/pgen/svar1、view、concat、split 等子命令。环境变量不再用于配置,改用 Tuning 冻结数据类显式传入。
限制:VCF 没有 read_ranges;PGEN 的 from_pgen 转换仅支持二倍体;SVAR1 迁移仅支持双等位;from_vcf_list 不支持 samples=,其 cohort 由文件集合决定。其余文档未提供内容暂未提供。