第一章 异常基因

陈启盯着屏幕上那条序列看了整整四十分钟。

基因工程实验室的空调开得很低,冷风从头顶吹下来,把他后颈的汗吹成一层凉意。但他没动。面前的三块屏幕同时亮着,左边是灵力适配基因的标准图谱,右边是从第47号样本中提取的对比数据,中间那块显示的东西不应该存在。

“这不对。”

他自言自语,声音在空荡荡的实验室里显得有点突兀。隔壁工位的林澈三小时前就走了,走之前说了句”你再不走食堂就关门了”,陈启嗯了一声,没抬头。

第47号样本是他从第三批适配者血液中提取的基因组。按照标准流程,灵力适配基因的结构应该是三段式折叠——启动域、编码域、调控域,每一段都有明确的功能边界。这套结构在所有已知适配者身上高度保守,变异率低于0.03%。

但第47号样本的第三段调控域多了一截。

不是突变,不是插入,不是任何已知的基因重排模式。那段序列像是一直在那里,只是从来没有被读取过——就像一本你翻了一百遍的书,突然在某页的夹缝里掉出一行手写的批注。

陈启把那段序列单独提取出来,跑了一轮比对。

没有匹配。

他又跑了一轮,把数据库从人类基因组扩展到所有已测序的灵长类。

没有匹配。

他把参数放宽到哺乳纲,再放宽到脊椎动物门。

没有匹配。

这段序列不属于地球上任何已知的生物。

陈启靠在椅背上,摘下眼镜揉了揉眼睛。实验室的白炽灯管发出细微的电流声,空调还在吹,咖啡早就凉了,杯底沉着一层褐色的残渍。这些琐碎的感官细节此刻异常清晰,仿佛大脑在用这种方式提醒他:你没有在做梦。

他重新戴上眼镜,把第47号样本的数据和第46号、第45号放在一起对比。然后他发现了一件更不对劲的事——46号没有,45号没有,47号有。

他又抽查了前十个样本。1到44号,全部没有。47号突然出现。

“怎么跳了三个号?”

他打开实验记录本,翻到第三批样本的登记页。44号,采集日期3月12日。45号,3月14日。46号,3月15日。47号——采集日期是3月19日。中间空了四天。陈启记得那四天。第三批样本的采集在3月16日暂停,因为受试者临时调换,新一批适配者要等军方审批。他在那四天里改了论文初稿,还和林澈去了一趟篮球场。

47号是审批通过后的第一个新样本。换句话说,47号和前面的样本来自不同的人群。

陈启把47号的受试者信息调出来。编号:T3-047。性别:男。年龄:28。灵力适配等级:B+。备注栏是空的。他又调出44到46号的受试者信息。适配等级分别是B、B、A-。没有明显异常。

但那段多出来的序列是真实的。它就在那里,清清楚楚,不是噪声,不是污染,不是算法误差。

陈启坐直了身体。他知道接下来应该做什么——上报。发现未知基因结构是重大事件,按照流程应该在24小时内提交到基因安全委员会,附上完整的比对数据和初步分析。杰森副所长今天下午就回来了,那个四十出头、头发梳得一丝不苟的男人,说话永远像在念备忘录,但做事雷厉风行。如果把数据交给他,三天内就会组织一轮重复验证,然后上报。

但陈启没有动。

他不是想藏着掖着。但他注意到了一个细节:那段序列的位置。它不在编码区,不在调控区,甚至不在任何已知的功能元件附近。它嵌在第三段调控域的末端,紧挨着一段被称为”沉默区”的非编码序列。在基因工程的标准教材里,沉默区被认为是”进化残留”——没有功能,没有意义,只是DNA复制过程中偶尔留下的垃圾。

但如果有东西一直藏在沉默区里呢?如果有东西在沉默区里沉睡了不知道多少年,然后在某一天、某一个特定的人身上,突然被读取了呢?

陈启打开了一个新的分析窗口,把那段异常序列的碱基对排列转换成频率图谱。

然后他愣住了。

那段序列的碱基对排列不是随机的。它有模式。一种他从未在任何自然基因组中见过的模式——高度对称,重复节律精确到令人不安的程度。

像是被设计过的。

陈启慢慢把手从键盘上收回来。他的右手不自觉地摸了一下裤兜——里面有一枚旧硬币,父亲留下的,他习惯在思考的时候用拇指摩挲它的边缘。硬币的金属凉意透过布料传过来,让他的手指停止了颤抖。

他看了一眼屏幕右下角的时间。凌晨两点十七分。

窗外是沉睡的城市。几盏路灯把空旷的街道染成橘黄色,远处有货车经过的声音,低沉而遥远。世界照常运转。没有人知道这间实验室里正在发生什么。


