生物信息学算法笔记

生物信息学序列比对算法——动态规划 序列比对是生物信息学中非常重要的一个概念,对分析生物数据具有不可或缺的作用。目前绝大多数的序列比对工具均包含了基于动态规划的序列比对的步骤。序列比对问题类似于最长公共子序列问题 (Longest Common Subsequence problem, LCS) ,进而衍生出了全局比对算法尼德曼-翁施算法 (Needleman-Wunsch Algorithm) 与局部比对算法史密斯-沃特曼算法 (Smith-Waterman algorithm) 。......... 阅读详情

入门生物信息学,选了一条比较难的路,直接从底层算法开始,这种做法其实不太明智。读了"Algorithms on Strings, Trees and Sequences",一本厚厚的算法书,后半部分其实读得有些粗糙。今天读完了第一遍,总的来说还是有些收获,将笔记记录于此。

全书总共分为四部分:基本字符串算法、后缀树算法、非精确匹配算法、映射与测序。基本字符串算法以KMP为代表,这个是基本功,而且很久之前的博客竟然正好记录了这个算法;后缀树算法在前几篇博客专门进行了描述;非精确匹配以动态规划为基础,这个也算是老朋友,近期的博客也专门讨论了这个主题,本文也将继续延伸这个话题;映射与测序,也将在此进行讨论。因此本文分为两大部分:非精确匹配的进一步讨论、映射与测序。

整理得有点乱,甚至有些部分直接用的截图,以后有机会再进一步整理。本文的主要目的是记录一些核心思路,方便今后回顾。

 

非精确匹配的进一步讨论

Refining Core String Edits and Alignments

空间优化:Computing alignments in only linear space

那么转移方程可以写成如下形式:

由转移方程可知,空间可压缩一维。

 

时间优化:Faster algorithms when the number of differences is bounded 

之前在后缀树的应用里讨论过 k-mismatch的问题,这里讲讨论 k-difference 的问题,区别在于:前者只允许替换,而后者还允许增删。

两类特殊的 k-difference问题:

k-difference global alignment 

下图为动态规划转移表,(0, 0)开始的对角线为主对角线,其左下方的为负对角线,其右上方的为正对角线。若最多允许k 个不同,则最终结果必然从 -k对角线 至 k对角线 之间的条带中的状态推导而来,因为这个条带以外的状态,其匹配已经出现了超过k个不同的字符。

 

Exclusion methods: fast expected running time 

先排除一些不可能匹配成功的片段,进而优化计算速度。总的思路如下:

具体的算法很多,这里描述两个典型的:BYP算法、CL算法。

BYP算法:

 

CL算法:

 

Yet more suffix trees and more hybrid dynamic programming 

有两个典型的问题。

The P-against-all problem Given strings P and T, compute the edit distance between P and every substring T' of T. 

The threshold all-against-all problem Given strings P and T and a threshold d, find every pair of substrings P' of P and T' of T such that the edit distance between P' and T' is less than d. 

思路:

对于P-against-all 问题,可以先构建出T的后缀树,在这个后缀树上计算与P的编辑距离,即在后缀树上进行深度优先的动态规划。优点在于可以省去很多重复计算。对于all-against-all 问题,请参考书上相关章节(12.4.2)。

 

LCS 的快速算法

其实就是将LCS 问题转化为LIS 问题,而LIS 可以在O(N*logN) 内实现,因此LCS 也变成了O(N*logN)。

LIS的O(N*logN)算法

D为数字序列,D的一个cover定义为D的下降序列的集合,且这个集合涵盖了S的序列全部。cover的大小为这个集合中下降序列的个数。

如:S= 5, 3, 4, 9, 6, 2, 1, 8, 7, 10。则 {5, 3, 2, 1}; {4}; {9, 6}; {8, 7}; {10} 是S 的一个cover,这个cover的大小为5。

根据定理12.5.4可知,构建最小cover的过程可以采用二分搜索法,因此最终的时间复杂度为O(N*logN)。

 

如何将LCS 问题转归为LIS 问题

