突破!在人工染色体中存储图片和视频:天津大学元英进团队验证DNA数据存储新方法...

来源:中国生物技术网

天津大学元英进教授团队从头编码设计合成了一条长度为254,886 bp、专用于数据存储的酵母人工染色体,借助无线通信中前沿的纠错编码将两张经典图片和一段视频存储于高效组装的人造染色体,利用酵母繁殖实现了数据稳定复制,用便携式的三代纳米孔测序器件实现了数据快速读出与无错恢复。

从医学图像与天文观测,从视频监控到社交网络,全球数字化趋势使得数据量快速增长。据国际数据公司估计,到2025年全球数据总量将达到惊人的175 ZB(1 ZB ≈ 109 TB)。面对快速增长的海量数据,基于磁、光、电等的传统介质的存储技术面临功耗、体积以及使用寿命等限制。

近年来,随着合成生物学的快速发展,DNA信息存储由于其高信息密度与低能耗处理等特点,成为应对数据存储发展挑战的新机遇。2021年1月,美国半导体产业协会(SIA)发布的《半导体10年计划》,已将DNA数据存储列为未来海量数据存储的重要选项。

人工染色体示意图

天津大学元英进教授带领跨学科团队,借助团队在酵母人工基因组化学合成领域的积累,设计合成了一条存储数字信息的酵母人工染色体,存储了两张图片及一段视频,并实现了数据的稳定复制与快速可靠读出。该工作首次将单菌内用于数据存储的DNA碱基数量提升到了百kbp级,容纳数据量为37.8 KB。日前,该研究以“An artificial chromosome for data storage”为题在线发表于《国家科学评论》(National Science Review, NSR)。天津大学微电子学院青年教师陈为刚副教授、化工学院博士研究生韩明哲以及周见庭助理研究员为论文共同第一作者,元英进教授为论文通讯作者。

人工染色体中存储的两张经典照片:1968年12月24日阿波罗8号机务人员威廉·安德斯拍下的“地球升起”(jpg;4029 Byte)和1957年Harold Edgerton首次结合高科技频闪灯与相机快门拍摄的“牛奶皇冠”(jpg;6624 Byte)。

人工染色体中存储的视频“母女”(一个通信领域常用的测试视频;mp4;26,092 Byte) 

研究者从染色体的编码设计、组装与稳定复制、数据可靠恢复等方面展示了这种数据存储模式的潜力。

染色体的编码设计中,借助叠加伪随机序列应对三代测序的插入/删除(insertion/deletion)错误,采用现代通信中已广泛验证的低密度奇偶校验(Low-Density Parity-Check,LDPC)码纠正替代错误,实现了纳米孔测序高达10%错误率的数据可靠恢复。

染色体组装与稳定复制方面,设计插入一定数量的酵母自主复制序列(autonomously replicating sequence,ARS),提升的染色体稳定性,支撑高效组装和稳定复制。实验验证染色体稳定复制100代,依然能可靠读出数据。

数据读出过程中,利用三代纳米孔测序在大约10分钟获得足够的原始读段后,结合研究者设计的生物信息学与纠错译码混合流程,原始图片及视频可以从高错误率约10.79%的原始读段中可靠恢复,所需测序覆盖度仅为16.8x。

数据存储工作流程

该存储模式中,数据逻辑密度(包含载体)为1.19 bit/bp,与目前文献中指标最高的四进制编码DNA喷泉方案相当(Erlich and Zielinski, 2017)。文章进一步指出了该存储模式与传统光盘存储的相似性,也即一次写入,多次读出,低成本可靠复制和便携式读取。作者还提及了降低合成成本、构建多条人工染色体存储更多数据的可行性。

论文链接:

https://doi.org/10.1093/nsr/nwab028

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485007.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10分钟 在linux里创建.net core helloworld控制台程序

官方教程 安装linux https://www.cnblogs.com/LittleFeiHu/p/9749455.html 第一步 :选择和你本机适用的Linux版本,我这里用的是18.04. 第二步 :注册秘钥,产品仓储,以及安装依赖项,每台机器只需要注册一次&a…

leetcode--983.最低票价

在一个火车旅行很受欢迎的国度,你提前一年计划了一些火车旅行。在接下来的一年里,你要旅行的日子将以一个名为 days 的数组给出。每一项是一个从 1 到 365 的整数。 火车票有三种不同的销售方式: 一张为期一天的通行证售价为 costs[0] 美元…

陈天桥雒芊芊脑机接口中心等团队研究登顶刊:超声波“读心”

来源:澎湃新闻 作者:贺梨萍 脑机接口(BMIs)在全球的研究正如火如荼,神经科学家们希望通过这样一种设备将神经活动映射到相应的行为,它以读取和解释大脑活动,并向计算机或机器发送指令。实际上&a…

软工 课堂作业:选出一个整数组中最大子数组

