geniml
当处理基因组区间数据(BED 文件)并用于机器学习任务时,应使用此技能。用于训练区域嵌入(Region2Vec、BEDspace)、单细胞 ATAC-seq 分析(scEmbed)、构建共识峰(universes),或任何基于机器学习的基因组区域分析。适用于 BED 文件集合、scATAC-seq 数据、染色质可及性数据集,以及基于区域的基因组特征学习。
geniml:基因组间隔数据的机器学习分析工具
技能概述
geniml 是一个专用于基因组间隔数据(BED 文件)机器学习的 Python 包,提供 Region2Vec、BEDspace、scEmbed 等无监督嵌入学习方法,支持基因组区域相似性分析、单细胞 ATAC-seq 聚类和共识峰值构建。
适用场景
-
单细胞 ATAC-seq 数据分析 适用于单细胞染色质可及性测序数据的降维和聚类分析,可通过 scEmbed 训练细胞级别的嵌入,与 scanpy 工作流程无缝集成,实现细胞类型注释和可视化。
-
大规模 BED 文件的机器学习 适用于 ChIP-seq、ATAC-seq 等批量基因组数据的无监督嵌入训练,通过 Region2Vec 将基因组区域转换为特征向量,支持区域相似性搜索、跨实验比较和下游监督学习任务。
-
共识峰值集构建与标准化 适用于从多个 BED 文件集合中构建参考峰值集(universes),提供 CC、CCF、ML、HMM 等多种统计方法,可用于定义标准化区域、创建 tokenization 参考和数据集整合。
核心功能
-
Region2Vec:基因组区域嵌入训练 基于 word2vec 风格的无监督学习方法,将基因组区域训练为低维嵌入向量。支持从 BED 文件集合中学习区域表示,用于维度降低、相似性分析和构建下游机器学习任务的特征。可通过 universe 参考 tokenization,自定义嵌入维度和训练参数。
-
BEDspace:区域和元数据联合嵌入 使用 StarSpace 算法训练区域集和元数据标签的共享嵌入空间,支持跨模态查询(如通过区域查询标签或通过标签查询区域)。适用于有元数据标签的场景(如细胞类型、组织、实验条件),可实现元数据感知的搜索和联合分析。
-
scEmbed:单细胞染色质可及性嵌入 专为单细胞 ATAC-seq 数据设计的 Region2Vec 训练方法,可生成细胞级别的嵌入向量。支持预 tokenization 加速训练,嵌入结果可直接存入 AnnData 的 obsm 字段,结合 scanpy 进行聚类、UMAP 降维和细胞类型注释。
常见问题
geniml 支持哪些输入数据格式?
geniml 主要支持 BED 格式的基因组间隔数据文件,这是基因组学中表示区域坐标的标准格式。对于单细胞 ATAC-seq,支持通过 AnnData 对象(.h5ad 文件)输入,要求包含峰值坐标信息。工具还支持通过命令行或 Python API 处理 BED 文件集合和 coverage 数据。
如何选择 Region2Vec、BEDspace 还是 scEmbed?
选择取决于你的数据类型和分析目标:如果是单细胞 ATAC-seq 数据且需要细胞级别分析,选择 scEmbed;如果有元数据标签(如细胞类型、实验条件)并需要跨模态查询,选择 BEDspace;如果是批量基因组数据(ChIP-seq、ATAC-seq)且只需要区域级别嵌入,选择 Region2Vec。三种方法可以独立使用,也可以组合应用。
geniml 对计算资源有什么要求?
geniml 的资源需求取决于数据规模和选择的算法。基础的 tokenization 和 CC 共识峰值方法计算需求较低;Region2Vec 和 scEmbed 训练需要机器学习依赖(PyTorch),建议使用 GPU 加速;BEDspace 需要安装 StarSpace;ML 和 HMM 共识峰值方法计算密集,适合较小数据集或高性能计算环境。对于大规模单细胞数据,建议使用预 tokenization 和批处理来管理内存使用。