定义:r(i)表示S1[i]这个字符 在S2中出现过多少次,r=∑r(i)。

定义:t(x)表示x 这个字符在S2 中出现的位置的列表,并且顺序为从大到小排列。

举例:S1=abacx, S2=baabca,则 r=3+2+3+1+0=9,t(a)=(6,3,2),t(b)=(4,1)。

基于S1构建列表SS:对于S1中每个位置i,用t(S1[i])列表进行替换,最终可以得到长度为r的新列表SS。

举例:对于以上S1和S2,构建的SS为:(6,3,2,4,1,6,3,2,5)。

定理:SS的LIS 与S1和S2的LCS对应。

 

拓展:多个字符串的LCS问题,可以用类似的方法转换成LIS问题。

 

Extending the Core Problem

主要讨论了3个问题:Parametric sequence alignment 、Computing suboptimal alignments  和 Chaining diverse local alignments。此处主要看下 Parametric sequence alignment。

实际工作中,会遇到不少带参数的字符串匹配问题。

 

Multiple String Comparison

将字符串对齐问题(非精确匹配)从2个字符串拓展到多个字符串,即为多字符串比较问题。实际上从生物学角度来看,多个字符串的问题与两个字符串的问题是相反的。

两个生物学事实。

The first fact of biological sequence analysis: In biomolecular sequences (DNA, RNA, or amino acid sequences), high sequence similarity usually implies significant functional or structural similarity. 

The second fact of biological sequence comparison: Evolutionarily and functionally related molecular strings can differ significantly throughout much of the string and yet preserve the same three-dimensional structure(s), or the same two-dimensional substructure(s) (motifs, domains), or the same active sites, or the same or related dispersed residues (DNA or amino acid). 

第一个事实是两个字符串问题的生物学基础,第二个事实是间隔问题及多个字符串问题的生物学基础。

Multiple String Comparison的3大应用:蛋白家族(及超级家族)的呈现、DNA或蛋白质中与结构(或功能)相关的保守片段的识别和呈现、DNA或蛋白质的进化史的推导(进化树的形式呈现)(进化树的内容本文略去)。

 

Family and superfamily representation

常用的呈现方式有3种:profile representations, consensus sequence representations, and signature representations. 

 

profile representations

定义:Given a multiple alignment of a set of strings, a profile for that multiple alignment specifies for each column the frequency that each character appears in the column. A profile is sometimes also called a weight matrix in the biological literature. 

举例:下图是对齐后的结果。

对每列的各个字符计算出现频率,得到下表,即为profile representations。

对于新字符串aabbc,其相对于profile的最佳对齐方式应当如下图所示。

解决思路:

For a character y and column j, let p(y, j) be the frequency that character y appears in column j of the profile, and let S(x, j) denote ∑y[s(x, y) x p(y, j)], the score for aligning x with column j. 

Let V(i, j) denote the value of the optimal alignment of substring S[l..i] with the first j columns of C. 

初始条件:

 

转移方程:

 

signature representations

一些保守序列可以用类似于正则表达式的形式表示,这种表示即为signature representations。如某个motif 可表示如下:

[&H][&A]D[DE]xn[TSN]x4[QK]Gx7[&A]

"&" stands for any amino acid from the group (/, L,V, M, F, Y, W), "x" stands for any amino acid, and alternative amino acids are bracketed together. The subscript on x gives the length of a permitted substring; "n" indicates that any length substring is possible. 

 

consensus sequence representations

找一个公认的有代表性序列,作为该蛋白家族的呈现,即为consensus sequence representations。

Steiner consensus strings 

D(Si, Sj) denotes the weighted edit distance of strings Si, and Sj. 

Given a set of strings S, and given another string S', the consensus error of a string S' relative to S is E(S') = ∑si∈s D(S' Si). Note that S' need not be from S. 

Given a set of strings S, an optimal Steiner string S* for <S is a string that minimizes the consensus error E(S*) over all possible strings. 

 

Multiple string alignments 的计算

给定一种对齐方式,对于其中任意两个字符串计算分值,最后将所有分值求和,得到总分值SP(sum of pairs),目标是使得SP最小化。

