恐龙灭绝6000多万年后,科学家们获得了一块有史前蚊子的琥珀,从蚊子血中获得了恐龙的基因,从而让遥远的生物复活。

讲这个故事的《侏罗纪公园》,至今仍位列全球电影票房前十。这个系列故事的原理很简单:DNA存储了恐龙的生物信息,科技让它重新表达。

现在,用DNA想象另一个故事:在宇宙长河中,“人类世纪”也寂灭了。另外一种智慧生物出现,TA们去探究远古的“人类文明”。有什么会承载人类文明的记忆?气温异变,地球上的庞大数据中心徒留遗迹。

冻土中有一份DNA,它很轻,只有1公斤,看起来是一些被封装在胶囊里的白色粉末。读取后,里面却记载了地球上曾有的巨量信息。视频、文字、代码展现了人类历史进程中的无数发明和文艺作品。

于是那个遥远文明的痕迹在宇宙间再次展开。

你身体里的DNA 能存下整个宇宙的数据-冯金伟博客园

这是另一个科幻设定了。背后的技术正是目前被关注的一个前沿方向:DNA存储信息。

在大自然里,DNA负责存储遗传信息。单个人体细胞的平均直径是5到200微米,这其中的DNA可以包含一个人全部的遗传信息:30亿对碱基。

那为什么不能用碱基存储别的信息?这个科幻般的设想,正在走出实验室,被当作信息存储的未来方案。

本来是生物学家想解决生物学发展的问题。

11年前,一群生物信息学家在德国的一家酒店里讨论“数据存储问题”。NickGoldman也在其中,那是他在欧洲生物信息所(EBI)担任高级科学家的第二年。

大规模的基因组测序正在进行,随之产生的数据规模快速增长。存储、压缩这些数据是个麻烦事,现有的技术方案看起来不太行。

生物学家们陷入了沮丧。

你身体里的DNA 能存下整个宇宙的数据-冯金伟博客园
NickGoldman拿着存储了莎士比亚所有十四行诗、一张照片和“我有一个梦想”演讲片段的DNA|来源:EBI

有人灵光乍现:是什么东西阻止了我们用DNA来储数据呢?

看起来是一句玩笑话,但是生物学家们意识到了这不仅仅是个玩笑,他们拿起手边的餐巾纸,用圆珠笔认真计算起可行性。

DNA存储遗传信息的原理并不复杂,它由四种核苷酸A、T、G、C组成,彼此两两对应,组成双螺旋结构。核苷酸的序列,记录了遗传信息。

在数字世界,所有的信息本质上是0和1组成的数据串。想要DNA存储数字信息,简单理解,原就是将0和1的编码序列转换成核苷酸的序列。DNA存储的优势在于密度大,大约在你眼前逗号这么大小,1立方毫米的DNA,就可以容纳9TB(1TB=1024GB)的信息。

用DNA存储数据,也并不是完全新的想法,之前就有科学家尝试过。不过属于科学和艺术的先锋跨界实验。

1988年,艺术家Joe Davis和哈佛大学的研究员,将一副名为“小维纳斯”(Micro Venus)的图案存储到DNA短链中。

你身体里的DNA 能存下整个宇宙的数据-冯金伟博客园
存储进DNA的小维纳斯(microvenus)图片来源:相关论文

在那次酒店讨论的2年之后,2013年,Goldman团队发表了研究成果。这次,他们存储了5种不同格式的文件,一共有0.75MB。为了确保信息读取不出错,科学家存储的时候,每份信息按照四倍冗余的量来存储。

五个文件分别是:

- 154首莎士比亚的14行诗(ASCII编码格式)

- 提出DNA双螺旋结构的论文(PDF版)

- 一张照片(JPEG格式)

- 马丁·路德金“我有一个梦想”演讲其中26秒片段(MP3格式)

- 一串霍夫曼密码

这些年,DNA存储容量的上线不断被突破。2019年,美国一家创业公司Catalog在DNA中存储了16GB的维基百科。这个公司表示自己正在建设世界上第一个基于DNA的大规模数字数据存储和计算平台。

在一些生物学家看来,用DNA来存储是一件非常“顺滑”的事。“大自然的编码语言非常类似于我们在计算机领域使用的二进制语言。在硬盘上我们使用0和1来代表数据,而DNA中,我们拥有4种形式的核苷酸,A、C、T和G”。在瑞士联邦理工学院的生物学家RobertGrass说。

方案可以很简单。比如:A对应00,C对应01,G对应10,T对应11。然后再按照所需要的核苷酸序列,像串珠子一样,把核苷酸们串成一串。(这就是DNA合成)需要读取信息的时候,再运用基因测序技术,把这一串核苷酸序列读取出来,再翻译成0和1的字符串。这个流程就是编码—DNA合成—测序—解码。

