一屋子DNA装下全世界 DNA数据存储新法问世

研究人员创建了一种在DNA中存储数据的新方法。图片来源:Novi Elisa/shutterstock

人类正面临着一个数据存储的问题——全世界在过去两年中产生的数据比之前的数据总和还要多,并且这种信息迸发的趋势很快就将超过硬盘能够承载的能力。如今,研究人员报告说,他们想出了一种新的方式将数据编码进脱氧核糖核酸(DNA),从而创造出迄今最高密度大规模数据存储方案。

在这套系统中,1克DNA具有存储215拍字节(2.15亿千兆字节)的能力。原则上,它可以将人类有史以来的所有数据存储在一个大小和重量相当于两辆小货车的容器中。然而这项技术能否起飞主要取决于成本。

用DNA存储数据有很多优势。它是超级压缩的,并且在寒冷干燥的地方可以保存数十万年。同时只要人类社会还在读取和书写DNA,他们就能够解码这些信息。

美国哥伦比亚大学计算机学家Yaniv Erlich表示:“DNA不会像卡式录音带和CD那样随着时间而降解,并且它也不会过时。”此外不同于其他高密度的方法,如在一个表面上操纵单个原子,新技术可以一次书写和读取大量DNA,从而使其按比例扩增。

科学家从2012年便开始将数据存储于DNA中。当时,哈佛大学遗传学家George Church、Sri Kosuri和同事,利用由4个字母A、G、T和C组成的DNA链编码0和1的数字化文件,从而将一本具有52000个单词的书籍编码到数千个DNA片段中。

然而研究人员当时特殊的编码方案效率相对低下——每克DNA仅能够存储1.28拍字节的数据。其他方法或许做得更好。但是,没有人能够存储超过研究人员认为DNA理论上可以实际处理的一半数量的信息——大约每个DNA核苷酸编码1.8比特数据。

Erlich认为他能够接近这一极限。因此他与纽约基因组中心科学家Dina Zielinski分析了用于编码和解码数据的算法。他们从6个文件入手,包括一个完整的计算机操作系统、一种计算机病毒、1895年拍摄的一部叫做《拉西约塔来了一辆火车》的法国电影,和由信息理论家Claude Shannon在1948年进行的一项研究。

研究人员首先将文件转换为0和1的二进制字符串,并将其压缩成一个主文件,然后将数据分割成二进制代码的短字符串。他们设计了一种被称为DNA喷泉的算法,能够将字符串随机打包为所谓的水滴,之后他们又增加了额外的标签以便以后能够按照正确的顺序重新组装这些字符串。总的来说,研究人员生成了由72000个DNA链组成的数字列表,每个DNA链的长度为200个碱基。

研究人员把这些文本文件交给了Twist Bioscience,这是一家位于加利福尼亚州旧金山的初创企业,后者对这些DNA链进行了合成。两个星期后,Erlich和Zielinski收到了一封邮件,里面有一个小瓶子,而瓶中便是编码了他们的文件的一点点DNA。为了解码这些DNA,两人使用了现代DNA测序技术。这些序列被输入计算机,在这里遗传编码被重新转换为二进制代码,并使用标签重组为6个原始文件。

研究人员在3月2日出版的《科学》杂志上报告说,这种方法工作得很好,新文件不包含任何错误。他们还可以通过聚合酶链反应(一种标准DNA复制技术)为这些文件制作几乎不受数量限制的无差错文件副本。Erlich说,此外,他们能够在每个核苷酸编码1.6比特的数据,这比之前其他的任何方法多了60%,并且是理论极限值的85%。

“我爱这项工作。”目前供职于加利福尼亚大学洛杉矶分校的生化学家Kosuri说,“我认为这从本质上是一项决定性研究,表明你可以用这个规模在DNA中存储数据。”

本文转自d1net(转载)

时间: 2024-12-21 17:58:19

一屋子DNA装下全世界 DNA数据存储新法问世的相关文章

两斤DNA装下“全世界”

现代数据存储技术瞄准基因序列 或许最多10年之后,没有人会再相信磁带储存.图片来源:Wes Fernandes 对于Nick Goldman来说,在DNA中编码数据的想法始于一个笑话. 那是2011年2月16日,Glodman和一些生物信息学领域的朋友在德国汉堡聊天,话题是他们如何才能储存全世界涌来的基因组序列和其他数据洪流.他记得当时谈话的科学家因为传统计算机技术成本昂贵和具有局限性而懊恼不已,他们开始开玩笑说或许可以尝试科幻方法."我们想,'有什么能阻止我们利用DNA储存信息呢?'"