这个问题虽然可以使用动态规划准确求解,但是时间复杂度是指数级的,这是个NP 完全问题。书上给出了三个字符串的SP求解示例程序(pascal语言)。

此外,书中还给出了bounded-error approximation 的方法(界定误差的近似求法)——center star法。感兴趣的请直接参考章节14.6.2。

 

Sequence Databases and Their Uses

这个部分介绍了常见的几个数据库 及其背后的部分算法,如:FASTA、BLAST、PAM、BLOCKS和BLOSUM 等。

本文此处不进行记录,直接看书吧,或者在实际操作中去领会。

 

映射与测序

Mapping

概念

以下概念摘自网络资源(具体来源不详)。

遗传图谱(genetic maps):某一物种的染色体图谱(也就是我们所知的连锁图谱),显示所知的基因和/或遗传标记的相对位置,而不是在每条染色体上特殊的物理位置。采用遗传学分析方法将基因或其它DNA标记按一定的顺序排列在染色体上,这一方法包括杂交实验,家系分析。标记间的距离(遗传图距)用减数分裂中的交换频率来表示,单位为厘摩Centi-Morgan, cM), 每单位厘摩定义为1%交换率。遗传学图谱的解像度(分辨率)低,大约只能达到100万碱基对(1Mb)的水平。

物理图谱(physical maps):顾名思义,是DNA中一些可识别的界标(如限制性酶切位点、基因等)在DNA上的物理位置,图距是物理长度单位,如染色体的带区、核苷酸对的数量等。

两者异同:
  ①遗传图谱是基于重组频率,物理图谱是基于直接测量的DNA结构。
  ②减数分裂重组的频率并不统一沿大多数染色体。有一些热点和冷点在重组和/或突变。热点和冷点会导致相当大的格律失真时,遗传图谱和物理地图并排排列时。
  ③遗传图谱表示的是基因或标记间的相对距离,以重组值表示,单位CM
  ④物理图谱表示的是基因或标记间的物理距离,距离的单位为长度单位,如μm或者碱基对数(bp或kp)等。

简而言之,前者是描述的基因相对位置,后者是具体的碱基位置。

STS是序列标记位点(sequence-tagged site)的缩写,是指染色体上位置已定的、核苷酸序列已知的、且在基因组中只有一份拷贝的DNA短片断,一般长200bp-500bp。它可用PCR方法加以验证。将不同的STS依照它们在染色体上的位置依次排列构建的图为STS图。在基因组作图和测序研究时,当各个实验室发表其DNA测序数据或构建成的物理图时,可用STS来加以鉴定和验证,并确定这些测序的DNA片段在染色体上的位置;还有利于汇集分析各实验室发表的数据和资料,保证作图和测序的准确性。

EST是表达序列标签(expressed sequence tag)的缩写,在人类基因组测序工作中,有一个区别于"全基因组战略"的"cDNA战略",即只测定转录的DNA序列。此时,须从cDNA文库中获取一些长为300-400各碱基序列作为表达序列标签,其作用相当于全基因组测序时的序列标记位点(STS),即可用来验证和整理不同实验室发表的cDNA测序资料。两端又重叠序列的EST可以装配成全长的cDNA序列。特定的EST序列有时可代表特定的cDNA。

辐射性杂交制图技术(radiation-hybrid mapping)是一种体细胞杂交技术,适用于构建人类基因组长范围内的高分辨率连续物理图谱。利用高剂量的X射线将候选染色体打断成若干片段,含有这种片段的细胞可与仓鼠细胞形成杂交克隆。在这种杂交中,人类染色体片段被插入到仓鼠染色体的中间部分,因此大部分克隆片段在进行有丝分裂时处于稳定的状态。

利用类似于遗传重组原理和最大似然性的统计学方法来计算存在于DNA片段上的多态性或非多态性标记之间的断点频率,以此估计标记之间的距离,并建立人类基因组拷贝库---体细胞杂交系统。可根据不同要求构建出断裂程度不同的多套拷贝,从而得到不同分辨率的放射杂交图。总之,辐射性杂交是建立在受到X射线照射的供体细胞与非放射线处理的受体细胞融合基础上的一种体细胞遗传学方法。

