从程序员的角度来看DNA(1)

源代码

在这里,这不是在开玩笑。这些源代码可以通过一个叫做'Ensembl’的专门的perl脚本浏览器来查看。

DNA并不像C的源代码,更像是已经编译好的可以在“虚拟机”上运行的“机器代码”。这个“虚拟机”可以是生物的细胞核。我们并不知道这些已经编译好的“机器代码”的源代码是否存在。

就算有这些源代码,我们是否能读懂它?当然如果未来人类能更自由地操控DNA,那么一定会发明人类自己的DNA源代码的编程语言。

和我们目前的机器代码类似,DNA的代码语言是数字形式的,但不是二进制的。二进制是0和1两种数字组成的编码,但是DNA有4种:T,C,G和A。

我们常用的1个字节有8位,而DNA的1个字节(称为'编码子’)有3位,每一位有可以有4个值(A、T、C、G),而不是2个值(0和1)。所以一个基因编码子有64个可能的值(4×4×4)。

DNA编码子的一个典型的例子是'GCC’,氨基酸丙氨酸由它编码而成。大量的这些氨基酸的聚合体成为'多肽'’或者'蛋白’,而这些就是在生命诞生过程中的不可缺少的化学活性物质。

位置独立的代码

动态链接库(大家应该都用过吧/ 动态链接库文件,是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源。 ),在DNA里也有类似的,被称为'置换代码’:

将近一半的人类基因组是由一些可以换位的片段或者一些跳跃基因组成,这是20世纪40年代Dr. Barbara McClintock在研究一种在印度玉米上发现的有关颜色奇特遗传方式时首次发现的。跳跃基因是指DNA的某些片段不是很稳定并且会'换位’,例如,他们会在染色体的前后移动。(这些'置换代码’,也就是动态链接库,可以自由地被加载到染色体代码的前面或者后面,具体的位置并不重要,因为只要程序知道需要调用其他共享的代码片段就可以)

(0)

相关推荐

  • 终极存储解决方案:把ZB级海量数据写在DNA上

    小小的双螺旋结构能够在不可思议的袖珍空间内存储惊人的信息量. 来源丨Scientific American 编译丨科技行者 在如今这个经受着大数据洗礼的时代下,弄清楚如何以低成本方式存储数据已经成为愈 ...

  • 如何看懂基因检测报告之突变类型

    很多人在面对基因检测报告时会有些困惑,不知道什么时新发突变,什么时功能获得性突变与功能失活突变,也不搞不清楚基因扩增是怎么回事.今天就来科普下基因突变这件事. 首先我们来了解下基因变异的三个途径: 第 ...

  • sgRNA设计要点及原理

    CRISPR-Cas9是一项可对基因组特定靶基因进行编辑的DNA操控技术,该系统由sgRNA和Cas9蛋白组成,Cas9蛋白在sgRNA的引导下对靶位点处的DNA双链进行剪切,并产生一个平末端的双链D ...

  • 大道至简,计算机是二进制,人类的基因呢

    题:大道至简,计算机是二进制,人类的基因呢? 文/姜子说书 说到我们近乎无所不能的互联网,就不得不提计算机的二进制,其基数为2,只有0和1两个数码,却可以演化出世间万物的形象. 没错,网络世界显示出来 ...

  • C语言字符编码问题探究(一):源文件编码导致的问题

    一.一个正常的C程序 第一步,在Windows 10环境下,使用Notepad++编写如下源代码,并保存到文件main.c当中. #include <stdio.h> int main(v ...

  • 从程序员的角度来看DNA(2)

    人类DNA的代码长度 人类基因组代码长度大约3个GB,压缩后只有750mb.也就是一张标准CDROM的数据量,比现在动辄几个GB的软件尺寸小得多.而且DNA代码和我们安装的软件代码都是"编译 ...

  • 从程序员的角度来看矩阵乘法

    翻译小组成员介绍: Alex Alex,英语爱好者,现工作于洛阳 翻译小组成员介绍: 向海飞 武汉市人,2002年华中理工大学应用电子技术专业本科毕业.现在洛阳工作. 文章: betterexplai ...

  • 当快递有了较强的“自我管理能力”,if……else......老程序员的DNA动了

    近年来 网络购物的快速发展 促使快递量不断增长 那么,问题来了 一天这么多快递 它是怎么快速"分堆"送到你手中的呢? 单纯依靠人力肯定是不现实的 不会自动就位的快递 不是好快递 时 ...

  • 程序员必备的思维能力:结构化思维

    在日常工作中,我们时常会碰到这样的情况,有的人讲一件事情的时候逻辑非常混乱,说了很多事情的罗列,却说不到重点.有的人写代码,本身的业务逻辑并没有多复杂,但呈现出的代码却像一堆线团,混乱不堪,无法理解. ...

  • 对于一个程序员来说,最浪费人生的事情大概...

    对于一个程序员来说,最浪费人生的事情大概就是: 1)追捧一些过时的技术.比如 Perl,窗口期已过,就算出个 Perl 7 也无济于事,自己玩还差不多. 2)过于痴迷一些平时不太用得到的技术.比如 H ...

  • 下岗程序员500万卖房炒股!割肉上机再入金龙鱼,股神还是韭菜?

    最近在投资平台上有个下岗程序员很火,据其自称610万深圳卖房拿出500万炒股,在割肉上海机场后,五一节后第一天再次出手.这次他吸取了教训,不再单吊一只股,而是同时买了三只股,分别是金龙鱼.中国平安.潍 ...

  • 一篇文章搞懂高级程序员、架构师、技术总监、CTO从薪资到技能的区别

    "我希望用一篇文章完全让大家正确的理解从程序员到架构师.技术经理.技术总监.CTO的完整区别以及进阶要领. 只有客观去认识,才会更加合理的找到自己的擅长点,从而更好的发展自己. 上图是典型的 ...

  • 程序员为你揭秘,什么是“千年虫”事件,“2038年问题”又是什么

    在即将进入2000年的时候,计算机出现了一个问题,它就是著名的"千年虫"事件. "千年虫"并不是现实生活中我们所见到的虫子,而是计算机系统由于时间紊乱产生的bu ...

  • 【赠书】程序员必备!如何深入理解计算机系统

    周末到了,本次给大家赠送3本新书,这次赠送的书籍是<深入理解计算机系统:第3版>. 这是一本什么样的书 这是一本讲解计算机软硬件系统的书,从程序员视角全面剖析其实现细节,使读者深刻理解程序 ...