[ PROMPT_NODE_26616 ]
bedspace
[ SKILL_DOCUMENTATION ]
# BEDspace: 区域与元数据联合嵌入
## 概述
BEDspace 将 StarSpace 模型应用于基因组数据,支持在共享的低维空间中同时训练区域集及其元数据标签的数值嵌入。这允许在区域和元数据之间进行丰富的查询。
## 何时使用
在处理以下内容时使用 BEDspace:
- 具有关联元数据(细胞类型、组织、条件)的区域集
- 需要元数据感知相似性的搜索任务
- 跨模态查询(例如,“查找与标签 X 相似的区域”)
- 基因组内容与实验条件的联合分析
## 工作流
BEDspace 包含四个连续的操作:
### 1. 预处理
为 StarSpace 训练格式化基因组区间和元数据:
bash
geniml bedspace preprocess
--input /path/to/regions/
--metadata labels.csv
--universe universe.bed
--labels "cell_type,tissue"
--output preprocessed.txt
**所需文件:**
- **输入文件夹**:包含 BED 文件的目录
- **元数据 CSV**:必须包含与 BED 文件名匹配的 `file_name` 列,以及元数据列
- **Universe 文件**:用于分词的参考 BED 文件
- **标签**:要使用的元数据列的逗号分隔列表
预处理步骤会为元数据添加 `__label__` 前缀,并将区域转换为 StarSpace 兼容格式。
### 2. 训练
在预处理数据上执行 StarSpace 模型:
bash
geniml bedspace train
--path-to-starspace /path/to/starspace
--input preprocessed.txt
--output model/
--dim 100
--epochs 50
--lr 0.05
**关键训练参数:**
- `--dim`:嵌入维度(典型值:50-200)
- `--epochs`:训练轮数(典型值:20-100)
- `--lr`:学习率(典型值:0.01-0.1)
### 3. 距离计算
计算区域集和元数据标签之间的距离指标:
bash
geniml bedspace distances
--input model/
--metadata labels.csv
--universe universe.bed
--output distances.pkl
此步骤创建相似性搜索所需的距离矩阵。
### 4. 搜索
在三种场景下检索相似项:
**区域到标签 (r2l)**:查询区域集 → 检索相似的元数据标签
bash
geniml bedspace search -t r2l -d distances.pkl -q query_regions.bed -n 10
**标签到区域 (l2r)**:查询元数据标签 → 检索相似的区域集
bash
geniml bedspace search -t l2r -d distances.pkl -q "T_cell" -n 10
**区域到区域 (r2r)**:查询区域集 → 检索相似的区域集