项目计划日志 10.6 看ppt,熟悉内容。 10.6下午,开始编程调试。 10.7 运行调试,写博客。 时间记录日志日期开始时间结束时间中断时间净时间活动10.69:0011:0020min1.5h查资料10.78:0012:0030min3.5h查资料,编程10.71…

图灵奖得主 Yann LeCun 最新文章 :自监督学习,人工智能世界的“暗物质”

来源:AI前线作者:Yann LeCun ,Ishan Misra译者:王强策划:刘燕近年来,AI 产业在开发“可以从大量经过细致标记的数据中学习的 AI 系统”这个研究领域上取得了巨大进步。这种监督学习的范式在训练专业模型方面…

Leetoce--572. 另一个树的子树(java)

给定两个非空二叉树 s 和 t,检验 s 中是否包含和 t 具有相同结构和节点值的子树。s 的一个子树包括 s 的一个节点和这个节点的所有子孙。s 也可以看做它自身的一棵子树。 示例 1: 给定的树 s: 3 / \ 4 5 / \ 1 2 给定的树 t: 4 / \ 1…

Linux 安装Python37

1、下载python3.7.0 https://www.python.org/downloads/release/python-370/ 2、创建Linux的python37目录 mkdir /usr/local/python37 3、解压python3.7.0源码 tar zxvf python3.7.0.tar.zg 4、配置编译参数 ./configure --prefix/usr/local/python37 5、make 6、make install …

无脑人:我们真的需要大脑吗?

© Mental Floss来源:神经科技编辑:Yezi审阅:mingzlee7在一次讨论中,有位德高望重的人(我不会透露这个人是谁)告诉我:“我认为自我存在于心脏!而不是大脑!那些声称意…

get和post的联系与区别

get和post是什么?HTTP协议中的两种发送请求的方法。 那么他们有什么区别呢? 在web开发时,我们可以很直观的看到他们的区别: 1.get将参数放入URL中,而post则通过request body传递参数 2.get比post更不安全&#xff…

JS数组的需要注意的问题

一、在js中数组是我们经常使用的数据类型,也为我们提供了很多方法。但是有些方法需要注意使用: 1、indexOf(args):匹配一个数组中与args相等的项的索引位置,如果该数组包含这个匹配项则返回第一个匹配的索引,并停止匹配…

基金委最新改革:9大科学部整合为4个板块资助布局

来源:微信公众号科学网(sciencenet-cas)3月24日,国家自然科学基金委员会(以下简称自然科学基金委)第八届委员会第四次全体会议在北京召开。会议上,自然科学基金委主任、党组书记李静海作全委会工…

Leetcode--236. 二叉树的最近公共祖先(Java)

给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的…

万恶之源 - Python运算符与编码

格式化输出 现在有个需要我们录入我们身边好友的信息,格式如下: ------------ info of Alex Li ----------Name : Alex LiAge : 22job : Teacher Hobbie: girl------------- end ---------------- 我们现在能想到的办法就是用一下方法: name input(请输入姓名:) age …

Leetcode--105. 从前序与中序遍历序列构造二叉树(Java)

根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树: 3 / \ 9 20 / \ 15 7 代码: /**…

世界最大、最复杂的GPU!这颗集成1000亿个晶体管的芯片长什么样?

来源:EETOP3月25日消息 英特尔于昨日举办了直播活动,新上任的 CEO 帕特基辛格(Pat Gelsinger) 发表了演讲,并展示了采用 7nm 工艺的 Xe-HPC 高性能 GPU,代号 “Ponte Vecchio”。这款产品封装了 47 个芯片&…

携带cookie进行数据请求

前端进行数据请求有:普通的ajax(json)请求,jsop跨域请求,cors跨域请求,fetch请求...PC端这些请求方式中,普通的ajax(json)请求和jsop跨域请求是默认携带cookie的,而cors跨域请求和fetch请求默认是不携带coo…

Leetcode--145. 二叉树的后序遍历(迭代递归)

给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 代码: 迭代: 从根节点开始依次迭代,弹出栈顶元素输出到输出列表中,然后依次压入它的所有孩子节…

Lucene全文检索

目录结构: 1.全文检索 2.Lucene入门 3.Lucene进阶 全文检索 一, 生活中的搜索: 1.Windows系统中的有搜索功能:打开“我的电脑”,按“F3”就可以使用查找的功能,查找指定的文件或文件夹。搜索的范围是整个电脑中的文件资源。 2.Eclipse中的帮助…

区块链架构下 智慧城市发展加速

来源:中国经济时报智慧城市与区块链技术结合愈加紧密在城市建设和管理上,越来越多的城市开始尝试推动区块链技术在智慧城市项目中应用。中国有杭州聚能城、雄安新区;韩国有“区块链首尔城”;瑞士有“加密谷”楚格;爱沙尼亚和圣马力诺等国家也在纷纷构筑自…

Leetcode--94. 二叉树的中序遍历(迭代递归)

给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 代码: 迭代: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left;…