类比在数学中的应用

核心提示21世纪是信息的世纪,21世纪是生物的世纪。前一个预言已经被大家认同了。但是后一个预言正在实现中。其实IT信息和生物信息有很多共同之处,本文我们就以码农的视角来学习下DNA和生信的一些知识。源代码和计算机程序一样,人体也有源代码,这就是所谓

21世纪是信息的世纪,21世纪是生物的世纪。之前的预测已经被大家接受了。但后一种预测正在成为现实。其实IT信息和生物信息有很多共同点。本文将从码农的角度学习一些关于DNA和信息生成的知识。

源代码

像计算机程序一样,人体也有源代码,叫做人类基因组。人类基因组长约3千兆字节,最多可以压缩到750兆字节。你可以从网上下载人类基因组的源代码。

DNA的源代码不像是C语言之类的编程语言,更像是一种叫做“核苷酸”的虚拟机字节编译代码。有没有编译字节的源码是很值得怀疑的。

DNA的语言是数字的,但不是二进制的。当二进制代码有0和1要处理时,DNA有4个比特:T,C,G和a。

数字字节通常是8位二进制数,而DNA的字节是3位数。每个数字位可以有4个值,而不是2个值,所以与256个二进制字节的二进制字节相比,DNA密码子有64个可能的值。

DNA密码子的典型例子是“GCC”,它编码丙氨酸。这些氨基酸然后组合成更大的结构“多肽”和“蛋白质”,蛋白质是生物体的基本物质之一,具有化学活性。

独立位代码

动态链接库内部不能使用静态地址,因为不同情况下代码可能出现在内存的不同位置。DNA也有类似的机制,即“代码转换”:

近一半的人类基因组由密码子或跳跃DNA组成。20世纪40年代,芭芭拉·麦克林托克博士首次发现了印度玉米颜色的独特遗传模式,这一模式得到了广泛认可。DNA跳跃是指某些DNA片段不稳定且“可行”的想法,即它们可以在染色体上和染色体之间移动。

条件编译

大多数细胞仅表达现在被认为存在于人类基因组中的2w至3w基因的一小部分。比如肝细胞几乎不需要神经元的DNA编码。

但是由于几乎所有的细胞都携带其基因组的完整拷贝,所以需要一个系统来#ifdef去除不需要的东西。这就是它的工作原理。遗传密码充满了# if/# endif语句。

这就是为什么干细胞现在如此受欢迎。这些细胞有分化成一切的能力。可以说代码还没有被#ifdeffed馈出来。

更准确的说,干细胞不是打开一切的,它们不仅仅是肝细胞和神经元。细胞可以比作从干细胞开始状态机。在一个细胞的整个生命周期中,它可能会被克隆多次,这是一项专门的技术。每个物种都可以被视为选择了树上的一个分支。

每个细胞都可以对自己的未来做出决定,从而使其更加专业化。相对于用转录因子克隆和修改空中DNA的存储模式,这些决定是持久的。

肝细胞虽然携带基因,但通常不能充当皮肤细胞。有迹象表明,有可能将细胞“向上”繁殖到层次结构中,从而使它们具有多能性。

遗传学和品牌:运行时二进制补丁

虽然生物体DNA的实际相关变化很少在一代内发生,但通过激活或失活基因组的某些部分可以进行大量修复,而不改变实际的代码。

DNA可以和Linux内核相提并论。Linux在启动时会找出它运行在哪个CPU上,如果它运行在单CPU系统上,实际上会禁用它的一些二进制代码。这超出了if之类的事情,它实际上是锁定的。重要的是,这种中断发生在内存中,而不是在基于磁盘的映像中。

同样,随着胚胎在母亲的子宫中发育,其DNA会被大量编辑,以降低其生长速度和胎盘大小。这样就平衡了父亲和母亲的利益竞争。这种“烙印”只能发生在母亲体内,因为父亲的基因组对母亲的体型一无所知。

最近,越来越清楚的是,父母的代谢状况会影响他们孙子的寿命、癌症和糖尿病。这也是有道理的,因为在食物匮乏的气候中生存可能需要与食物丰富的环境不同的代谢策略。

表观遗传和印迹的机制是“甲基化”,使甲基基团附着在DNA上“转录”其激活状态,组蛋白修饰,可使DNA卷曲,因此不被激活。

这些DNA编辑中的一些是可遗传的,并传递给孩子,而另一些可能只影响一种动物。