Android系统的五种数据存储形式实例(二)_Android

之前介绍了Android系统下三种数据存储形式,http://www.jb51.net/article/99468.htm.今天补充介绍另外两种,分别是内容提供者和网络存储.有些人可能认为内存提供者和网络存储更偏向于对数据的操作而不是数据的存储,但这两种方式确实与数据有关,所以这里还是将这两种形式简要的说明一下.  Content Provider: Content Provider,中文名是内存提供者,Android四大组件之一,内容提供者是应用程序之间共享数据的接口,以数据库形式存入手机内存

Android系统的五种数据存储形式实例(二)

之前介绍了Android系统下三种数据存储形式,http://www.jb51.net/article/99468.htm.今天补充介绍另外两种,分别是内容提供者和网络存储.有些人可能认为内存提供者和网络存储更偏向于对数据的操作而不是数据的存储,但这两种方式确实与数据有关,所以这里还是将这两种形式简要的说明一下. Content Provider: Content Provider,中文名是内存提供者,Android四大组件之一,内容提供者是应用程序之间共享数据的接口,以数据库形式存入手机内存,

用DNA实现无错数据存储

用DNAhttp://www.aliyun.com/zixun/aggregation/17326.html">存储数据,这已经不是不可能实现的任务.我们之前为大家介绍过哈佛大学在DNA存储方面的工作,他们将700TB的数据存进了仅仅1克DNA之中.关于DNA存储的研究也不断地有着新进展,不久前,欧洲分子生物学实验室(EMBL)的研究人员创造了一种新的DNA存储数据方法,通过这种方法,他们克服了DNA存储易出错的问题,并且数据的存储时间可达成百上千年.这个新方法于1月23日在<自然&

为下拉式数据窗口建立缓冲区

数据|下拉 为下拉式数据窗口建立缓冲区张健姿 01-6-22 下午 04:47:33 同 其 他4GL 工具 如Delphi,Visual Basic 的 早 期 版 本 一 样,PowerBuilder4.0 以 前 所 生成 的 可 执 行 文 件 使 用 是 伪 代 码, 也 称P-Code(pseudo-code).P-Code 在 运 行 时 是 被 解 释 执 行 的, 更 准 确 地 说,P-Code 使 用 的是 虚 拟 机 指 令, 为 不 同 的 宿 主 机 提 供 共 享

datatable-DataTable容量只能装在8388608条数据

问题描述 DataTable容量只能装在8388608条数据 我需要将一个一千多万的数据导入到datatable中,可是导入8388608行之后就报异常,outofmemory,csdn上说datatable最大容量可以达到一千六百多万条,我算了下正好是8388608的两倍,不知道为什么只能填充容量的一半 解决方案 要知道每条数据的数据量是不一样的,不知道为什么要把这么多数据导出一起处理,这种方法是极其不合理的,读取写入都很慢,而且极容易崩溃,最好是分批次进行处理 解决方案二: 这里还有表的字段

Swift开发之使用UIRefreshControl实现下拉刷新数据及uirefreshcontrol使用_Swift

想要下拉刷新表格数据,上拉加载新数据,网上有许多第三方的实现类. 而如果仅仅需要实现下拉刷新数据的话,那么使用 UIRefreshControl 就足够了,简单有好用. 1.UIRefreshControl 的使用步骤: (1)创建 UIRefreshControl,并设置文字,颜色等信息. (2)将 UIRefreshControl 添加到tableview视图中. (3)给 UIRefreshControl 添加方法,当值改变的时候调用,用于数据请求刷新. (4)请求数据确认完成之后,调用e

如何根据班级获取学员下拉框数据

前台页面 <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>根据班级获取学员下拉框数据</title> <script type="text/javascript" > //1.页面加载完毕后创建异步对象 请求班级数据 window.onload = function (

Win8系统下Excel界面数据混乱如何排列整齐

  Win8系统下Excel界面数据混乱如何排列整齐          具体步骤:Excel按字母顺序排列 1.依次点击"数据"-"排序"-"选项",在"自定义排序次序"下拉菜单中找到"A,B,C.....J"选择后确定,点击确定; 步骤:按数字从小到大排列 1.同样先点击"数据"-"排序"-"选项",在"自定义排序次序"下拉菜