生物信息学
文章平均质量分 90
大青儿
这个作者很懒,什么都没留下…
展开
-
生物信息学(5)——基于CUDA的多序列比对并行算法的设计与代码实现
1. 设计并行算法的原因虽然 CLUSTAL 算法具有较高的精度,但是由于其构造导向树的距离,即两 两比对的过程,需要迭代调用双序列比对算法,这将使得算法的时间复杂度来到 n 的四次方,数据愈多,需要消耗的时间就指数增加,对 CPU 造成巨大压力。 CUDA 平台调度 GPU 提供的并行计算能力有效的缓解了这一问题。2. CUDA 下 CLUSTAL 执行流程由于 CLUSTAL 算法分为三步:两两比对、构建向导树、渐近比对,最耗时 间的为迭代调用双序列比对算法进行两两比对,且此时两两比对数据无写相关原创 2021-06-20 17:38:50 · 2953 阅读 · 2 评论 -
生物信息学(4)——多序列比对之CLUSTAL算法详解及C++实现
1. CLUSTAL简介CLUSTAL算法由 Feng 和 Doolittle等人于1987年提出,是一个渐进比对算法。渐进比对算法的基本思想是重复地利用双序列比对算法, 先由两个序列的比对开始, 逐渐添加新序列, 直到一个序列簇中的所有序列都加入为止。但是不同的添加顺序会产生不同的比对结果,因此, 确定合适的比对顺序是渐进比对算法的一个关键问题。而两个序列越相似,就越能获取到高的比对效果,因此, 整个序列的比对应该从最相似的两个序列开始。2. CLUSTAL算法过程详解2.1 两两比对构建一个n×原创 2021-06-20 17:11:26 · 8981 阅读 · 0 评论 -
生物信息学(3)——双序列比对之BLAST算法简介
1. BLAST算法简介动态规划算法如生物信息学(1)与生物信息学(2)两篇提到的NW与SW算法肯定能得到最优解(最优分为全局最优与局部最优),但是要计算一个庞大的得分矩阵。随着序列的增长,复杂度会平方级别的升高。因此,时间开销和空间开销就会很大。动态规划需要计算出(seq1+1)×(seq2+1)大小的矩阵,但绝大多数数字其实在回溯时是没有用到的,如果能够只计算最终回溯路径附近的一些单元的话,与整个矩阵全部算完,效果近似。从一个局部来启发,找到一个方法贴近回溯路径,即找到大概会在什么地方匹配,然后顺着原创 2021-06-20 16:58:28 · 17188 阅读 · 4 评论 -
生物信息学(2)——双序列比对之Smith-Waterman(SW)算法详解
1. SW 算法简介Smith-Waterman 算法是由 Temple F. Smith 和 Michael S. Waterman 两人在 1981 年提出来的,是 Needleman-Wunsch 算法的改良版,通过算法的比对,能获 取到局部最优解。SW 算法罚分规则如下:SW 算法罚分规则如公式以罚分规则为基础,得分矩阵的公式如下,可以看到,和上篇介绍的NW算法相比,最大的改变是,多了一个0。这样做就可以杜绝得分矩阵中的负数。获取得分矩阵后,找全局最大的值,在此点往左上回溯,到0停止,然原创 2021-06-20 16:35:26 · 12380 阅读 · 2 评论 -
生物信息学(1)——双序列比对之Needleman-Wunsch(NW)算法详解及C++实现
1. 什么是序列比对所谓的序列比对,就是两个或者多个序列按照碱基排列进行比较,从而反映片段之间的相似性和阐明序列的同源性。这里主要是将未知功能的序列与已知序列进行比对,从而确定序列分析。序列比对的基本思想是,基于生物学中序列决定结构,结构决定功能的普遍规律,将核酸序列和蛋白质一级结构上的序列都看成由基本字符组成的字符串,检测序列之间的相似性,发现生物序列中的功能、结构和进化的信息2. 引入序列比对的原因对于两种相似的序列,DNA复制一共有三种情况可能导致两个序列不同:(1)SNP(单核苷酸多态性),原创 2021-06-20 16:01:09 · 21835 阅读 · 18 评论