该领域仍在快速发展。DNA可能比最初认为的更有活力。

死代码,膨胀,注释-垃圾DNA

基因组中充满了旧的基因拷贝,但实验最近在某个地方出错了,比如最近的一百万年。代码仍然存在,但已无效。这些被称为“假基因”。

此外,人类基因组中97%的DNA已经被注释。DNA是线性的,从头读到尾。不应该解码的部分标记的非常清楚,就像C注释一样。直接使用的3%形成所谓的“外显子”。中间的注释称为“内含子”。

这些笔记本身就很吸引人。像C注释一样,它们有一个开始标签和一个停止标签。但是他们有更多的结构。记住,DNA就像一盘磁带,注释需要物理删除。评论的开头几乎都用字母“GT”表示,所以对应。

但是由于裁剪的原因,需要用一些胶水把注释前面的代码和后面的代码连接起来,这样注释就更像一个html注释,但是更长了:“”就意味着结束。

因此,含有外显子和内含子的实际DNA片段可能如下所示:

笔记开头很清楚,后面是很多非编码DNA。在评论结束附近的某个地方,有一个“分支站点”,这意味着评论即将结束。然后更多的评论,然后实际的终结者。

注释的实际切割是在DNA转录成RNA后完成的,通过循环注释并紧密结合实际的代码片段。然后,在靠近注释末端的“分支位置”切割RNA,之后将“供体”和“受体”相互连接。

当比较不同物种时,已知一些内含子显示出比相邻外显子更少的编码变化。这说明注释也起着重要的作用。

非编码DNA的大量存在有多种可能的解释,最吸引人的是“折叠倾向”。DNA需要以高度卷曲的形式存储,但并不是所有的DNA代码都能很好地做到这一点。

这非常类似于RLL或MFM编码。在硬盘上,通过极性转换或缺乏极性来对位进行编码。代码将0编码为“无过渡”,1编码为“过渡”。

编码000000很容易,只需保持几微米的磁相位不变。但是,在解码过程中,不确定性会增加。你读过多少微米?这对应的是六个零还是五个?为了避免这个问题,有必要对数据进行处理,使得这些长期的非转换不会发生。

如果在盘面上看到“不跃迁,不跃迁,跃迁,跃迁”,就可以确定对应的是“0011”。读取过程如此不准确,可能对应“00011”或“00111”。因此,有必要插入垫片,以防止过渡过少。这在磁介质上被称为“行程极限”。

请注意,有时有必要插入转换,以确保数据能够可靠地存储。内含子可以通过确保结果代码正确编码来做很多事情。

叉叉炸弹——“肿瘤”

像Unix一样,细胞不是“产生”的,而是分叉的。所有的细胞都是从卵子开始的,卵子要分叉很多次。就像程序流程一样,fork的两半一开始是一样的,但可能从那时起就决定做不同的事情。

就像Unix一样,当单元格不断被分叉时,就会出现很大的问题。会导致资源迅速枯竭,有时甚至死亡。这是癌症。牢房里有很多“ulimits”和“watchdogs”来防止这种情况。例如,端粒缩短限制了片段的数量。

除非满足非常严格的条件,否则不能克隆细胞。只有当这些保护措施失效时,癌细胞才会生长。与计算机安全一样,很难在安全性和可用性之间取得平衡。

与著名的暂停问题相比,暂停问题是由计算机科学的创始人艾伦·图灵首先提出的。也许无法预测一个程序是否会完成,就像无法创造一个不会得癌症的功能基因组一样?

镜像-故障转移

每一个DNA螺旋本身都是多余的,基因组可以看作是一个扭曲的梯子,其中每个辐条都包含两个碱基,因此被称为“碱基对”。如果其中一个基准缺失,可以从另一个基准中获得。t总是和A结合在一起,C总是和g结合在一起,因此,可以说基因组是呈螺旋状镜像的。可以称之为“RAID-1”。

此外,每条染色体都有两份拷贝:父母双方各有一份拷贝,只有Y染色体例外,它只存在于男性体内。实际细节很复杂,但大多数基因会出现两次。在一个损坏或突变失败的情况下,另一个独立副本仍然存在。这通常被称为“故障转移”。

混乱的API,靠的是地狱

当蛋白质在细胞中相互作用时,它们相互依赖。许多其他蛋白质相互作用蛋白质不能进化,或者至少只能以非常慢的速度进化。

这是由于极大的内在依赖性,抑制了蛋白质“契约”的变化。还要注意,进化确实发生了,但是非常缓慢,因为依赖的两个部分需要以兼容的方式同时进化。

病毒、蠕虫

最近有人在讨论中提出,把基因组砍下来,妥协一下,插入代码把自己复制到其他基因组里,以宿主为载体,这是非常酷的。“喜欢!”

不久之后,他意识到生物病毒正是他们几百万年来一直在做的事情。他们很擅长这个。这些病毒中的许多已经成为我们基因组的固定部分,并与我们所有人密切相关。因此,试图检测外来代码并阻止其进入DNA的病毒扫描器必须隐藏起来。

教条:。c->。o->a.out/。可执行程序的扩展名

当科学家们仍在寻找遗传学的基础知识时,他们面临着许多不同的化学物质,但相关性仍不清楚。事情明朗化了,就被捧为大胜利,被称为“教条”。

一般来说,DNA是用来制造RNA的,RNA是用来制造蛋白质的,这就好比说。c文件来自一个。o目标文件,可以编译成可执行文件。这是信息流动的唯一顺序。

就像任何十亿年前的编码项目一样,大量的黑客活动正在进行,有时信息以其他方式流动。有时RNA会修复DNA,而在其他时候,DNA会被更早产生的蛋白质修饰。

但总体来说,依赖性很明显,所以教条还是重要的。

二元修复-基因疗法

有些公司可以将带有DNA字符的ASCII文件发送到,它们会合成相应的“输出”。你也可以将DNA拼接到发育中的动物和植物上。

任何程序员都可以证明,“修补一个正在运行的可执行文件”要困难得多。就像基因组一样。要更改运行拷贝,您需要编辑要修补的基因的每个相关拷贝。

多年来,医学界一直试图给患有SCID或“严重综合免疫缺陷”的人贴上补丁,这是一种非常令人讨厌的疾病,实际上会使免疫系统失效——导致患者病情严重。很长一段时间以来,人们已经清楚DNA中的哪些字母需要修复才能治愈这些人。

使用将新DNA插入活生物体的病毒,已经进行了许多尝试来修复跑步的人,但这被证明是非常困难的。

然而,最近发现了正确的病毒,它可以破坏基因组的保护,修复受损的字符,从而导致看起来健康的人。

机误回归

当修复计算机程序中的错误时,新的错误通常会在这个过程中引入。基因组中充满了类似的东西。许多非洲裔美国人对疟疾免疫,但患有镰状细胞性贫血: >在疟疾这种寄生虫病全球流行的热带地区,只有一个人有特定的基因突变才有生存优势。遗传一份突变可以带来好处,而遗传两份则是悲剧。出生时带有两种基因突变的儿童患有镰状细胞性贫血,这是一种影响红细胞的痛苦疾病。

像计算机存储一样,DNA可能会被破坏。为了防止常见的“单比特错误”,从单个DNA字母到蛋白质的代码应该被简并。有4个RNA字符,U、C、G和A——换句话说,“字节”是2位长。三个字符对应一个氨基酸。

想象一下,6个位置可以映射到64个氨基酸,但实际上只有20个被编码。例如,UCU、UCC、UCA和UCG都被编码为“丝氨酸”,而只有UGG被映射为“色氨酸”。已经证明,编码中的一些可能的“错别字”导致相同氨基酸的表达。

圣典:——

有些代码是神圣的。我们可能不记得是谁写的,或者为什么,我们只知道它有效。想想的人可能已经离开公司了。此代码不可修改。

知道DNA“分子钟”的概念。基因组的一些部分正在发生积极的变化,而其他部分则是神圣不可侵犯的。后者的一个很好的例子是组蛋白基因H3和H4。

这些基因是基因组实际储存的基础,所以非常重要。这个代码中的任何错误都会很快导致机器出现故障。

所以可以预期代码不会被修改,事实证明是这样的。人类H3和H4基因的有效突变率为零。但这远远不止这些。你可以和任何东西共享几乎相同的代码,从鸡到草或者霉菌。

基于化石证据,人类和啮齿类动物中蛋白质编码基因的位点替换率为每一千亿年8000万年:

现在,似乎基因组可以确保代码不会在两个方面发生变异。第一种方法如上所述:使用高度简并的氨基酸,并确保出现的错别字产生相同的输出。

此外,在细胞繁殖过程中,基因可以更早或更晚地复制,这或多或少会导致有利的复制条件。这样的情况比较多。