Physical mapping:STS-content mapping and ordered clone libraries

下图中有4个STS,其真实顺序如下图所示,但是这个顺序我们事先是不知道的,需要结合后面的计算去推断出来。下图还包含3个clone片段。

匹配出3个片段各自包含了哪些STS之后,可得到下图的01矩阵,由于事先并不知道各个STS的排列顺序,因此此时顺序是打乱的。

找出一种排列顺序,使得每行中的1具有连续性,成为一个独立的块。这也就实现了STS顺序的重建。

Physical mapping: radiation-hybrid mapping 

这个是加强版的STS顺序问题,每个细胞具有多个不相邻的片段,如下图所示。

由于不知道真实顺序,匹配各个STS后,得到以下的01矩阵。

重建STS顺序的方法:traveling salesman tour。

构建无向图,边 e(u ,v)表示编号为u与v的STS 列,之间有几个01值不相同。为了方便起见,此处略去5-7这3个STS,构建的无向图如下所示。

找一个从S出发且经历所有节点的路径,且经历的路径总长度(即所有e(u ,v)之和)最短,这条路径的顺序很可能就是STS的顺序。上图求得的最短路径为:S-3-1-4-2,长度为6,对应的连续块的数量为4。遗憾的是并不是真实的顺序1234(真实顺序的连续块的数量竟然更大…)。(期待更好的方法解决这个问题)

Physical mapping: fingerprinting for general map construction 

探针问题与STS问题类似,但是探针在DNA序列中可以重复出现,如下图所示。

上图最终构造的01矩阵是5*4的规模,重建出其真实顺序的难度比较大。有不少文章提出过解决方案,书中描述了一种贪心方法,请参考章节16.8。

 

Sequencing

引物步移(primer walking):一种长链DNA测序的策略。根据已测出的序列结构设计测序引物,按第一轮测序得出的新序列,再设计引物进行第二轮测序,如此重复,直至获得全序列。

嵌套缺失法(Nested deletion) : 该法基本原理是基因DNA链的一端与载体相连固定,另一端在核酸外切酶的作用下随着时间的延长,较匀速地消化变短。这样可人为获得一组长度不等(如依次相差200~250 bp)的从一端开始缺失的DNA片段。它们从缺失端开始的测序可读部分宛如拉杆天线的一段套管,最长片段(未被核酸外切酶作用的DNA)相当于拉杆天线的全长,它的可读部分相当于拉杆天线的最远端的套管。这些DNA片段从长至短虽然依次相差200~250 bp,但从缺失端可读取300~500 bp序列,重叠部分便可准确无误地将相邻段重合拼接。测序中,它们的引物相同因而可以很方便地首先读出引物序列,找出该DNA片段的起始,起始段DNA序列也正是前一较长DNA片段可读的后一部分序列,它们如此重叠嵌套,便可准确测出整个基因(或长DNA链)的序列。

书中还提到了 "Top-down, bottom-up sequencing( the picture using YACs)" 、"Shotgun DNA sequencing" 等方法的描述。这些东西将会重新学习一遍,之后会系统地学一下WGS的知识。

 

----------------------------------------------------------------------------------

2018/10/02 补充

学习路上吃了很多亏,无法及时的将所学的东西运用起来。时间不够用啊,我的专业不是这个方向,有很多事情等着我去做呢,这个时候最高效的方式是先了解如何使用,然后练习即可。学有余力再去专研其理论知识(人生苦短)。以今天的经验教训来看,本文的这些东西(包括之前字符串的非精确匹配、3篇后缀树系列博客),以后不要再纠结了,尽量不要把时间花在这方面。

 

