Geniml 基因组区间机器学习
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/geniml。
技能介绍
要解决什么问题
ChIP-seq、ATAC-seq 和 scATAC-seq 常以 BED 或峰集合形式描述基因组区间,但区间之间缺乏统一的向量表示,难以做相似性检索、跨实验对比,或在有细胞类型、组织等元数据时做「区域↔标签」联合查询。手工挑峰、逐文件比对既慢,也难保证统计上可比的参考坐标系。
技能如何工作
Geniml 是面向 BED 区间数据的 Python 包,围绕「分词 → 嵌入 → 下游任务」组织五条能力线:
- Region2Vec:用 word2vec 风格训练区域无监督嵌入,适合批量 ChIP/ATAC 降维与监督学习的特征构造。
- BEDspace:基于 StarSpace 联合区域与元数据标签的共享嵌入,支持按标签搜区域或反向查询。
- scEmbed:在单细胞 ATAC 上扩展 Region2Vec,产出细胞级嵌入,可与 scanpy 聚类、注释流程衔接。
- 共识峰(Universe):从多份 BED 合并构建参考峰集,提供 CC/CCF/ML/HMM 等统计方法,为分词与跨数据集对齐提供基准。
- 工具集:如
BBClient缓存远程 BED、BEDshift做保留上下文的随机化、嵌入质量评估与Text2BedNN神经检索等。
典型路径包括:用 universe 对 BED 分词后训练 Region2Vec;或准备带峰坐标的 AnnData,预分词细胞后训练 scEmbed,再写入 adata.obsm 做可视化与聚类。
适用边界与注意点
- Universe 质量直接决定分词覆盖度;训练前宜检查覆盖(资料建议理想 >80%),并与基因组组装一致。
- BEDspace 依赖单独安装的 StarSpace;未配置
--path-to-starspace会报错。 - ML/HMM 类 universe 与大规模 scEmbed 对内存与算力敏感,大样本需批处理、预分词或降采样。
- 包属 BEDbase 生态,可与 BEDboss、远程 BED 仓库及 Hugging Face 上的预训练模型配合,但复杂多步管线仍需自行记录参数与随机种子以保证可复现。
使用场景
- 多组 ChIP-seq 或 bulk ATAC-seq 的 BED 峰文件需要无监督嵌入,用于跨实验区域相似性比较或下游监督学习特征。
- 单细胞 ATAC 已整理为带峰坐标的 AnnData,需训练细胞级嵌入并接入 scanpy 做聚类与细胞类型注释。
- 多份实验 BED 要合并为共识参考峰集(universe),再用于分词与 Region2Vec 训练前的覆盖度校验。
- 峰集合附带细胞类型、组织或处理条件等元数据,需要按标签检索区域或从标签反查对应基因组区间。
适合人员
- 负责 bulk 表观遗传测序峰集处理,要把 BED 区间向量化并做跨条件比对的分析生物信息学研究员。
- 在单细胞染色质可及性项目中用 AnnData/scanpy,希望把峰级模型输出写进 obsm 做可视化的博士生或博士后。
- 维护 BEDbase 或远程 BED 仓库,需要重复访问同一峰文件并做保留基因组上下文的随机化对照的生信流水线工程师。
- 要为实验室或平台搭建可检索的基因组区域库,并联合实验元数据做跨模态查询的生信平台开发成员。