用DNA直接存储图像,「活细胞相机」分辨率达96像素 | Nature子刊 用DNA直接存储图像,「活细胞相机」分辨率达96像素 | Nature子刊
admin
2023-08-28 14:33:34
0

克雷西 发自 凹非寺
量子位 | 公众号 QbitAI

DNA可以用来拍照了,而且是直接存进去的那种!

新加坡国立大学的研究团队成功将图像投影到DNA上并进行了存储,分辨率达到了96像素。

甚至,利用同一段DNA序列,还能存储多张!



传统的DNA存储需要从头开始构建DNA序列,并通过人工合成的方式编码。

但这一成果直接使用从大肠杆菌中提取到的DNA,将图像转换成DNA数字信号的编码器也是活细胞。

于是,通过将细菌(Bacteria)和照相机(Camera)结合,团队把这一成果命名为BacCam。

BacCam不仅将DNA存储的效率大大提高,还具有极强的鲁棒性,常见的一些特殊环境都能耐受。

相关论文已经登上了Nature子刊。



英伟达AI科学家范麟熙(Jim Fan)也转发了这一成果。

虽然我不是生物学专家,但我很期待看到生物和机器之间的无缝衔接。我已经迫不及待地想要把大语言模型(LLM)挂载到「生物API」上了!



无惧水深火热

实验中,BacCam展现出了极强的鲁棒性。

对于其中一张图像,将DNA稀释5万倍之后,数据没有受到丝毫影响。

稀释后的DNA浓度只有0.36皮(10-12)摩尔每升,比在水池中放一粒沙子还要低上那么几个数量级。



不过,稀释对DNA分子本身影响不大,可能还不足以说明问题。

但将溶液烘干之后复原,熟悉的笑脸依旧清晰可见。



对于复杂的外部环境条件,BacCam也能轻松应对。

除了在室温条件下能保持完好之外,冷冻和加热也都对数据没有什么影响。

在60度的烘箱当中放上一周,图像仍然完好无损,不过70度就不行了。

但据论文中介绍,把DNA在70度环境下放上一周,相当于在9.4度下放两千年

就算用紫外线照上一个小时,里面的数据依旧岿然不动。



而对于存储不同图像的DNA,也无需分别进行保存,直接混在一起就可以了。

将不同DNA混合后,读取时,只需要使用特定引物,对需要的部分进行扩增。

团队将5段存储不同图像的DNA混在了一起,结果单次读取时图像几乎能保持完整,多次随机读取的最低准确率也有80%。


△B行为单次读取,C行为多次随机读取

既然如此,它是如何做到的呢?

点阵化方式处理

BacCam大致的工作流程是酱婶儿的:

首先,要存储的图像被分割成96个区域。

然后,利用对特定波长光线敏感的反应重组酶,根据该波长光的有无,对DNA进行编辑。



这种“条形码”式的编辑方式直接保留了图像中各像素点的空间位置,使图像数字化,而不需要额外进行编码。

此外,利用光的复用能力和对不同波长敏感的酶,团队将正交的红蓝两种颜色图像分层,实现了用同一段序列存储两个图像。



这种存储方式下,BacCam依旧拥有很高的准确率。



利用机器学习方式,研究团队对BacCam的解码方式进行了优化。

经过大量的无监督式学习,已经实现了DNA编码的自动化解读



团队简介

BacCam的研究团队来自新加坡国立大学EngBio实验室。

该实验室主要进行以生物学为核心的多学科交叉工程研究。

论文第一作者是来自该实验室的华人博士生Cheng Kai Lim。

他的研究方向是利用DNA进行数据存储,同时还在攻读MBA学位。

Lim的导师、实验室负责人Chueh Loo Poh教授是本文的通讯作者。

论文地址:
https://www.nature.com/articles/s41467-023-38876-w

参考链接:
https://twitter.com/DrJimFan/status/1676626884141129730

相关内容

热门资讯

linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
C++ 机房预约系统(六):学... 8、 学生模块 8.1 学生子菜单、登录和注销 实现步骤: 在Student.cpp的...
A.机器学习入门算法(三):基... 机器学习算法(三):K近邻(k-nearest neigh...
数字温湿度传感器DHT11模块... 模块实例https://blog.csdn.net/qq_38393591/article/deta...
有限元三角形单元的等效节点力 文章目录前言一、重新复习一下有限元三角形单元的理论1、三角形单元的形函数(Nÿ...
Redis 所有支持的数据结构... Redis 是一种开源的基于键值对存储的 NoSQL 数据库,支持多种数据结构。以下是...
win下pytorch安装—c... 安装目录一、cuda安装1.1、cuda版本选择1.2、下载安装二、cudnn安装三、pytorch...
MySQL基础-多表查询 文章目录MySQL基础-多表查询一、案例及引入1、基础概念2、笛卡尔积的理解二、多表查询的分类1、等...
keil调试专题篇 调试的前提是需要连接调试器比如STLINK。 然后点击菜单或者快捷图标均可进入调试模式。 如果前面...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
IHome主页 - 让你的浏览... 随着互联网的发展,人们越来越离不开浏览器了。每天上班、学习、娱乐,浏览器...
TCP 协议 一、TCP 协议概念 TCP即传输控制协议(Transmission Control ...
营业执照的经营范围有哪些 营业执照的经营范围有哪些 经营范围是指企业可以从事的生产经营与服务项目,是进行公司注册...
C++ 可变体(variant... 一、可变体(variant) 基础用法 Union的问题: 无法知道当前使用的类型是什...
血压计语音芯片,电子医疗设备声... 语音电子血压计是带有语音提示功能的电子血压计,测量前至测量结果全程语音播报࿰...
MySQL OCP888题解0... 文章目录1、原题1.1、英文原题1.2、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3...
【2023-Pytorch-检... (肆十二想说的一些话)Yolo这个系列我们已经更新了大概一年的时间,现在基本的流程也走走通了,包含数...
实战项目:保险行业用户分类 这里写目录标题1、项目介绍1.1 行业背景1.2 数据介绍2、代码实现导入数据探索数据处理列标签名异...
记录--我在前端干工地(thr... 这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前段时间接触了Th...
43 openEuler搭建A... 文章目录43 openEuler搭建Apache服务器-配置文件说明和管理模块43.1 配置文件说明...