接下来的两天,陈启把所有空闲时间都泡在了那段序列上。

他没有告诉任何人。白天照常做手头的课题,照常去食堂吃饭,照常和林澈讨论下周的项目汇报。但每天晚上九点以后,他会回到实验室,锁上门,打开那三块屏幕。

他在第三天凌晨发现了第一件怪事。

他正在做第四轮比对——这次他把序列拆成更小的片段,逐段跑数据库——右边屏幕上的原始数据突然跳了一下。很轻微,像是画面刷新了一帧。他以为是显卡的问题,没在意。但几秒钟后他又看到了:第47号样本的原始碱基序列,有两个碱基对的位置和他记忆中的不一样。

他翻出昨晚的手写笔记。

果然不同。昨晚他记下的第347位是腺嘌呤,现在显示的是胸腺嘧啶。

陈启盯着那个碱基对看了很久。他可以接受自己记错——凌晨两点,手写笔记,记错一个碱基不是什么稀罕事。但他不相信自己的笔记会错,因为他每次记录都会核对两遍。这是他的习惯,从读研第一天就养成的。

他重新从原始文件中提取了一遍数据。结果和屏幕上显示的一致:胸腺嘧啶。

也就是说,要么他昨晚记错了,要么数据被改过。

陈启选择相信自己的笔记。但他没有证据。他能做的是继续监控——如果数据还会再变,他就能确认不是自己的问题。

第四天凌晨,数据又变了。

这次他有准备。他提前在三个不同的位置做了标记——第347位、第892位、第1203位——用手写笔记和截图双重备份。凌晨一点十二分,第892位的碱基对从鸟嘌呤变成了胞嘧啶。他亲眼看着屏幕上的数据刷新了一帧,像是一只无形的手在远程编辑他的文件。

有人在改他的数据。

陈启的第一反应是一种冷静的确认——他的笔记没有错,他的记忆没有错,他面对的不是技术故障,是主动的干预。

谁有能力远程修改基因工程实验室的分析数据?理论上,只有管理员权限的系统工程师能做到。但陈启查了操作日志——干净的,没有任何远程登录记录。要么入侵者有办法清除日志,要么修改数据的不是通过正常的网络通道。

他把三个变化位点的碱基对排列在一起:腺嘌呤变成了胸腺嘧啶,鸟嘌呤变成了胞嘧啶。互补配对。每一个变化都是把碱基对翻转了一百八十度——信息量没有变,只是换了一种”表达方式”。

这不像是破坏。更像是……翻译。

陈启的后颈一阵发凉。有什么东西在把他的数据从一种语言翻译成另一种语言。问题是:从什么语言翻译成什么语言?是谁在翻译?

他想了一夜,没有想出答案。但他做了一个决定:在搞清楚之前,他不会上报任何人。不是想保密——如果有人在远程干预他的分析,那上报就意味着把数据暴露给干预者。


第五天晚上,陈启决定绕过系统的限制。

他手动接入了基因分析平台的底层数据库,直接读取第47号样本的原始存储文件。系统弹出一条警告:“此操作未经授权。”

他点了”忽略”。

又弹了一条:“您的账户权限不包含底层数据访问。继续操作将生成审计日志。”

他又点了”忽略”。

第三次弹出来的时候,他已经懒得看了,直接按了回车。

原始数据展现在屏幕上。那段异常序列的完整形态比他在分析软件里看到的更长——分析软件的自动裁剪功能切掉了两端的一些碱基对,大概是因为系统判定那些是”无意义的重复”。但在原始数据里,那些”无意义的重复”构成了一个高度对称的结构,每一组重复都精确地镜像着另一组。

陈启把频率图谱重新跑了一遍。

结果让他脊背一凉:那段序列的碱基对排列,如果转换成信号波形,频率是47.3赫兹。一个他在任何教科书、任何论文、任何数据库中都没有见过的频率。

自然界不产生这种东西。

陈启盯着屏幕上的结构图,心跳加速。这段序列是被放在这里的——被某种他知道或不知道的力量,精确地、有目的地放在人类基因组的沉默区里。

屏幕角落闪了一下。

他不确定是自己眼花还是真的有什么东西在数据流里回应了他。那个闪光转瞬即逝,像是显示器的老化像素偶尔跳动一下。但他的直觉告诉他不是。

陈启犹豫了一秒。

然后他打开了一个新的文件夹,命名为”047-激活方案”,开始写第一行:

“假设:异常序列为功能性基因结构,激活条件为灵能层面而非化学层面。实验目标:验证灵能脉冲能否触发序列转录。”