请关闭浏览器的阅读/畅读/小说模式并且关闭广告屏蔽过滤功能,避免出现内容无法显示或者段落错乱。
还没等林晓开口,就微皱眉头地说道。
“你可总算是回来了。”
“好像有点不太对。”
“和你之前说的对不上啊。”
林晓把外套脱了搭在椅背上,俯身看他的屏幕:“哪里对不上?”
刘仁华把窗口切换到一张结果图。
那是一组按染色体位置排列的标记效应分布曲线,横轴是物理位置,纵轴是估计的效应值。
图上大部分区域的曲线走势平稳,但有几段出现了明显的锯齿状波动,幅度不大,但形态不像是真实信号,更像是计算过程中产生的伪影。
刘仁华很快指着其中一段说:“我按你给的流程跑完了偏移量估计,窗口大小用的是自动扫描出来的结果,模型用的是混合模型。”
“但出来的权重向量在回代到基因型矩阵的时候,这几段出现了异常波动。”
“我检查了输入数据,没有问题。我又换了一个固定窗口大小重跑了一遍,波动还在。”
“所以不是窗口大小的问题。”
林晓看着那张图,在心里快速过了一遍流程。
他给刘仁华的任务是对三个生态区,西南、黄淮海、东北的玉米基因型数据进行区域标记效应的偏移量估计。
然后把偏移量作为权重向量,反向校正回原始的基因型矩阵。
这个任务本身其实并不复杂。
核心逻辑是先用滑动窗口逐段估计每个区域在各染色体区段上的效应偏移。
再把偏移量归一化后加权回原始数据。
刘仁华之前完成过跨批次校正的工作。
说起来,那个任务的复杂度比这个高不少。
按理来说,不应该卡住啊!
“你回代的时候用的是哪个矩阵?”林晓问。
“原始基因型矩阵,没有动过。”
“权重向量归一化了吗?”
“归一化了。用的L2范数,和你说明里的参数一致。”
林晓沉默了一下。
他把刘仁华那张结果图放大,逐段看了一遍。
几段异常波动的位置集中在几条染色体的着丝粒附近。
这个位置有一个特点。
标记密度低,重复序列多,基因型数据在这个区域的可靠性本身就比较差。
于是他问了一句:“你在估计偏移量的时候,对这些低密度区域的标记做了过滤吗?”
刘仁华不假思索:“没有啊。”
“你说按窗口逐段估计。”
“我就把窗口内所有标记都放进去了。”
林晓点了点头。
看来问题可能就在这里了。
低密度区域的标记本身噪声大,如果直接纳入偏移量估计,这部分噪声会被放大。
然后在回代的时候沿着权重向量扩散到附近的正常区域,形成那种锯齿状的伪影。
他之前自己在跑类似数据的时候。
会默认在偏移量估计前加一步标记可靠性过滤。
但这个步骤他没有在任务说明里写出来。
因为对他来说这已经成了一种习惯性操作,不需要专门标注。
哪知道刘仁华这么大的人了,居然还会犯这种错误。
这不是很显然易见的吗?
林晓忍不住想到。
好家伙。
这就出去一天,就给他出问题。
他还想多省点力气呢。
结果倒好。
不是在操心,就是在去操心的路上。