使用SeSAMe R包分析小鼠DNA甲基化时出现“Ambiguous platform”错误的原因
SeSAMe分析小鼠甲基化芯片时平台推断歧义的解决方法
问题背景
使用SeSAMe处理Illumina Infinium Mouse Methylation Array(MM285平台)数据时,执行inferSpecies()函数触发以下报错:
Error in inferPlatformFromProbeIDs(sdf$Probe_ID, silent = !verbose) : Ambiguous platform. Please provide platform explicitly.
IDAT文件由SciLifeLab提供,未修改,且已通过minfi验证文件无异常。已尝试:
- 在
openSesame()中显式指定platform = "MM285"生成sigDF - 用
updateSigDF()指定species="mus_musculus"
以上操作均未解决问题。
解决方案
1. 直接给inferSpecies()传入平台参数
inferSpecies()内部会独立调用inferPlatformFromProbeIDs()推断平台,不受openSesame()中指定的平台影响。需在调用时显式声明平台:
inferSpecies(sdfs, return.species = TRUE, platform = "MM285")
2. 确认MM285平台注释数据已安装
SeSAMe依赖SesameData包提供的芯片注释,若缺少MM285的注释,会导致平台推断失败。检查并安装对应数据:
# 列出已安装的注释数据 SesameData::listData() # 若未找到MM285相关条目,执行安装 SesameData::installData("MM285")
安装完成后重新生成sigDF并运行inferSpecies()。
3. 手动绑定物种注释(绕过平台推断)
如果前两种方法无效,可直接跳过inferSpecies(),手动加载MM285的小鼠注释并合并到sigDF:
# 加载MM285对应mm10参考基因组的注释 mm285_manifest <- SesameData::getManifest("MM285.mm10") # 合并注释到sigDF sdf_with_annot <- merge(sdfs, mm285_manifest, by = "Probe_ID", all.x = TRUE)
内容的提问来源于stack exchange,提问作者Klara
相关产品推荐
相关产品推荐

