你们说DNA是一种编程语言吗?
应该说,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。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有