生物信息学(1)——双序列比对之Needleman-Wunsch(NW)算法详解及C++实现 1. 什么是序列比对 所谓的序列比对,就是两个或者多个序列按照碱基排列进行比较,从而反映片段之间的相似性和阐明序列的同源性。这里主要是将未知功能的序列与已知序列进行比对,从而确定序列分析。序列比对的基本思想是,基于生物学中序列决定结构,结构决定功能的普遍规律,将核酸序列和蛋白质一级结构上的序列都看成由基本字符组成的字符串,检测序列之间的相似性,发现生物序列中的功能、结构和进化的信息 2. 引入序列比对的原因 对于两种相似的序列,DNA复制一共有三种情况可能导致两个序列不同: (1)SNP(单核苷酸多态性), 阅读详情

相关推荐

Algorithms on Strings, Trees and Sequences 高清英文版

String algorithms are a traditional area of study in computer science. In recent years their importance has grown dramatically with the huge increase of electronically stored text and of molecular sequence data (DNA or protein sequences) produced by various genome projects. This 1997 book is a general text on computer algorithms for string processing. In addition to pure computer science, the book contains extensive discussions on biological problems that are cast as string problems, and on methods developed to solve them. It emphasises the fundamental ideas and techniques central to today's applications. New approaches to this complex material simplify methods that up to now have been for the specialist alone. With over 400 exercises to reinforce the material and develop additional topics, the book is suitable as a text for graduate or advanced undergraduate students in computer science, computational biology, or bio-informatics. Its discussion of current algorithms and techniques also makes it a reference for professionals.

关于生信常用的PCA算法

PCA是一种常用的数据降维算法,主要就是根据特征值提出特征值较大的几个特征向量,并将高维向量投影到特征向量上以达到数据降维的目的。 第一步当然是处理数据,将样本数据按列放入numpy的数据框(比如100个样本,每个样本4个数据,就是4行100列,反过来也可以,不过要注意调换内积的顺序)。 数据需要先做归一化,以减去所有样本的均值来实现。 from sklearn.datasets import l...

Q.1的博客 2081

麒麟操作系统安装达梦数据库ARM版

Linux安装达梦数据库ARM版

运维@小兵的博客 8767

算法在生物信息学中的应用

上述代码实现了简单的 Needleman-Wunsch 全局比对算法,首先创建得分矩阵并初始化边界,然后通过动态规划填充得分矩阵,最后回溯最优比对路径并输出比对结果,同时注意了内存的合理分配和释放等操作。实际生物信息学中的应用会更复杂且涉及更多优化和拓展功能,这里只是一个基础示例用于展示算法的大致实现思路。请注意,这只是生物信息学众多算法应用中的一小部分示例,不同的算法在实现和应用场景上有较大差异,但整体都是围绕生物数据处理与分析这个核心目标来开展的。

qq_40844444的博客 1944

TPC好像是这么回事儿

TPC(Transmit Power Control)发送功率控制,本觉得就是控制一下发送功率,原理很简单,但看原版协议死活每搞懂什么意思,恼羞成怒!!!! 后来又看了一些贴子和cisco的相关功能介绍,再回头看协议,好像是这么一回事: 1、所谓TPC,是AP控制STA的发送功率的一种手段。在802.11d中,已定义了使用Country Element传递区域无线通信规定的信道和最大发送功率信息: 通过获取这些信息,STA可以确定自己应该遵守什么规则,可以用什么发送功率在哪些信道上通信。 2

两只勤劳的蜜蜂 8625

【AIGC】COT思维链:让AI学会拆解问题,像人一样思考

COT思维链的出现,为AI的发展开辟了一条新的道路。它让AI学会了像人类一样思考,将复杂问题分解成简单的步骤,并逐步推理出最终答案。希望我的引导会对你产生启发。

智兔唯新的博客 9001

生物信息学算法之Python实现|Rosalind刷题笔记:001 碱基统计

前言Rosalind is a platform for learning bioinformatics and programming through problem solving....

公众号/简说基因,知乎/简宝玉 2797

嵌入式开发必备:UART、RS232、RS485通信协议实战对比(附代码示例)

