您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
你们说DNA是一种编程语言吗?
碱基,程序,编程语言你们说DNA是一种编程语言吗?
发布时间:2020-12-06加入收藏来源:互联网点击:
你们说DNA是一种编程语言吗?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
应该说,DNA可以算是一种信息存储介质,而非一种语言。语言是一种约定、协议和编码方式,而非具体的物质。从概念上应该区别存储介质和编码方式。但估计题主的意思是认为DNA像人类的语言一样记录了生命的程序,我想从修辞的角度上讲确实大致可以这么说。
如何理解DNA是一种信息存储介质?
存储介质是用于存放信息的物质,在计算机领域,存储介质很明确地指磁盘、光盘、RAM、闪存等等。而在生物领域的信息存储介质除了DNA(脱氧核糖核酸)之外,还有RNA(核糖核酸)、蛋白质等等。这些分子能够以序列的方式组合,从而实现存储信息的功能。这就像磁盘上的小磁畴的序列可以用于存储二进制信息一样。介质,是实现信息存储的物质,符合此定义的还有人类用于书写和印刷的纸张、墨水,用于作画的画布和颜料等等。
上图:磁盘介质是如何记录信息的。
上图:DNA是如何记录信息的。
如何理解DNA上存储的程序语言?
DNA是一种序列性的存储介质,其信息的读取是采用序列化的方式来实现的。胞嘧啶(C)对鸟嘌呤(G),胸腺嘧啶(T)对腺嘌呤(A),通过正反链匹配的方式确保的信息一定的保真性(好歹有个备份,这非常类似现代计算机存储技术当中的卷影副本)。
在单条DNA链上的碱基序列存储着复杂的信息,其存储模式是以三个碱基为一个编码单位,其全部排列方式有4的3次方=64种,虽然生物在实际使用的时候64种密码子只对应了20种氨基酸。这相当于一个四进制数据存储体系,且数据宽度为“3位”,相较于计算机采用的二进制,而数据宽度可以采用16位、32位和64位。
上图:不同宽度的数据示意。二进制数据的每一位只有两个状态,0或者1。
下图是DNA转录为RNA之后对应的密码子(胸腺嘧啶T被替换为尿嘧啶U)。
上图:DNA密码子的编码规则。DNA密码子数据的每一位的数据有ATCG四个状态。
DNA的单链记录的数据就是一个四进制数据序列,这些数据需要先通过转录,被分片复制到RNA上,然后才能交给细胞内的核糖体翻译为对应的肽链。这些肽链再相互作用,根据DNA的设定的程序组装和折叠——某些肽链是负责组装其他肽链的,使得复杂的蛋白质的形成成为可能,这个过程及其复杂,以至于人类至今未能完全搞清楚所有这些生化过程——这就像是人类要看懂DNA记录的全部程序的源代码以及这些源代码如何被编译为蛋白质的过程。
读者必需了解的是:程序实际上就是一段数据,当这些数据被用于执行并产生其他数据的时候,这些数据就被称为程序。但程序离不开执行过程,一段不能执行的数据就不能叫程序了。
实际上DNA上也有不少区域无法执行,只不过是单纯的“数据”而已。
注意语言的涵义
语言是对于人而言的,是人表意的逻辑工具,是一种约定。而语言对于机器来说,则应该叫做“协议”或者“指令”可能更为恰当。所以题主称DNA为一种语言,在人类没有找到操纵DNA的生物技术之前是不妥当的,在此时期DNA可能只能称为某种“细胞指令”。
然而,当人类掌握了操纵DNA,根据自己的意图来设计DNA的技术时,例如时下流行的CRISPR/Cas9基因编辑技术,我们就可以将DNA上所包含的编码称为“语言”了——一种描述生命构成和运作方式的语言。
上图:CRISPR/Cas9是如何工作的。
作为人类可以操作的编程语言,DNA内的各种序列具备了类似人类自然语言语法的各种成分,从名词、代词到动词乃至各种虚词等都有。就有学者提出生物语法理论,诸如洽加夫的生物语法(Chargaff's grammar of biology)就以斐波那契数列及碎形理论来研究DNA的序列构成。也有人以语言学的理论来研究DNA的构成,下面这篇就是1999年发表的一篇以自然语言的语言学将自然语言与DNA语言进行比较的研究文章,很有意思。
总结
我们需要明确存储介质、数据,语言的概念,从而更精确地理解DNA的哲学涵义。在哲学上,DNA与计算机领域的编程语言有非常类似的特征。在学界也有学者以这种角度去研究DNA。
回答于 2019-09-11 08:43:50
肯定是啦,而且DNA是比计算机代码更为复杂,DNA包含4种碱基ATGC(RNA还有一个U),理论上可以认为DNA是四进制编码,而计算机只有0和1,是二进制编码,所以DNA完全是一种代码。
神奇的是,DNA内部有大量无法表达的序列,使得DNA的关键序列错误编辑的几率减小,大大减少了出现bug的可能。
我一直无法解释的是最开始的那一段DNA为什么知道复制自己,而且设置了一个很微妙的变异几率,以至衍生出如今多样化的物种,而现如今的计算机技术都不能让计算机自己编程,或许DNA真的是外星人的东西吧。
回答于 2019-09-11 08:43:50
如果拿编程对比的话,NDA不是编程语言,而更像是用编程语言写的“类”。
具体分析如下:
编程语言的解读
编程语言有三个最基本的概念——语素、语法和语义。
语素是构成编程语言的基本元素,它是语法的作用对象。它通常由合法字符表、基本数据类型和关键字表构成。
语法是语素复合的规则,也是语义表达的载体。
生物遗传的解读
与生物遗传相关的概念包括:染色体、蛋白质、多肽链、DNA、RNA、氨基酸、核苷酸、碱基。
它们之间的关系:
1. DNA和RNA都是链式结构,DNA是双链,RNA是单链。
2. 对于DNA,共有4种碱基:腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)、胸腺嘧啶(T)。
3. 对于RNA,共有4种碱基:腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)、尿嘧啶(U)
4. 碱基配对原则:A与T或者U配对、G与C配对。
上一篇:教师招聘面试要怎么准备?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |