美文网首页
认识序列

认识序列

作者: yhh_hygge | 来源:发表于2020-04-25 23:58 被阅读0次

这一次我们来看生物信息学分析的一个重要内容:序列比较。无论你是研究核酸的还是蛋白质的,无论你是搞测序的还是搞结构的,甚至是编程的,都逃不掉序列的比较。

  • 那什么是序列呢?- 序列的英文名字是 sequence,这个单词一定要记住。

  • 那序列长什么样子呢?- s 就是一条序列:s=abcdefghijklmnopqrstuvwxyz。

看了这个例子,学计算机的同学可能要笑了:“这不就是个字符串吗?我们管这个叫 string”。

没错,序列就是字符串, 由字符穿成的串。通常用 si 代表序列 s 的第 i 个字符,比如 s4是 s 的第 4 个字符,也就 是 d。当然你的字符串是从 0 位开始计数还是从 1 位开始,自己根据需要定!还有,习惯上 用 s'代表 s 的子序列。这些都是大家上计算机课已经熟知的了。

我们这里研究的序列主要是指蛋白质序列和核酸序列。

蛋白质序列是由 20 个不同的字母,也就是 20 种不同的氨基酸排列组合而成。

核酸序列是由 4 种不同的字母,也就是 4 种 不同的碱基排列组合而成。

核酸序列又分为 DNA 序列和 RNA 序列。 生物序列有自己的书写格式,而且格式很多。不同的处理软件会用到不同的格式,但是最常用的,大多数软件都识别的格式是 FASTA 格式。这个格式我们已经介绍过了,这里再复习一下。

FASTA 格式,第一行是一个大于号“>”开头,后面紧接注释信息,比如序列的名字,编号等。因为前面有大于号,序列分析软件会自动识别这是一条序列的开始,且这一行是注释而不是序列。从第二行开始就是纯序列部分,除了序列什么都不要写。最早定义 60 个字母一行,现在这个规定不重要了,经常见到的也有 80 个一行的,或者不分行,一行写下来的,根据实际需要自己决定!再次强调,一定要记住这个 FASTA 格式!后面会经常使用这个格式的序列。

认识了序列就要开始比较了,可是我们为什么要比较它们呢?比较的目的是为了找相似。 特别是从一大堆序列里找相似,这就是数据库中的序列相似性搜索。

如果给你一条序列,蛋白质序列也好,核酸序列也罢,让你从数据库中找到与它相同或相似的序列。这不是能用眼睛去完成的了,因为数据库中的序列实在是太多。我们了解到 UniProtKB 下属的数据库中,蛋白质序列的数量是惊人的。别说从这里面找了, 就是让你用眼睛比较一对序列都是不可能做到的。 所以我们需要特殊的算法,特殊的工具, 在尽可能准确的前提下,快速找到相似的序列。

假设我们已经找到相似的序列了,那接下来又能干什么呢,也就是说找到这些相似的序 列有什么意义呢?意义在于,相似的序列往往起源于一个共同的祖先。它们很可能有相似的空间结构和生物学功能。

因此,对于一个已知序列但未知结构和功能的蛋白质,如果与它序列相似的某些蛋白质的结构和功能已知,那么就可以推测出这个未知结构和功能的蛋白质的结构和功能。简言之,相似的序列意味着相似的结构,相似的结构意味着相似的功能。

当然, 这也存在例外,比如两个人可能长得很相似,但其他方面相差甚远。要说两个人有多相似,可以很相似,也可以很不相似,但是没有办法量化。

不过,序列有多相似是可以量化的。 我们用一致度(identity)和相似度(similarity)这两个指标来定量描述序列有多相似。 我们先从最简单的情况入手,看看如何计算一致度和相似度。

如果两个序列长度相同,那么它们的一致度可以暂时定义为它们对应位置上相同的残基数目占总长度的百分比。一个残基就是指一个字母(氨基酸或碱基)。

比如下面这两条序列中, 上下相同的残基位置有 2 个,序列长度为 4。它们的一致度就是 2 除以 4,50%。再看相似度,如果两个序列长度相同,那么它们的相似度可以暂时定义为他们对应位置上相似的残基 与相同的残基的数目和占总长度的百分比。这里,相同好找,但是相似怎么找呢?比如 L 和 I 是否相似?K 和 L 是否相似呢?要解决这个问题,我们需要替换记分矩阵。

相关文章

  • (一)序列比对

    1. 认识序列。 序列(sequence): 就是字符串(string) s=abcdefghijklmnopqr...

  • Android中的序列化

    为什么需要序列化? 在系统底层,数据的传输形式是简单的字节序列形式传递,即在底层,系统不认识对象,只认识字节序列,...

  • 【生信课程】03-序列比较-山东大学-生物信息学

    序列比较 认识序列 FASTA 格式,第一行是一个大于号“>”开头,后面紧接注释信息 序列相似性 相似的序列》相似...

  • 认识Java序列化

    我的个人博客,认识Java序列化 引言 将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java ...

  • 序列化 0512

    序列化 定义以及相关概念 由于在系统底层,数据的传输形式是简单的字节序列形式传递,即在底层,系统不认识对象,只认识...

  • Java 常用序列化解析

    java常用序列化解析 认识序列化 序列化 对于每一个程序员都算是再熟悉不过的名词了,但是对于市面是各种流行的序列...

  • 序列化相关

    定义及相关概念 由于在系统底层,数据的传输形式是简单的字节序列形式传递,即在底层,系统不认识对象,只认识字节序列,...

  • 序列化之 Serializable 和 Parcelable 的

    定义以及相关概念 由于在系统底层,数据的传输形式是简单的字节序列形式传递,即在底层,系统不认识对象,只认识字节序列...

  • html ul,ol,dl的用法与区别

    先认识一下无序列表(ul),有序列表(ol)和定义列表(dl): ul栗子: …… …… 表现为: …...

  • Java序列化与反序列化

    深入理解 JAVA 反序列化漏洞 关于 Java 对象序列化您不知道的 5 件事 Java 序列化的高级认识 ja...

网友评论

      本文标题:认识序列

      本文链接:https://www.haomeiwen.com/subject/zjfewhtx.html