本文从嵌入式开发实战角度,深度对比了UART、RS232和RS485三种核心串行通信协议。详细解析了它们的工作原理、硬件连接、代码配置及典型应用场景,并提供了基于通信距离、节点数量和电磁环境的三维度选型指南,帮助开发者根据项目需求做出最优技术决策。

i0j1k2l3m的博客 474

生物信息学入门笔记(生物信息学算法)-Bioinformatics

一、DP动态规划算法概要 Itisagoodalgorithmtosolvethesegmentationprocessoptimizationproblem,itmeansthatwecandivideitintoseveralsegmentations,andcalculatetheoptimizeresu...

weixin_34392906的博客 1696

【crawler笔记】R语言简单动态网页爬虫(rvest包)示例

1、爬虫目标 大家普遍认为Python的爬虫功能强大,但在解决动态加载或者登陆网站时,Python存在一定困难的,相对于一些普通爬虫,使用R语言会更方便。 以https://www.thepaper.cn/为例,爬取首页的新闻(标题、内容、时间),主要采用的是动态网页中常用的httr包。 初始学习时,参考了B站《20分钟入门基于R语言的网络爬虫_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili》的视频,但代码运行出现了报错,所以在原代码上做了修改。 2、代码分析及报错修改 library(rv

seeyouer1205的博客 3275

大疆RoboMaster嵌入式面试,电机FOC调不出来当场走人

摘要:大疆RoboMaster嵌入式工程师面试以实战能力著称,重点考察FreeRTOS任务调度、FOC电机控制和CAN总线三大核心技能。FreeRTOS部分涉及优先级调度、栈溢出排查及信号量与互斥锁的区别;FOC控制要求现场编写电流环代码,并解释Clarke/Park变换原理;CAN总线则关注仲裁机制、CANopen协议应用及错误帧排查方法。面试强调工程实践,需具备STM32开发经验,建议搭建实际环境进行练习。该岗位被誉为"硬件版修罗场",充分体现大疆对实际开发能力的严格要求。

郑伟强dev的专栏 150

生物信息学入门——“山东大学生物信息学”学习笔记7统计基础和序列算法

在生物学研究中,数据分析和模型构建是理解复杂生物系统的关键工具。贝叶斯公式作为一种强大的概率工具,能够帮助研究者从有限的数据中推断出潜在的生物学规律。同时,灵敏度和特异度作为二元预测的重要指标,在生物标志物的筛选和疾病诊断中发挥着重要作用。此外,序列算法如后缀树的构建与应用,为基因组学和蛋白质组学的研究提供了高效的计算方法。本文将探讨这些工具在生物学中的具体应用,展示它们如何推动生物科学的发展。贝叶斯公式、灵敏度和特异度以及序列算法是生物学研究中不可或缺的工具。

m0_52967263的博客 993

连接参数详解:Connection Interval, Slave Latency, Supervision Timeout 的协同与调优实战

在低功耗蓝牙(BLE)开发与调试中,Connection Interval(连接间隔)、Slave Latency(从机延迟) 和 Supervision Timeout(监督超时) 是三个核心参数。它们不仅直接影响设备的通信性能、功耗表现和连接稳定性,更是各类技术面试与认证考试的高频考点。本文将从基础概念出发,深入剖析三者的协同机制,结合历年真题解析考点与解题思路,并通过实战案例演示调优方法,快速掌握这一核心知识点。

byte轻骑兵的技术小窝 2761

生物信息学算法之Python实现|Rosalind刷题笔记:002 中心法则:转录

我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛。但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章:分子生物学中心法则:D...

公众号/简说基因,知乎/简宝玉 847

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

生物信息学算法之Python实现|Rosalind刷题笔记:004 求DNA的反向互补序列

碱基互补配对原则是:A 与 T 配对,G 与 C 配对。求 DNA 的反向互补序列分两步:第一是反向,第二是互补。比如序列“ATGC”,反向就是“CGTA”,再互补就是“GCAT”。给定...

公众号/简说基因,知乎/简宝玉 2961

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

生物信息学软件_生物信息学入坑笔记(1)

