会场一下子骚乱起来,在座的人们反应迥异,有的点头称赞、有的若有所思、有的一脸茫然。
王海滨被授意走到主持人身边讲解。
“各位仁兄,你们知道接口是什么吗?
广义上讲,接口指实体把自己提供给外界的一种抽象物,这一抽象物可以是另一个实体,使其能被修改内部,而不影响外界其他实体与其交互的方式。这个定义十分拗口,我来举个形象的例子。”
他指了指身后的大屏幕,“这个大显示器,能够接收电脑主机输出的视频信号,并放映出来。它和电脑之间用一根视频线相连,接上这跟视频线,它就显示这一台电脑里的内容,接上另外一根视频线,它就显示另外一台电脑里的内容。它本身并没有被电脑输出的视频信号所改变。”
说完他一把扯下屏幕背后的HDMI线,拿在手中,“这就是接口,是显示器和电脑沟通的桥梁,当它插在电脑主机上时,能够显示出画面;拔下时,画面消失,变为黑屏。但电脑始终正常运作。
它只影响显示器(内部),不影响电脑(外部),是一个标准的接口。”
线被插回原位,王海滨继续介绍:
“狭义上讲,接口是面向对象编程提供的多重抽象化。通俗来说,接口就是规定要程序做什么,但不在其中定义实现。它只约定了一个协议,规定当传入何种参数时,就获得何种结果,不在乎你是如何实现的。”
他指了指屏幕上的基因模型上的那段未知序列,“比如这种结构它就很像是一个接口,宿主基因通过它接入外源基因,它本身不具备任何功能,但接入的外源基因却不知为何直接被完整表达。
各位仁兄都知道我的观点,生命活动是正在运行的程序,中心法则是编译器,基因是它们的源码。
也许这些美丽的程序正是用类似于JAVA这种既高级又严谨的语言书写的,为了防止意外,不允许多重继承。所以如果要实现多个类的功能,只能通过接口。
当然这是后话了,有关面向对象、类、继承之类的概念,是否可以应用在生物身上,我们以后再探讨。现在需要进行的,是验证工作。
验证过程中需要注意,接口有几个重要特点:
1.接口中不包含任何方法和属性。也就是说,这段未知序列必须在所有物种上通用,并且全部不表达任何功能。
2.接口可以被继承。也就是说,这段未知序列必须可以随基因组稳定遗传。
3.接口不能被实例化。也就是说,这段未知序列不能作为遗传物质独自存在,它不能成为一个单独的生命。
也许我这样生硬地把计算机的规则套用在生命体上,缺乏逻辑和依据。但在面对一个完全未知的食物时,‘鸭子测试’是一种非常好用的方法:
如果它看起来像鸭子、游泳像鸭子、叫声像鸭子,那么它可能就是只鸭子。”
话音落下,会场被掌声填满。显然,王海滨的观点被大部分人所认同了。
虽然这套理论十分地生涩,但它就像是一个初生的孩子,也许会早早夭折,也许会一生平平无奇,也许会成为一个创造新时代的伟人。
这场空前热烈的会议持续了到了第二天中午,散场时,每个人都依旧神采奕奕。他们并不打算休息,而是直接联络各方准备开展复杂的验证工作。
针对接口的第一个特点,需要制造一大批不同种类的模式生物,比如小鼠、果蝇、酵母、拟南芥,用锌指技术精确地把未知序列敲入它们的基因组中,然后在生命周期内监测未知序列的功能。
针对接口的第二个特点,需要做遗传学试验,比如让被敲入未知序列的果蝇自由交配,观察序列是否可以世代遗传。
针对接口的第三个特点,需要把这段未知序列包装成病毒,让它侵染各种生物,观察是否拥有基因整合和复制的能力。
附加工作一:破坏鼠爵克隆体基因组中的未知序列,观察外源基因是否还能正常表达。
附加工作二:安德森和卢卡的救治,通过颅内注射直接向海马基细胞输送基因编辑载体,破坏未知序列掉未知序列和蓝藻相关基因。虽然已有相关技术用来治疗脑胶质瘤,但风险依旧很大,因为小鼠造模没成功,无法实现通过动物试验验证效果。
附加工作三:利用新的线索,探究植物是怎么样获得未知序列并且萎了的。
当然,还有一个最重要的工作,即便没有被提到纸面上,也被会场上的所有人心知肚明。
那就是当这段接口的性质被验明之后,就此开展人的自救工作。如果这东西果真是一切的源头,那么这项工作就会像在夏天吃下一块刚切开的大西瓜那样简单和畅快——
不管三七二十一,敲了了事。
这才是他们如此兴高采烈并充满干劲的真正原因。
作为一个年轻的、头脑不被束缚的新鲜血液,卢赫理所应当地领到了众多任务中,目前最无解的一个:探究植物是怎么样获得未知序列并且萎了的。
小主,
不过他没有太多畏难情绪,原因很简单: