计算机已经成功的证明,“二进制”是一种简洁又高效的编码方案(且与物理硬件相得益彰),它可以传递和映射任意复杂度的信息。

但基因编码,绝大部分却使用了4种碱基(DNA是ATCG,RNA是AUCG),而不是2种碱基,这到底是为什么呢?难道自然进化不更应该偏爱“简单可用”的方案吗?

本文,将会深入探讨基因的编码选择,包括其背后可能的原因,以及更为深刻的关联到宇宙演化的原则与规律。

主题目录如下:

计算机与基因

基因“二进制”编码

基因“三进制”编码

为何“四进制”

结语

计算机与基因

计算机应用“二进制”,其实隐含了两个层面,即:编码与计算。

编码——是使用“2种数字”进行信息的表达与传递。

计算——是对“2种数字”进行控制,从而完成对信息(包括表达与传递)的控制。

那么,基因编码就是碱基的排列组合,它可以完成遗传信息的表达与传递,而基因计算就是对碱基的控制,它可以完成对遗传信息的控制。

碱基——简单来说,就是一种环形含氮化合物。

对于编码,碱基就可以看成是一种“抽象数字”,2种碱基就是2种“数字”,4种碱基就是4种“数字”,而“数字编码”所形成的序列,就“信息内涵”而言,“二进制”与“四进制”并没有什么本质的区别。

因为不同的编码方案,都可以表达和传递出相同的信息,就像不同的语言可以描述相同的意思一样,只不过信息编码的冗余度与能量消耗,不尽相同。

对于信息存储,计算机是基于物理介质的二维平面结构(即信息存储在平面上),而基因信息的存储,是基于生物分子的三维空间结构。

这两种形式,功能复杂度不同,但都可以动态的改变信息,计算机是改变存储介质的微观结构,而基因本身就是微观,因此其结构即是信息,修改结构即是修改信息,如:DNA甲基化。

DNA甲基化——是DNA化学修饰的一种形式,能在不改变DNA序列的前提下,改变遗传表现。其过程,是在转移酶的作用下,使甲基添加到DNA分子上。

对于计算,计算机是基于抽象数学(“二进制”就隐含进位的运算法则),其计算过程是数学逻辑的运算,而基因是基于具体数学,其计算过程是化学变化与量子效应。

抽象数学——是人类对自然规律的认知总结。

具体数学——是在自然规律下“进化”随机试错的产物。

显然,具体数学一定蕴含着抽象数学可以描述的自然规律,只不过“进化”并不需要“认知”自然规律,只需要“遵守”;而人类就是在,用抽象数学去模拟计算具体数学,只不过人类未必可以认知所有自然规律中的抽象数学。

综上可见,计算机与基因在信息的编码、存储与计算等方面,都可以找到一一对应的模式,并且这两套系统,都可以完成对信息的表达、传递与控制。

在《盗火》(Stealing Fire)一书中,根据当前合成生物学的研究成果,作者想象了未来可能发生的一个场景:

“通过把遗传密码字母中的4个字母,当成电脑编码中的1和0,合成生物学使我们能像为计算机编写程序那样简单地编写——活细胞程序。一旦代码编写好了呢?把它发送到一个DNA(基因)合成器,数天内,你会在快递包裹中收到一个冷冻干燥的小瓶,里面装着你的基因创造物。”

那么,基因编码在进化过程中,为了完成信息遗传的“任务”,选择了“4种碱基”而不是“二进制”,这是一个值得深思的问题。

而在这个问题之前,我们需要多问一句——如果基因编码采用“2种碱基”,同样也可以完成信息遗传的“任务”吗?

基因“二进制”编码

事实上,如果使用“二进制”,基因照样可以编码出同样的功能。

现在是3个碱基,编码一个密码子,每个碱基位有4种碱基可选,那么密码子的种类就是:4 x 4 x 4 = 64种。

密码子——是指信使RNA分子中,每相邻的三个核苷酸编成一组,在蛋白质合成时,代表某一种氨基酸的规律。

同样,如果每个碱基位有2种碱基可选,此时使用更多的碱基位来编码一个密码子即可,如:6个碱基位编码一个密码子,就可以编码同样种类和数量的密码子,即:2 x 2 x 2 x 2 x 2 x 2 = 64种。

但这样的问题就在于,编码密码子的碱基位变多,这种“排列增长”扩展到整个DNA链来看,会变得非常容易出错,因为二进制编码一个密码子需要正确排列6位(6个2),四进制只需要正确排列3位(3个4)。

同时,这还会消耗更多的能量,DNA结构会变得更长更复杂,等等一些列问题。

