一种活细胞“编程语言”

麻省理工学院的生物工程师们创造了一种编程语言,使他们能够快速设计复杂的DNA编码通路,从而给活细胞赋予新的功能。使用这种语言,任何人都可以为他们想要的功能写出一段程序,如检测和应对特定环境条件的程序。然后,他们就可以生成能实现这些功能的DNA序列。

“这实际上是一种细菌的编程语言,”麻省理工学院的生物工程教授Christopher Voigt说道。“您可以使用基于文本的语言,就像你在进行计算机编程。你得到程序文本后对它进行编译,之后它变成DNA序列被你放入细胞内,接着这个通路就在细胞内运行。”

Voigt 和其在波士顿大学和标准与技术研究所的同事们使用这种发表于4月1日的科学(Science)杂志上的语言,构建的通路可检测多达三个输入,并以不同的方 式作出反应。对于这种编程的未来应用包括设计在检测到肿瘤时能产生抗癌药物的细菌,或创建一种酵母细胞,当有太多的有毒副产物积聚时可以制止自己的发酵过 程。

研究人员计划在Web上提供用户设计界面。

无需任何经验

在过去的15年中,生物学家和工程师们设计了许多遗传部件,如传感器,记忆开关和生物钟,它们可以合并修改现有的细胞功能,并且可以添加新的功能。

然而,设计每一个通路都是一个费力的过程,需要极大的专业知识和通常情况下大量的试验和错误。“你必需对这些碎片将如何进行工作,以及它们怎样聚集在一起有非常深厚的认识,”Voigt说。

然而这种新的编程语言并不需要用户具有基因工程的专业知识。

“你可能对它们中的任何一部分如何工作一无所知。这就是它的不同之处,” Voigt说。“你可能是个高中生,基于Web服务器输入你想要的程序,它就会吐出DNA序列。”

该 编程语言基于Verilog,其通常用于编程计算机芯片。通过创建一个能为细胞工作的语言版本,研究人员设计的编码元件例如逻辑门和传感器,都可以在细菌 细胞的DNA中进行编码。该传感器可以检测不同的化合物,如氧或葡萄糖,以及光,温度,酸度以及其它环境条件。用户也可以添加自己的传感器。“这非常便于 定制,” Voigt说。

最大的挑战,他说,是设计在通路中使用的14个逻辑门,使它们不会在放置于活细胞的复杂环境中时互相干扰。

在 编程语言的当前版本中,这些遗传元件用于大肠杆菌优化,但研究人员正在致力于扩大为其它细菌的菌株,包括在人体肠道中常见的杆菌,和通常生活在植物的根中 的假单胞菌属,以及酿酒酵母。这将允许用户编写一个单一的程序,然后在不同的生物体中编译,进而为每一个生物体获取正确的DNA序列。

生物学通路

使用这种语言,研究人员编程了60种具有不同功能的通路,其中45个在他们首次测试时功能正常。许多通路被设计用于测量一种或多种环境条件,如氧气水平或葡萄糖浓度,并作出相应的反应。另一个通路被设计为随机排列三个不同的输入,然后根据每一个的优先级作出响应。

其中一个新的通路是迄今为止建造的最大的生物通路,含有7个逻辑门和含有约12000个碱基对的DNA。

该技术的另一个优点是它的速度。到现在为止,“这将需要几年的时间来构建这些类型的通路。现在,您只需按下按钮,就会立即获得DNA序列并进行测试,”Voigt说。

他的研究小组计划使用这一方法运行几个不同的应用程序:可吞食乳糖帮助消化的细菌;可以生活在植物根系和在感觉到攻击时产生杀虫剂的细菌;和当在发酵反应器中产生太多的有毒副产物时,可以被程序化地关闭的酵母

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

时间: 2024-09-19 23:59:25

一种活细胞“编程语言”的相关文章

《深入理解Scala》——第1章,第1.1节Scala一种混合式编程语言

第1章 Scala--一种混合式编程语言 Scala是一种将其他编程语言中的多种技巧融合为一的语言.Scala尝试跨越多种不同类型的语言,给开发者提供面向对象编程.函数式编程.富有表达力的语法.静态强类型和丰富的泛型等特性,而且全部架设于Java虚拟机之上.因此开发者使用Scala时可以继续使用原本熟悉的某种编程特性,但要发挥Scala的强大能力则需要结合使用这些有时候相互抵触的概念和特性,建立一种平衡的和谐.Scala对开发者的真正解放之处在于让开发者可以随意使用最适合手头上的问题的编程范式.

Seed7 2011-07-17发布 一种通用编程语言

Seed7是一种通用编程语言.它是一种比Ada,C++++和Java更高层次的语言. Seed7新的声明和操作符可以轻松地声明.比一个模板或泛型的概念更讲究结果和类型参数的函数.它是面向对象的,与其他的解决方案是有着非常明明显优势.虽然Seed7包含其他编程语言的几个概念,但它一般不考虑作为任何其他编程语言的嫡系. Seed7 2011-07-17更新日志: - FAQ answers, explaining how interpreter and compiler look for inclu

