继发性贫血

首页 » 常识 » 预防 » 类比学习之,计算机程序和DNA虫虫搜奇
TUhjnbcbe - 2023/7/2 20:27:00
北京看青春痘最好医院 http://m.39.net/news/a_9323162.html

21世纪是信息的世纪,21世纪是生物(生信)的世纪。前一个预言已经被大家认同了。但是后一个预言正在实现中。其实IT信息和生物信息有很多共同之处,本文我们就以码农的视角来学习下DNA和生信的一些知识。

源代码

和计算机程序一样,人体也有源代码,这就是所谓的人体基因组。人类基因组大约3个千兆字节长,最大可压缩到兆字节,可以网络下载人体基因组的源代码。

DNA的源码不像C语言等编程语言,而是更像是称为核苷酸的虚拟机字节编译代码。字节编译是否有来源是非常令人怀疑的。

DNA的语言是数字的,但不是二进制的。当二进制编码具有0和1来处理,DNA则是有4位的:T,C,G和A。

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

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

独立位代码

动态链接库(在Unix下是.so,在Windows上是.dll)在内部不能使用静态地址,因为在不同情况下代码可能出现在内存中的不同位置。DNA也有类似的机制,那就是转码:

人类基因组的近一半由转码子或跳跃DNA组成。上世纪40年代BarbaraMcClintock博士首先在印度玉米的颜色中发现了独特的遗传模式,这一点得到了广泛认可,DNA跳跃是指这样的想法,即某些DNA片段是不稳定的并且是可的,即它们可以在染色体上和染色体之间移动。

条件编译

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

但是由于几乎所有细胞都携带基因组的完整副本(分布),因此需要一种系统来#ifdef清除不需要的东西。这就是它的工作原理。遗传密码中充满了#if/#endif语句。

这就是为什么干细胞现在如此炙手可热的原因。这些细胞具有分化为一切的能力。可以这么说,代码尚未被#ifdeffed出来。

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

每个细胞都可以做出(或被诱使做出)关于其未来的决策,从而使其更加专业化。这些决定相对于使用转录因子进行克隆和通过修改DNA在空间上的存储方式(空间效应)而言是持久的。

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

遗传学特征和烙印:运行时二进制修补

尽管有机体DNA的实际相关变化很少发生在一代人之内,但通过激活或失活基因组的某些部分,可以进行大量修补,而无需更改实际代码。

可以将DNA与Linux内核进行类比,Linux在启动时会发现其运行在哪个CPU上,并且实际上会禁用其二进制代码的某些部分,以防万一(例如)在单个CPU系统上运行。这超出了诸如if(numcpus1)之类的东西,它实际上是锁定退出。至关重要的是,这种中断发生在内存中,而不是在基于磁盘的映像上。

同样,随着胚胎在母亲子宫内发育,其DNA会被大量编辑以降低其生长速度和胎盘大小。这样,父亲(强壮的大孩子)和母亲(幸存的怀孕)的利益竞争就达到了平衡。这种烙印只能在母亲内部发生,因为父亲的基因组对母亲的大小一无所知。

最近,也越来越清楚的是,父母的代谢状况会影响其孙辈长寿,癌症和糖尿病得病几率。这也是有道理的,因为在食物匮乏的气候中生存可能需要与食物充足的情况不同的代谢策略。

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

这些DNA编辑中的有些是可遗传的,并传递给儿童,其他则可能仅影响一只动物。

这个领域仍在迅速发展,可能是DNA比最初想象的要动态得多。

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

基因组中充斥着旧的基因副本,而实验则在最近的某个地方发生了错误,例如最近一百万年。该代码还存在,但是无效的。这些被称为伪基因。

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

这些注释本身引人入胜。像C注释一样,它们有一个开始标记(如/*)和一个停止标记(如*/)。但是它们具有更多的结构。请记住,DNA就像磁带一样,注释需要从物理上删除。注释的开头几乎总是由字母GT表示,因此对应于/*,结尾由AG表示,类似于*/。

但是由于剪裁,需要一些胶水将注释之前的代码连接到之后的代码,这使注释更像html注释,但更长:!-表示开始,-表示结束。

因此,带有外显子和内含子的实际DNA片段可能看起来像这样:

注释的开头很清楚,然后是许多非编码DNA。在注释结尾附近的某个地方,有一个分支站点,表示该注释将很快结束。然后是更多注释,然后是实际终止符。

