用途:geniml 面向基因组区间(BED 文件)的机器学习,提供无监督嵌入方法,用于区域、单细胞和元数据标签的相似性搜索、聚类与下游任务。
主要能力:Region2Vec 训练基因组区域嵌入;BEDspace 用 StarSpace 联合区域与元数据标签嵌入,支持跨模态查询;scEmbed 在 scATAC-seq 数据上训练细胞级嵌入,可与 scanpy 集成;build-universe 用 CC、CCF、ML、HMM 方法从 BED 集合构建共识峰参考;工具含 BBClient 缓存、BEDshift 随机化、嵌入评估与分词。
安装:uv pip install 'geniml[ml]'(含 torch/gensim);scEmbed 示例另需 uv pip install scanpy;build-universe 与硬分词依赖外部 uniwig、bedtools。开发版:uv pip install git+https://github.com/databio/geniml.git。
用法要点:子包 init 不重导出内部符号,需从具体模块导入,如 from geniml.tokenization.main import hard_tokenization_main、from geniml.region2vec.main_legacy import region2vec、from geniml.scembed.main import ScEmbed、from gtars.tokenizers import Tokenizer。CLI 示例:geniml region2vec --token-folder tokens/ --save-dir model/ --num-shuffle 1000 --embed-dim 100;geniml build-universe cc --coverage-folder coverage/ --output-file universe.bed --cutoff 5;geniml bedspace search -t r2l -d distances.pkl -n 10 query.bed(查询为位置参数)。
适用场景:批量区域集无监督嵌入、区域加元数据的跨模态检索、scATAC-seq 细胞聚类与注释、构建分词参考、缓存与零模型评估。
限制:纯区间运算应使用 gtars;scRNA-seq 流程用 scanpy,深度生成整合用 scvi-tools,覆盖度轨迹用 deeptools。BEDspace 需单独安装 StarSpace,其 CLI 标志拼写为 starsapce。分词 fraction 是重叠比例而非 p 值。ML/HMM 建 universe 计算密集,大数据需分批或降采样。文档见 https://docs.bedbase.org/geniml/,代码见 https://github.com/databio/geniml。