用途:Geniml 是连接基因组区间生物学与机器学习的 Python 库,面向希望将现代 ML 方法用于染色质可及性、组蛋白修饰等基于区域数据的科研人员。
主要能力:region2vec 从一组 BED 文件学习基因组区域的稠密向量表示;BEDSpace 在嵌入空间做近似最近邻检索;提供 ML 就绪的基因组区间数据集类(PyTorch 兼容);提供嵌入质量评估工具。核心模块包括 RegionSet(区间 I/O)、UniverseBuilder(构建共识区域词表)、Region2VecExModel(训练/编码)、BEDSpace(索引与查询)、TokenizedBEDDataset 与 RegionEmbeddingDataset(数据集)、EmbeddingEvaluator(评估)。
使用方式:安装 pip install geniml torch numpy pandas anndata,需 Python 3.8+,BED 文件至少含 chr、start、end 三列,GPU 可选。典型流程为:用 RegionSet 加载 BED,用 UniverseBuilder 构建 universe 并 to_bed 保存,用 Region2VecExModel 训练并 save,再用 BEDSpace 建索引与 query 检索相似样本;也可加载预训练模型(如 databio/r2v-ChIP-atlas-hg38-v2)直接编码。
适用场景:区域嵌入学习、峰或修饰位点聚类、相似样本检索、构建分类训练集、嵌入质量比较、将区域表示接入自定义神经网络。
限制:仅做基础 BED 解析与集合操作时可改用 gtars 或 pysam-genomic-files;训练需足够样本(建议 ≥20 个 BED 文件);universe 与训练数据坐标系统需一致,否则嵌入可能无效;大 universe 与多文件训练较慢,可提高 fraction 阈值或使用 GPU;显存不足需减小 batch_size。具体收费、平台与效果资料暂未提供。