注释的实际剪切是在将DNA转录为RNA之后进行的,方法是循环注释并将实际代码片段紧密结合在一起。然后,在注释结尾附近的分支位置处剪切RNA,此后,供体(注释开始)和受体(注释结束)相互连接。

当比较不同的物种时,目前知道一些内含子显示的编码变化少于邻近的外显子。这表明注释也起到了重要的作用。

大量的非编码DNA有很多可能的解释,最吸引人的(对编码者而言)与折叠倾向有关。DNA需要以高度卷曲的形式存储,但是并非所有的DNA代码都可以很好地做到这一点。

这很像RLL或MFM编码。在硬盘上,通过极性转换或缺少极性来对位进行编码。编码会将0编码为无过渡,将1编码为过渡。

编码很容易,只需将磁相保持几微米不变即可。但是,在解码时,不确定性会增加。读了多少微米?这对应于6个零还是5?为避免此问题,需要请对数据进行处理,以使这些长时间的无过渡不会发生。

如果在磁盘上看到无过渡,无过渡,过渡,过渡,则可以确定它对应于,读取过程非常不精确,以至于它可能对应于0或1。因此,需要插入垫片以防止过渡太少。这在磁性介质上称为行程限制。

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

fork()和fork炸弹——肿瘤

与Unix一样,细胞不是产生的,而是fork的。所有细胞都从卵子开始,此卵子要fork很多次。像程序进程一样,fork()的两半在开始时(大部分)是相同的,但是从那时起它们可能会决定做不同的事情。

和Unix一样,当细胞不断fork时会出现很大的问题。会导致资源迅速耗尽,有时甚至导致死亡。这就是癌症。细胞中有很大量的ulimits和watchdogs,以防止发生此类情况。例如,分割的数量受到端粒缩短的限制。

除非满足非常严格的条件(默认安全配置),否则细胞无法克隆。仅当这些防护措施失败时,癌细胞才会生长。和计算机安全性一样,很难在安全性(没有细胞可以分裂)和可用性之间取得平衡。

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

镜像——故障转移

每个DNA螺旋本身都是多余的,可以将基因组看作是一个扭曲的梯子,其中每个辐条都包含两个碱基,因此称为碱基对。如果缺少这些基准之一,则可以从另一侧的基准中得出。T总是与A结合,C总是与G结合。因此,可以说基因组镜像在螺旋内。可以说是RAID-1。

此外,每个染色体都有两个副本:每个父母都有一个副本,但Y染色体例外,它仅存在于男性中。实际细节很复杂,但大多数基因因此出现两次。万一一个损坏或突变失败,另一个独立副本仍然存在。这就是通常所说的故障转移。

混乱的API,依赖地狱

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

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

病*,蠕虫

最近有人在讨论中提出,砍掉基因组并对其进行折衷以插入代码将其自身复制到其他基因组中是非常酷的事情,使用宿主作为载体。就像!

此后不久,他意识到生物病*这正是数百万年来一直在做的事情。他们非常擅长于此。这些病*中有许多已成为我们基因组的固定部分,并与我们所有人息息相关。为此,必须对试图检测外来代码并阻止其进入DNA的病*扫描程序隐藏。

dogma:.c-.o-a.out/.exe

当科学家们仍在寻找遗传学的基础知识时,面临着许多不同的化学物质,但相关性还不清楚。当事情变得清晰起来时,它被誉为伟大的胜利,并被称为dogma。

总体上就是DNA用于制造RNA,而RNA用于制造蛋白质,这就像说.c文件来自一个.o目标文件,该文件可以编译成可执行文件(a.out/exe)。这是信息流动的唯一顺序。

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

但总体而言,依赖性很明显,因此dogma仍然很重要。

二进制修补——基因疗法

有些公司可以向发送带有DNA字符的ASCII文件,它们将为合成相应的输出。还可以将DNA拼接到发育中的动植物中。

正如任何程序员所能证明的那样,修补正在运行的可执行文件要困难得多。就像基因组一样。要更改正在运行的副本(人类),需要编辑要修补的基因的每个相关副本。

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

使用将新的DNA插入活生物体的病*,进行了许多尝试来修补奔跑的人,但这被证明非常困难。

但是,最近发现了正确的病*,该病*能够破坏基因组的保护并修复损坏的字符,从而导致看上去健康的人。

错误回归