《树莓派开发实战(第2版)》——1.3 Figaro简介:一种概率编程语言

1.3 Figaro简介:一种概率编程语言 在本书中,您将使用一种称为Figaro的概率编程系统.(我用莫扎特的歌剧<费加罗的婚礼>中的角色为其命名.我喜爱莫扎特,并在该剧于波士顿的一次演出中饰演巴尔托洛医生.)本书的主要目标是教授概率编程的原则,在本书中学到的技术应该可以在其他概率编程系统上沿用.附录B简单描述了现有的一些系统.但是,本书还有第二个目标--帮助您获得创建使用概率程序的亲身体验,并提供可以立即使用的工具.因此,许多例子都用Figaro代码实现. Figaro是从2009年开始开

浅谈几种主要编程语言

        经常听到有人在抱怨这个语言哪里哪里不好,那个语言又是如何的优秀.对于这样的牢骚,我只是一笑而过.        就我而言,语言只是工具,没有好坏之分.只要你采用相应的语言,完成对应的工作,那你的目标就完成了.我们无需抱怨这种语言的缺点,而是应该抱有接受的态度.任何语言的存在都有它的合理性,如果不合理是不会经受住时间的考验的.世间之物都具有双面性,只是看利多还是弊大.如果一个东西是十全十美的,那我毫不犹豫的告诉你,一种情况是它不存在,另一种情况是你还没发现它的缺点.        

24种编程语言的Hello World程序_其它综合

Hello,World,几乎是程序猿学习各种语言的第一个程序,心血来潮,有空拿主流开发语言如何实现,汇总并整理了下.包括大致快速了解下这门语言,开发,编译,环境搭建,运行,简单语言等.其实很多语言是由关联的,在当下,只掌握一门语言是不够的,比如说Python,语言简洁,开发快是其最大优点.但缺点是速度相对较慢,但C/C++/Java开发比较慢,程序运行速度比较快,如果想兼具两者的优点,就要写Python的扩展,这就涉及到(C,C++,Java,Fortan...)等语言,Python的GUI中T

十三种编程语言和它们名称背后的故事

如果玫瑰不叫玫瑰,芳香是否如故? 程序员们普遍认为,软件开发工作当中难度最高的一项任务就是为成果命名.尽管这种情况并不多见,但命名过程中尤其令人头大的就是面对着一种新型编程语言. 在一种新型语言的设计工作宣告结束后,随之而来的命名过程往往遵循以下几个步骤:以语言本身的特性或者描述为名,采取首字母或者缩写形式(例如BASIC.COBOL.TCL以及LISP);从现有语言当中派生而来的新名称(例如C++.C#以及CoffeeScript);又或者直接取自某位对数学或者计算科学作出卓越贡献的伟人(例如

Dart:谷歌推出的web编程语言

Dart是谷歌推出的一种web编程语言,Dart 1.0版本已完工. Dart是为网站与web应用在程序效率和软件表现方面对JavaScript的一种提升.项目主管Lars Bak在博客更新中说,1.0版本的发布也就意味着Dart已经可以正式用于web世界,而不再只是测试.虽然还有很多障碍让Dart无法直接用于web,谷歌还是为之提供了一些间接的实现机制,并且尝试说服其他浏览器制造商Dart值得使用. Dart是在2年前初次登上历史舞台的,本次1.0版本的发布则是在比利时的Devoxx大会上.谷

PHP、JAVA及.NET三种技术的区别

有朋友在问这方面的问题,整理一下给大家帖出来,供初学者在选择技术时有一个参考. 三种编程技术各有优势,我们大概可以从语言.平台这二点来区分: 一.语言: PHP:PHP产生与1994年,其语法混合了C.Java.Perl 和他自创的一些编程语法:PHP是嵌入在HTML中执行的:它也是一种解释性语言.早期的PHP并非完全的面向对象编程语言,到了PHP4以后的版本才开始有了面向对象的概念. JAVA:JAVA产生与1995年,JAVA语言和JAVA平台统称为JAVA:它语法与C语言和C++语言很接近

1月编程语言排行榜:Obj-C成2011年度语言

TIOBE 于今日公布了2012年1月编程语言排行榜.前三的位置有变动,正如上期的标题所言(C#快取代C++的第三名),第三位置已经易主. Objective-C 在获得第二名的两年后,终于赢得了 TIOBE 2011 年度编程语言.这个奖项是颁发给在 2011 年中市场份额增长最多的编程语言.Objective-C 的目前市场份额增比 2011 年 1 月份高出 3.91%.这主要归功于 iPhone 和 iPad 的持续成功,这两种设备上的程序主要都由Objective-C 实现. TIOB