用途:将参考 AnnData 中的细胞类型标签迁移到查询 AnnData,适用于跨模态(如 RNA 到 ATAC)场景,前提是二者拥有共享的嵌入表示。
主要能力:在共享嵌入上用 ov.utils.weighted_knn_trainer 在参考集上训练加权 KNN 模型,再用 ov.utils.weighted_knn_transfer 为查询集预测标签并输出不确定度;结果可写回查询对象的 .obs,并可通过 embedding 在已有 basis 上做快速可视化验证,mde 为可选的 pymde 依赖可视化分支。
必要用法:先确认 query 与 reference 在 .obsm 中暴露同名嵌入 basis,或回退到 X;确认参考对象的 .obs 含目标标签列。核心流程示例: knn = ov.utils.weighted_knn_trainer(train_adata=rna, train_adata_emb="X_glue", n_neighbors=15) labels, uncert = ov.utils.weighted_knn_transfer(query_adata=atac, query_adata_emb="X_glue", ref_adata_obs=rna.obs, label_keys="major_celltype", knn_model=knn, mode="package") atac.obs["transf_celltype"] = labels.loc[atac.obs.index, "major_celltype"] atac.obs["transf_celltype_unc"] = uncert.loc[atac.obs.index, "major_celltype"]
限制:迁移须用 mode='package',mode='paper' 在当前源码中会抛错;pred_unknown 默认 False,仅需阈值化 Unknown 标签时设为 True;ref_adata_obs[label_keys] 的列名需以 label_keys 为前缀,只取一列时应保证前缀唯一;labels 与 uncert 均为以 query_adata.obs_names 为索引的 DataFrame;若调用 mde 需先确认已安装 pymde,否则改用 X_glue 等已有 basis。其余细节如收费、平台、具体效果暂未提供。