“是‘能量最低’原理。”调代码的小伙子摘下耳机,转身对她说道,“但是初测值的实验方式不同,这两种算法压根儿不能通用。”
“谁说的?第一对氢键赋值根本不影响。你先试试吧。”祁旻对他说道。
小伙子将信将疑地加上了一段儿if,从另外一个单纯使用能量最低原理的算法里复制出了相关代码。
他再运行之后,输出的矩阵里果然不全是负数了。
但很明显结果也不对。
负数还是太多了,导致最大值才只有不到4,而很明显用于测试的那段30个碱基的线性rna不可能只形成一个碱基配对。
“这又是怎么回事儿?”小伙子这回直接对她问道。
祁旻凑到屏幕前仔细看了看,而后一边敲着键盘一边说道:“你这个对比最大值的嵌套for语句里没有加flag,只要加上就好了……”
代码再运行了一遍,这回输出的矩阵终于看起来正常了。
小伙子松了口气儿,刚要从椅子上站起来,祁旻却说道:“哎,这还是不对。你看这段rna的已知结构,这里面有三个loop,但你的算法算出来有四个……哦,我知道了,还得加一个防止无效配对的if,连续两个碱基以下的配对不应该存在。”
她把这个if语句加进去之后,最终画出的rna二级结构终于和已知结构一样了。
“呃……你还真……”小伙子看着屏幕上的图像,不自觉地露出了一丝傻笑。
而后他看了一眼祁旻,有些奇怪地问道:“你是新来的?我记得今年我们这儿不招博士生了——你是技术员?”
“没,我就是来找周晓姗老师有点儿事儿。”祁旻笑着说道。
“什么事儿?”小伙子问道,而后像是意识到这个问题有点儿侵犯别人隐私,于是补充道,“或许我也能帮你一下儿。”
“还真没准儿。”祁旻从他的屏幕面前移开,“我来找周晓姗老师是为了能用一下儿‘雨云’。”
“哦,那好说啊。”小伙子立刻答应道,“如果我老板不同意,你还能用我的号。”
“这样还是不太好吧……”祁旻有些尴尬地笑了笑。跑类脑体占用的计算资源可是非常多的,如果是偷偷用某个博士生的号,肯定会引起管理员的怀疑。
“那有什么的?”小伙子无所谓地说,“‘雨云’的计算能力这么强,一般的项目根本不是事儿。老板就是想弄点儿大项目,测试一下儿它的实际计算能力,才召了我们这些个做生物的人来到处接活儿。说实话,我在来这儿之前都没怎么学过python。”
看得出来。祁旻在心里默默地评价了一句,而后又开玩笑地问:“那要是周晓姗老师把我拒了,我可就真来借你的号了?”
“行,当然行。”小伙子立刻说道,“来加个微信,到时候这个rna算法出bug了,我还得再找你呢。”