修复计算机程序中的错误时,通常会在此过程中引入新的错误。基因组里也充斥着类似的事情。许多非裔美国人对疟疾具有免疫力,但却患有镰状细胞性贫血:在世界上寄生虫传播的疾病疟疾盛行的热带地区,只有一个特定基因突变的人具有生存优势。继承突变的一个副本可带来好处,而继承两个副本则是一个悲剧。出生时有两个基因突变的孩子患有镰状细胞性贫血,这是一种影响红细胞的痛苦疾病。

像计算机存储一样,DNA(及其中间的RNA)可能会损坏。为了防止常见的单比特错误,从单个DNA字母到蛋白质的编码都应进行简并。有4个RNA字符,U,C,G和A-换句话说,字节是2位长。三个字符对应一个氨基酸。

可以想象6位可以映射到64个氨基酸,但是实际中被编码的只有20个。例如,UCU,UCC,UCA和UCG都编码为Serine,而只有UGG映射为色氨酸。事实证明,编码中某些可能的typos(UCU-UCC)导致表达相同的氨基酸。

Holy代码:——/*勿动!!!*/

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

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

这些基因是基因组实际存储的基础,因此至关重要。该代码中的任何错误都会迅速导致机体失灵。

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

基于化石证据,每千亿年间人类和啮齿类蛋白质编码基因的位点取代率分别为万年:

现在看来,基因组可以通过两种方式确保代码不会突变。上面描述了第一种方法:使用高度简并的氨基酸,并确保确实发生的错别字产生相同的输出。

此外,基因可以在细胞繁殖过程中更早或更晚地复制,从而导致或多或少的有利复制条件。此类条件更多。

似乎H3和H4编写得很仔细,因为它们确实有很多同义词更改,通过上述巧妙的技巧,它们不会导致输出更改。

帧错误——起始位和终止位

...0110...

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

...0110...

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

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

大规模多处理——每个单元都是一个宇宙

在这方面,DNA不像计算机编程语言,很有不同。但是有一些惊人的类比。可以将每个细胞视为运行自己内核的CPU。每个细胞都有整个内核的副本,但是选择仅激活相关部分。可以说它加载了哪些模块或驱动程序。

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

该蛋白标有目标地址。这是一个由几个氨基酸组成的标记,可以告诉细胞的其余部分该蛋白需要去向何处。有一些机器可以按照这些指令操作,并传递可能在细胞外部的蛋白质。

然后剥离交货说明,然后执行几个后处理步骤,可能会激活蛋白质。这很好,因为可能不想将活性蛋白质转运通过不应起作用的地方。

自托管和引导

如果要销毁这个星球上所有现有的C编译器,而只将代码留给一个,那么将陷入极大的麻烦。将C代码包含在C编译器中,但是需要C编译器对其进行编译。

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

基因组也是如此。要创建标本的新二进制文件,需要一个活体副本。基因组需要精巧的工具链才能提供生物。该工具链就是你父母。

Makefile

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

输入同源异型基因。每个细胞必须复制并分配一个用途。同源异型框基因通过放置一个从上到下的依赖关系开始,该依赖关系显示为从头开始。为了实现这一点,将创建一个化学梯度,通过该梯度,细胞可以感知它们的位置,并决定是否需要做一些对构建头部或原始脊索有用的事情。

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

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

实际上,当将小鼠Hox-B6基因插入果蝇中时,它可以代替触角虫并产生代替触角的腿

果蝇和人类基因组不是在数百万年前就分支,而是在数亿年前就分支了。然后,可以复制Makefile的粘贴部分(遗传语言中的选择器),它仍然会有效。请注意,果蝇中的建腿例程与鼠标中的例程当然有根本不同,但是选择器正确触发了正确的指令。

插件——质粒

所有活生物体都有DNA,有时组织成多个染色体,有时只有一个,一个的情况下通常是环状的。比如大多数细菌就是如此。在这个主要的主要基因组旁边,这种细菌经常还会携带质粒:具有特定功能的微小DNA圈。

这样的质粒在种间是可移植的,并且通过多种机制它们确实可以水平转移。通过这种方式,即使是不同的细菌也可以彼此学习抗生素抗性。

与编程世界相比,质粒不是自愿的,就像LD_PRELOADing.so或其他平台上的等效物一样。实际上,经常出于研究目的注射质粒。它们可以轻松注入各种细菌中,并立即起作用。

质粒独立于主要染色体复制自身,因此是细菌的永久固定装置。为此,质粒具有一个宏伟的复制起点基因,当细胞想要分裂时就会触发该基因。

1
查看完整版本: 类比学习之,计算机程序和DNA虫虫搜奇