[ PROMPT_NODE_26614 ]
geniml
[ SKILL_DOCUMENTATION ]
# Geniml: 基因组区间机器学习
## 概述
Geniml 是一个用于在基因组区间数据(BED 文件)上构建机器学习模型的 Python 包。它提供了无监督方法来学习基因组区域、单细胞和元数据的嵌入,从而实现相似性搜索、聚类和下游机器学习任务。
## 安装
使用 uv 安装 geniml:
bash
uv uv pip install geniml
安装机器学习依赖(PyTorch 等):
bash
uv uv pip install 'geniml[ml]'
从 GitHub 安装开发版本:
bash
uv uv pip install git+https://github.com/databio/geniml.git
## 核心能力
Geniml 提供了五种主要能力,每种能力都在专门的参考文件中详细说明:
### 1. Region2Vec: 基因组区域嵌入
使用 word2vec 风格的学习训练基因组区域的无监督嵌入。
**用途:** BED 文件的降维、区域相似性分析、下游机器学习的特征向量。
**工作流:**
1. 使用 universe 参考对 BED 文件进行分词
2. 在分词上训练 Region2Vec 模型
3. 生成区域嵌入
**参考:** 详见 `references/region2vec.md` 获取详细工作流、参数和示例。
### 2. BEDspace: 区域与元数据联合嵌入
使用 StarSpace 训练区域集和元数据标签的共享嵌入。
**用途:** 元数据感知搜索、跨模态查询(区域→标签或标签→区域)、基因组内容与实验条件的联合分析。
**工作流:**
1. 预处理区域和元数据
2. 训练 BEDspace 模型
3. 计算距离
4. 跨区域和标签进行查询
**参考:** 详见 `references/bedspace.md` 获取详细工作流、搜索类型和示例。
### 3. scEmbed: 单细胞染色质可及性嵌入
在单细胞 ATAC-seq 数据上训练 Region2Vec 模型以获取细胞级嵌入。
**用途:** scATAC-seq 聚类、细胞类型注释、单细胞降维、与 scanpy 工作流集成。
**工作流:**
1. 准备包含峰坐标的 AnnData
2. 对细胞进行预分词
3. 训练 scEmbed 模型
4. 生成细胞嵌入
5. 使用 scanpy 进行聚类和可视化
**参考:** 详见 `references/scembed.md` 获取详细工作流、参数和示例。
### 4. 共识峰 (Consensus Peaks): Universe 构建
使用多种统计方法从 BED 文件集合中构建参考峰集(universes)。
**用途:** 创建分词参考、标准化跨数据集的区域、定义共识峰