2019.2.13 生物信息学入坑笔记(1)前沿:虽然我是食品科学学院的博士,但我的课题却与生物信息学密不可分,为了能顺利毕业,不得不入坑生物信息学。生物学+IT相结合,从此打开一扇新的大门,感觉学无止境,现将学习的历程记录下来,与广大入坑学友共勉。(若有错误之处请指出,将不胜感激)教学视频《生物信息学 北京大学 生物信息学中心》https://www.bilibili.com/video/av1...

weixin_39658726的博客 837

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

bemd算法实现信息隐藏_生物信息学算法之Python实现|Rosalind刷题笔记:002 中心法则:转录...

我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛。但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章:分子生物学中心法则:DNA --> RNA --> 蛋白质 --> 细胞表型基因组中心法则:基因组 --> 转录组 --> 蛋白质组 --> 细胞表型如何用计算机语言描述生物大分子,以及它们...

weixin_33170268的博客 322

生物信息学算法之Python实现|Rosalind刷题笔记:013 随机DNA序列

众所周知,基因组的核酸链不可能是随机形成的。有时候许多物种基因组之间,存在一些保守序列(motif),这意味着它们可能具有重要功能。但是,我们如何确定这些序列不是随机形成的 DNA 片段...

公众号/简说基因,知乎/简宝玉 1315

生物信息学算法之Python实现|Rosalind刷题笔记:003 中心法则:翻译

我在生物信息学:全景一文中,阐述了生物信息学的应用领域非常广泛。但是有一点是很关键的,就是细胞内的生命活动都遵从中心法则,生物信息学很多时候就是在中心法则上做文章:分子生物学中心法则:D...

公众号/简说基因,知乎/简宝玉 1674

生物信息学算法之 Python 实现|Rosalind 刷题笔记:007 兔子问题和递推

序列是一组有序对象的集合,它有如下特征:序列内元素可以重复;序列可以是有限的,也可以是无限的。递推关系是一种用来定义序列的方法,可以通过前面的项,推导出后面的项。如斐波那契兔子问题,某月...

公众号/简说基因,知乎/简宝玉 437

生物信息学算法之Python实现|Rosalind刷题笔记:005 GC含量计算

DNA 序列的 GC 含量是指序列中'G'和'C'所占的百分比。一条 DNA 序列很容易表示,但是如果有多条 DNA 序列放在一起,则每条序列必须被标记,...

公众号/简说基因,知乎/简宝玉 2989

生物信息学算法之Python实现|Rosalind刷题笔记:010 DNA一致性序列计算

经常碰到需要计算一组 DNA 序列的一致性序列,比如去除测序数据中的 PCR 错误,最简单的方法就是通过计算它们之间的一致性序列。图源:rosalind.info计算一致性序列,通常借助...

公众号/简说基因,知乎/简宝玉 1370

生物信息学算法之Python实现|Rosalind刷题笔记:011 DNA六框翻译

开放阅读框(Open Reading Frame, ORF)是由起始密码子开始,直到终止密码子结束,中间不含有其他终止密码子的核酸序列。由于 DNA 是双链结构,任何一条链都可以作为模板...

公众号/简说基因,知乎/简宝玉 3778

生物信息学算法之Python实现|Rosalind刷题笔记:006 计算点突变数

汉明距离的定义:对于两条长度相等的字符串来说,汉明距离指的是它们之间不相同的字符数。对于两条 DNA,则是它们之间的点突变数目。给定:两条长度相等的 DNA 序列(不超过 1kb)。需得...

公众号/简说基因,知乎/简宝玉 936

生物信息学算法之Python实现|Rosalind刷题笔记:009 查找DNA中的motif

在字符串中查找子串是一个常见问题。子串在字符串中可能是唯一的,比如特定的基因序列;也有可能有多个拷贝,比如基因组中的重复序列。这些重复序列可能相同,可能有微小区别。本题中重复子串完全相同...

公众号/简说基因,知乎/简宝玉 1141
上一篇: 字符串的非精确匹配
下一篇: 杂
FarmerJohn
博客等级 码龄15年 1097粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FarmerJohn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值