基因“三进制”编码

事实上,如果使用“三进制”,基因编码也没问题。

一个密码子就可以决定一种氨基酸,理论上64种密码子,可以决定64种氨基酸,但在实际中只有20多种氨基酸。

原因就在于,多个密码子可以对应同一个氨基酸,还有一些特殊的密码子,代表着编码肽链的“起始”与“终止”指令。其中终止密码子,有3种——不对应任何氨基酸。

肽链——是由多个氨基酸相互连接,形成含有多个肽键的一条链状结构。 肽键——是连接两个氨基酸的化学键。

那么,20多种氨基酸,其实只需要3种碱基(三进制)和3个碱基位即可,即:3 x 3 x 3 = 27种。但这样,密码子就失去了简并性,这会降低氨基酸对有害突变的“抗性”。

密码子的简并性——在分子生物学中,是指同一种氨基酸,具有两个或更多个密码子的现象。

因为,密码子中的一位或两位,可以突变成多种可能,但都依然保持密码子对应同一个氨基酸,这样就保证了氨基酸(及上层肽链和蛋白质)功能的稳定性。

而更进一步,如果随机突变产生了终止密码子(有3种),则就会立马终止肽链的合成,这会产生非常严重的功能性错误。

那么显然,三进制终止密码子的占比(3/27),约是四进制占比(3/64)的2.4倍——这个倍数将会在亿万次密码子的编码过程中,形成可观的突变积累效应。

由此可见,“四进制”编码并不“简洁”,但正是这个冗余性,可以极大提高基因编码的容错性(即减少有害突变),进而提高进化的稳定性。

为何“四进制”

综上可见,“四进制”——使用4种碱基(编码),并不是基因完成信息遗传“任务”的唯一方案,而这个方案在进化过程中,能够胜出的重要原因,主要有两个,即:冗余性与随机性。

关于冗余性,其最大的好处就是——容错性,其原理就在于:让错误发生在“冗余”之上,从而就避免了“非冗余”的错误。

那么对于计算机来说,也经常会使用冗余性来增加容错性,甚至对于量子计算机,“冗余校验”更是一个必要的功能步骤——因为量子计算的结果是一个概率,验证概率,就需要用统计数据,其原理就是:利用“冗余”操作的统计结果,来对比判断“非冗余”操作结果的正确性。

当然,进化并不会用“无限冗余”来保证“无限正确”,其原则就是“够用就好”,而如何抵达这个“够用”,这依靠的就是随机性。

关于随机性,其最重要的作用就是——随机试错,自然进化就是在随机试错的过程中,发现了“四进制”这个“够用就好”,接着“四进制”就被选择,成为了基因的编码。

我们可以看到,“四进制”很好的平衡了容错与够用,以让进化中的不利突变,降低到可以保证上层功能的稳定够用,同时编码过程的复杂性与能量消耗,也可以维持在稳定够用的平衡态。

因此,“四进制”其实是随机试错产生的,可以适应环境的概率产物。

那么可以想象,曾经“二进制”或“三进制”的基因编码,可能也是存在的,只是被环境给淘汰了——因为它们无法抵达“够用就好”。

结语

自然选择,适者生存,否则消失——因此,能够适应环境的“玩家”,就是进化过程中留存的“赢家”。

但适应环境,并不需要出类拔萃或尽善尽美,而只需要——够用就好,因为随机试错一旦遇到了够用就好,就会停止试错(甚至抑制试错),并等待着环境变化给予进一步的“指示”,方能继续试错。

事实上,够用就好,在此之下的都消亡了,在此之上企图追求完美的,最终也消亡了——因为完美就会缺少冗余,进而缺少容错,最终变得脆弱——而保持够用就好,就能很好的维持适应的平衡点,从而一直好好的存在着。 ​​​​

那么进化,在局部来看充满了随机性,但在漫长的时间尺度下,就会呈现出——规律,而在规律视角下,就拥有了方向——随机就变成了迭代。

因此,进化在微观局部来看——是随机试错,但在整体宏观来看——就是迭代试错。

主题相关文章:

三进制 四进制计算机原理,基因编码为何选择了“四进制”,而不是计算机系统的“二进制”?...相关推荐

  1. 全国计算机考试四给,全国计算机等级考试一级B模拟试题四

    (1)计算机模拟是属于哪一类计算机应用领域? A)科学计算 B)信息处理 C)过程控制 D)现代教育 [答案]D [解析]计算机作为现代教学手段在教育领域中应用得越来越广泛.深入.主要有计算机辅助教学 ...

  2. 四年级下册计算机有错必改教案,小学四年级下册语文《步行18里》必

    我为你走过-脚踏实地的近义词2021年1月11日发(作者:施立明) 小学四年级下册语文<步行18里>必 备教案 <步行18里>这 篇文章写的是发生在父子之间的故事.由于儿子的迟 ...

  3. 小学四年级下册计算机重大版教案,重大版英语四年级下册《Unit 5 When is the tiger show?lesson 3》教案.doc...

    重大版英语四年级下册<Unit 5 When is the tiger show?lesson 3>教案.doc 文档编号:608121 文档页数:3 上传时间: 2019-04-08 文 ...

  4. 计算机原理与编程设计,计算机原理与汇编语言程序设计(高职)

    计算机原理与汇编语言程序设计(高职) 语音 编辑 锁定 讨论 上传视频 为了适应高职高专的课程改革,本书将原来计算机专业的两大主要课程"计算机组成原理"和"汇编语言程序设 ...

  5. 计算机一级中的进制,计算机一级课程中介绍的不同进制数转换方法之数学原理.doc...

    本 科 生 毕 业 论 文(设 计) 2011 届 论文(设计)题目: 计算机一级课程中介绍的不同进制数转换 目 录 一.摘要····································· ...

  6. 计算机教育的进制转换,计算机数制及编码进制转换公开课教学教育资料.doc

    计算机数制及编码进制转换公开课教学教育资料.doc 数制与编码进制转换[学情分析]本课内容是在学生已经学习了计算机发展与应用.计算机系统的组成等知识的基础上进行,已经初步知道了人与计算机进行信息交换通 ...

  7. 16进制转Base64的实现原理及代码

    随着计算机技术的发展,数据的存储和传输方式也在不断更新,其中十六进制字符串和Base64编码是两种常见的数据表示方式.本文将介绍16进制字符串和Base64编码的原理,并提供Java代码实现16进制字 ...

  8. 计算机进位计数制实训课教案,进制转换汇报课教案[五篇]

    <进制转换>教学设计 课题:进制之间的转换 教学内容:二进制.八进制.十进制.十六进制之间的转换 教授方法:讲授法 教学目标:了解数制的基本概念 掌握其它进制转十进制和十进制转其它进制的方 ...

  9. 计算机转进制怎么看平方,计算机数制转换

    一.数制的引入 数制就是计数的方法,指用一组固定的符号和统一的规则来表示数值的方法. 在日常生活中,人们主要使用十进制(0-9),但在某些时候也使用其它进制,如十二进制(如1年有12个月.1打物品有1 ...

最新文章

  1. 越线人群计数--Crossing-line Crowd Counting with Two-phase Deep Neural Networks
  2. 支持向量机SVM 参数选择
  3. 光流 | OpticalFlow博客资源
  4. 6.Android的学习(Intent跳转页面,活动之间传递数据)
  5. spring整合activeMQ遇到异常:Error creating bean with name 'connectionFactory'
  6. Kerberos打开debug日志
  7. php break foreach_PHP foreach()跳出本次或当前循环与终止循环方法
  8. fl2440hello world模块驱动编写
  9. linux java bin 安装_linux下安装后缀为bin的Java JDK
  10. 电脑公司最新稳定win7系统下载
  11. 数据抽样方式:概率抽样、非概率抽样
  12. Mysql从入门到入魔——8. 视图、存储过程、事务处理
  13. 1M宽带50M宽带100M宽带最大下载速度
  14. ECharts 示例——双Y轴
  15. 快速幂与快速矩阵幂(以大数下的斐波那契数列为例)
  16. 调用opensmile编译的DLL动态库API进行声音特征提取
  17. MySQL从入门到精通:多表查询的灵活运用_02
  18. dell服务器系统密钥和coa,买戴尔1545的问一下,你们有没有coa标签
  19. 面试题 之 数据库部分 八
  20. 计算机组成原理算术逻辑实验,计算机组成原理-算术逻辑运算单元实验.doc

热门文章

  1. 理解假设检验: 统计学意义上的显著性水平 (Alpha) 和P值
  2. 白杨SEO:软文怎么写?怎么才能写好推广软文,有哪些技巧?
  3. Linux oci连接oracle服务器
  4. SQL server卸载软件(可修复注册表)
  5. Macbook无法开机?如何尝试自救
  6. 算法分析与实践-作业2-2使用Dijkstra算法求由顶点a到顶点h的最短路径
  7. Windows11 Windows安全中心无法打开 Windows Defender无法打开
  8. Jenkins持续集成入门到精通
  9. 你还不会用python进行数据分析吗
  10. 隔离技术之MUX VLAN