看起来H3和H4写得很仔细,因为他们确实有很多“同义词变化”,而且他们不会通过以上巧妙的伎俩导致输出变化。

帧错误-起始位和结束位

...0 0000 0001 0000 0010 0000 0011 0 ...

这清楚地描述了8位值1、2和3。增加的空网格使得一个字节的开始和停止位置清晰可见。许多串行设备使用停止位和开始位来编码开始读取的位置。如果你稍微改变一下顺序:

...00 0000 0010 000 00100 000 00110 ...

它会显示2,4,6!为了防止这种情况在DNA中发生,有一些精心设计的信号机制将指导细胞从哪里开始阅读。有趣的是,一些基因组片段可以从多个起点读取,并可以以任何方式产生有用的结果。

DNA链可以被读取的每一种方式都被称为开放阅读框,每种方式通常有6或3种方式。

大规模多重处理-每个单元都是一个宇宙。

在这方面,DNA不同于计算机编程语言。但是有一些惊人的相似之处。你可以把每个单元想象成一个运行自己内核的CPU。每个单元都有整个内核的副本,但是只有相关的部分被选择激活。你可以说它加载了哪些模块或驱动程序。

如果一个细胞需要做什么,它会指出基因组的正确部分,并将其转录为RNA。然后RNA被翻译成一系列的氨基酸,这些氨基酸共同构成了DNA编码的蛋白质。

蛋白质标有目标地址。这是一种由几种氨基酸组成的标记,可以告诉细胞的其他部分蛋白质需要去哪里。有一些机器可以遵循这些指令,传输可能在细胞外的蛋白质。

然后剥去发货说明,再进行几个后处理步骤,可能会激活蛋白质。这很好,因为你可能不想把活性蛋白运送到它不应该工作的地方。

自托管和引导

如果你想毁掉这个星球上现有的所有C编译器,只留下一个代码,那你就麻烦大了。C代码包含在C编译器中,但是需要用C编译器编译。

实际上,这并不是通过用一种已经可用的语言编写第一个C编译器而不是使用C来解决的。

基因组也是如此。要创建标本的新“二进制”文件,需要一份活拷贝。需要基因组的精密工具链来提供有机体。工具链是“你的父母”。

文件

生物体通常从一个单细胞开始,如前所述,这个单细胞包含基因组的两个完整副本。可以说大tarfile和所有文件都已经提取出来,可以使用了。

输入同源基因。每个细胞都必须复制并被赋予一个目的。同源盒基因从放置一个“自上而下”的依赖关系开始,表现为“从头开始”。为了实现这一点,将创建一个化学梯度,通过这个梯度,细胞可以感知它们的位置,并决定它们是否需要做一些有用的事情来构建头部或原始的索带。

同源基因直到1983年才被发现,现在是一个非常令人兴奋的研究领域。有趣的是,像Makefile一样,“HOX”基因只触发其他基因中的事务,而不会实质性地构造事务。

所以可以说异源基因的语法是非常神圣的。如果将小鼠HOX基因的“腿选择器”部分复制粘贴到果蝇同源盒中会发生什么:

“事实上,当老鼠Hox-B6基因被插入果蝇时,它可以代替触角虫,产生腿而不是触角”

而果蝇的人类基因组不是几百万年前分支的,而是几亿年前分支的。然后,您可以复制Makefile的粘贴部分,它仍然有效。请注意,果蝇的“建腿”程序与老鼠的根本不同,但“选择器”正确地触发了正确的指令。

插入质粒

所有生物都有DNA,有时组织成多条染色体,有时只有一条,在一条染色体的情况下,它通常是环状的。例如,大多数细菌都是如此。除了这个主要的基因组,这种细菌经常携带“质粒”:具有特定功能的微小DNA环。

这种质粒在物种间是可移植的,它们可以通过各种机制水平转移。这样,即使是不同的细菌也可以互相“学习”抗生素耐药性。

相比编程界,质粒不是自愿的,就像LD _ PRELOADing一样。so或其他平台上的等效软件。事实上,质粒经常被注射用于研究目的。它们可以很容易地注射到各种细菌中,并立即发挥作用。

质粒独立于主要染色体进行自我复制,因此它们是细菌的永久固定装置。因此,质粒有一个宏伟的“复制起点”基因,当细胞想要分裂时就会被触发。

 
友情链接
鄂ICP备19019357号-22