这个听起来像是“把大象装进冰箱”的流程,操作起来需要考虑的问题还有很多。不然科学家就不必一直研究新的编码方案了。

在自然界存在的DNA中,A和T,C与G两两配对,在一条DNA中,CG与AT的存在比例基本均匀,为50%左右。如果C和G的含量过高,可能会让DNA链产生一些复杂的物理结构。这就会让DNA测序(解码)变得复杂。

你身体里的DNA 能存下整个宇宙的数据-冯金伟博客园
DNA存储的步骤|来源:DNADataStorageAlliance

目前人工合成DNA的单链的长度一般不超过100个碱基,极限在300个碱基左右。而在自然界的DNA动辄有几千个碱基对。

也就是说,虽然DNA的存储能力很强,但它们不得不以很多条短链的方式存在。如果存储的信息量比较大,这些DNA短链就像一本散装的书。它可以存储很多信息,存在形式却是一张张标着页码的纸。

当然,可以将一条条DNA短链拼接成长链。这就意味着增加了一道工序。在测序的过程中,又需要把长链打断成短链。这是因为目前技术还不能一次性读取长链。

在测序的过程中,也存在错误率。尽管目前的错误率已经低至10^-3数量级,比起商业硬盘的读写错误率,仍相差至少9个数量级。

正确率受到合成和测序这两项技术的影响,科学家想到设计编码方案来避免:在编码中增加纠错机制。这样,哪怕碱基合成和测序中出现了错误,依旧能够保证被存储进DNA的内容能够被正确读取出来。

DNA存储也正在尝试走出实验室。

2020年10月,微软、西部数据和基因测序巨头Illumina、DNA合成初创公司Twist Bioscience等联合成立了DNA数据存储联盟。

这是世界上第一个该领域的学术和产业链联盟。这个联盟希望制定技术和格式标准,最终建立一个可以通用的商业系统。

微软研究院在2015年就成立DNA存储的项目,并聘请了华盛顿大学的计算机科学与工程学院的副教授KarinStrauss担任高级首席研究经理(Senior Principal Research Manager)。

2013年,她和同事去英国EBI访问,了解到Goldman和同事们关于DNA存储的研究,就对这个方向产生了很大的兴趣。Strauss说:“DNA的密度、稳定性和成熟度让我们兴奋。”

在他们的研究中,想开发的是另一个功能:随机读取。常见的DNA测序技术中,必须要将所有的碱基串一次性读取完,才能够获得信息。要么不读取,要么全读。如果只想要数据中的某一个小片段,就会非常麻烦。

2016年,他们发表了一项研究,可以在DNA已经存储的信息中搜索到指定的图像,定位后,用酶来复制所需的DNA片段,然后只需读取这一小段即可。

你身体里的DNA 能存下整个宇宙的数据-冯金伟博客园
KarinStrauss(右)和两位研究合作者|来源:csenews

要让DNA存储离商用更进一步,还需要解决合成速度和成本。现在合成速度是每秒存储上千个字节(KB),成熟的云存储方案已经有每秒千兆字节(GB)以上。

这意味着,编写DNA的速度还需要提升6个数量级。如何让提升数据处理量?就像并行计算能够提升数据处理速度,科学家希望DNA在合成时也可以并行多条,同时处理。

2021年,微软开发出首个纳米级DNA存储器,能够在每个平方厘米的区域上,同时合成25X106(2650)条碱基序列。这个新的技术把原来同时合成碱基序列的数字从个位提升到了千位。这个吞吐量,让DNA合成速度变成了每秒兆字节(MB)。

你身体里的DNA 能存下整个宇宙的数据-冯金伟博客园
新的方法让DNA合成的阵列数量大大增加|来源:微软研究院

更大的吞吐量,也就意味着更低的成本。现在DNA存储的成本是每万亿字节(TB)8亿美元。而磁带存储成本已经降到了每万亿字节16美元以下。这样比起来似乎毫无竞争力。但现实生活中的大型数据中心的维护成本极高,还要定期更新硬件;DNA存储密度大、体积小、可以长时间不变质的优势就变成了降维打击。

所以量大、读取频率低的“冷数据”,被认为是DNA存储最近的应用场景。TwistBioscience最近在一份市场报告中强调,这种技术能够帮助科技企业在“大规模、低功耗”情况下更有效地部署。

另外一些乐观的科学家,更相信技术的进步。

自2003年人类基因组计划完成以来,测序成本降低了200万倍。2016年时,面对每秒千字节的速度,Goldman说:“(读写的速度提升)6个数量级对基因组学来说没什么大不了的。你只需要再等一会儿。”

那这“一会儿”是多久呢?这个领域似乎到了临门一脚,仍在等待突破。