浩浩耗,我有屠龙之术,欲翻流云起舞;我有苍茫之志,欲煎七海成田; 阅读原文 这个问题两说,如果是从 DNA 的本质来说,DNA 本身就是一种遗传物质,它存储的就是遗传信息,没有别的。 但如果换一个思路,利用 DNA 的特性,是否能构建一个新的存储系统工具,那想象的空间就大了,甚至有科学家已经把 DNA 看作是数据存储的终极解决方案了! 要想理解这个概念,我们就得从 DNA 的基础结构说起。应该大家至少都从高中的生物学课上了解过,DNA 是一条双螺旋结构的长链,而将这条长链进一步解旋以后,我们进一步的发现了 DNA 的基本组成单元—碱基,分别是腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)、胸腺嘧啶(T)。而正是这个固定的特点,让 DNA 有了成为数据存储载体的潜力。 说起数据,稍微有点计算机常识的朋友,一定都听过二进制(binary)的概念。现代的计算机和依赖计算机的设备里都使用二进制,每个数字称为一个比特(Bit:Binary digit),可以说,在计算机的世界里,所有的信息回归到本源上,只有 0 和 1。而 0 和 1 可以表达出全世界的所有文字和语言符号。 简单阐述一下,我们人类采用的是十进制算术法,主要原因是因为我们有 10 个手指头。那对于使用二进制的计算机而言,就要把 3,4,5,6,7,8,9,10 都转换只有 0 和 1 的字符串。比如 150 的二进制格式是:1001 0110 好,原理就不在这里展开了,反正你们就知道,二进制的世界,就是可以用 0 和 1 两个数字组成的字符串,表示一切信息,比如字母,数字等。那么同样的原理,DNA 的组成只有固定的 A T G C 四种字符,那么实际上只需要先用二进制对 A,G,C,T 四个字母进行编码,就能以同样的逻辑,解析出对应 DNA 序列所代表的含义。比如我们前面举的例子,150 这个数字的二进制格式是:10010110,那现在按下面这个图的对应,150 这个数字的 DNA 格式就应该是:CGGC 是不是 DNA 存储数据的原理就大概弄明白了。所以理论上,目前可以存储在计算机里的任何数据,都可以用合成一段 DNA 序列的方式来代替,在读取的时候,只需要通过测序的手段,加上编译的规则,把这段 DNA 序列读取并翻译出来即可。 比如下面这些文字和图像就是通过读取 DNA 序列得到的。 2012 年,哈佛大学的遗传学教授 George Church(对,就是后来到中国来圈了无数 funding,开了 N 个公司的那位,现在又再搞复活猛犸象的公司)和他的同事就把一本 52,000 字的书编码进了数千个 DNA 片段里 那么接下来就说一说,用 DNA 作为数据存储载体的优势。最主要的就两点: I. 存储条件简单: 我们都知道,自从计算机问世来,数据的存储,主要还是靠把数据读写到硬件载体里面,从最开始的胶片,到软盘,到光盘,再到现在的 USB 移动硬盘。虽然写入数据的时间,已经可以存储的数据量已经有了极大的提升,但总体这些存储设备,还是比较脆弱的,比如物理损伤,灰尘,温度过高等,都有可能造成数据的损坏与丢失。 但 DNA 就不一样了,基本不需要维护,在室温干燥条件下,稍微有点保护,都可以保障几十年不会降解,如果是低温保存,那就更稳定了。 II. 需要的物理面积超超超超级小: 都知道如今,我们已经进入了数据爆炸的时代,各个地方,无时无刻不在产生着大量的数据,就从生物学层面来看,一个人的全基因组数据,按 30X 测序深度来算,大概数据量是在 30GB 左右,那么我们的肠胃里面的各种微生物,如果要完全弄清楚它们的信息,其数据量又要高出几个数量级,假设,未来人类的健康都是以数据作为驱动,又研究人员估算,如果从出生就开始记录,包括各种影像学,生化等一系列数据,一个人,这一辈子的数据量总和,就可以达到惊人的 1PB! 这是什么概念?百度阳泉数据中心数据存储量大概在 4000PB,可存储的信息量相当于 20 多万个中国国家图书馆的藏书总量;所以一个百度的数据中心,也就能存储 4000 个人,这一生的健康数据而已。而百度阳泉数据中心长什么样子呢?额……长这样,一期总建筑面积达 12 万平米,花了 14 亿,修了 7 年。 而 DNA 是纳米级别的物质,根据估算,215PB 的数据,如果用 DNA 进行存储,只需要 1g DNA,所以整个百度数据中心的数据,只需要 20g 的 DNA 就够了!这就是为什么研究人员说,如果用 DNA 存储,全世界目前为止产生的所有数据,只需要一个小房间就够放了…. 那么,既然这个方式如此性感,目前面临的瓶颈又是什么呢?主要还是两点: (1) 读写速度太慢:目前的技术,在合成 DNA 上,大概每添加一个碱基需要 1 秒钟的时间,按这个速度,可能存一首高音质的 MP4 文件,都需要几年的时间。当然,目前行业都是用并行的方式,比如分成几千个片段,同时进行合成,但这样的成本,对于时间的提升效率还是不够。 (2) 就是合成 DNA 时可能产生的错误率,目前来讲还是不低的,这就导致数据的存储可能会因为某些合成错配而失真,比如本来应该是 GAAACC 的序列,合成的时候变成了 GAACC,或者一个片段缺失,直接变成了 GCC。 当然,虽然还有很多地方待完善,但 DNA 存储再接下来很长的一段时间,一定都是人类努力的一个重要方向,我们国家也已经有相关的公司了(别多想,当然不是我们的公司,我也不是托儿,我只知道他们在干这个,但具体的技术水平不好说)。 阅读原文