序列两两比对算法_学会正确选择多序列比对(coding-sequences)软件

2023-11-06

前几天,实验室的师弟师妹通过本地blast获取一些没有基因组注释物种的蛋白编码序列。原本以为可以快速地进行下一步的选择压力分析,没想到却在多序列比对这一环节出现了棘手的问题。以前,我都是经过PRANK软件进行多序列比对,然后再使用Gblocks软件对数据进行过滤的。现在,由于师弟师妹在拼接CDS序列时,有些碱基并不是保留3的倍数,造成很多编码序列出现移码突变,甚至变成了伪假基因(几百个基因)。虽然,现在可以进行多序列比对的软件有很多,比如Muscle、MAFFT、PRANK等,但它们均不能解决移码突变的问题。于是,我开始去google搜寻解决方案。功夫不负有心人,我最终找到了完美的解决办法,收获颇丰,所以把这个过程记录下来。

430f21cce4f5?utm_campaign=hugo

多序列比对(multiple sequences alignment,MSA)是开展进化生物学研究的前提,后续可以进行选择压力分析以及推断物种系统发育历史。

多序列比对表示不同序列中的氨基酸/核苷酸的位点同源性。将序列比对用于进化分析时,处于相同位置的氨基酸/核苷酸位点则被认为在进化上是同源的,并且具有共同的祖先。通过研究序列比对中同源序列是如何随时间变化的,可以推断序列的结构和功能是如何进化的。比如,对多个物种同源序列的比较可以发现发生替换的位点,进而判断出哪个序列在哪个位置发生变化。另外,两个序列之间的长度差异可以通过删除一个序列中的现有碱基位点或插入另一个序列中的新碱基位点来解释。两个序列之间发生替换差异的进化谱系,可以用外群序列来解决,也可以通过推断两个序列的祖先的特征状态来解决。因此,以上所有情况的结论准确性很可能取决于多序列比对(MSA)的准确性。

最近的研究表明,MSA算法在分析基因组序列时会产生不同的结果,包括系统发生树推断和适应性进化的检测。换句话说,错误的MSA将会产生一个非真实的进化历史信号,从而导致错误的推断。为了减少MSA错误的影响,许多研究人员在优化MSA算法和MSA质量过滤软件等方面做出了大量的努力。然而,MSA不仅包含比对错误,而且还包含序列自身错误(如测序错误、组装错误或错误的基因注释等)。所以,正确选择MSA分析流程可以显著减少这些错误的产生,从而获得高质量的保守同源序列用于下游的分子进化分析。

接下来,我主要是介绍一些平时比较常用的主流分析软件以及它们的优缺点。可能还有很多优秀的软件,由于个人精力有限,暂时只讲一下我自己比较熟悉的工具,请大家见谅。

01. Multiple Sequence Alignment

430f21cce4f5?utm_campaign=hugo

2013年,Blackburne 和 Whelan 在Molecular Biology and Evolution期刊发表他们的研究成果,该成果证明了MSA方法在下游分析中的关键作用,突出了在分析中选择的不同的MSA软件对其结果有明显的影响。

math?formula=%5Ccolor%7Bblue%7D%7BClustal%7D是最早开始使用的多序列比对工具,由 Feng 和 Doolittle 于1987年提出,该程序有许多版本,可以基于多种平台,目前引用次数已近100000次(Thompson et al. 1994; Larkin et al. 2007)。它采用一种渐进的比对方法,先将多个序列两两比对构建距离矩阵,反应序列之间两两关系;然后根据距离矩阵计算产生系统进化指导树,对关系密切的序列进行加权,然后从最紧密的两条序列开始,逐步引入临近的序列并不断重新构建比对,直到所有序列都被加入为止。因此,它是一种试探算法,所以渐进比对不能保证能够得到最优的比对。

math?formula=%5Ccolor%7Bblue%7D%7BMuscle%7D是一款速度最快的比对软件之一,在速度和精度上都优于ClustalW,目前引用次数高达26246次(Edgar 20

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

序列两两比对算法_学会正确选择多序列比对(coding-sequences)软件 的相关文章

  • (十一)javascript内置对象之Math内置对象

    内置对象就是 js 语言自带的一些对象 这些对象可供开发者使用 这些内置对象提供了一些常用的或是最基本而必要的一些功能 内置对象最大的优点是帮助我们快速开发 javascript提供的常用的内置对象有 Math Date Array Str
  • matlab plot 连续曲线,Matlab怎么画出连续的曲线?

    因为你是在for循环中画的 所以循环一次算出一个点 matlab就画一个点 你可以在循环完毕后在使用plot画图 clear all clc i 1 脚标i L1 1 L2 1 L 1 C1 1 C2 1 C 1 m 0 5 w 50 a
  • C++期末复习运算符混淆---打妖怪

    7 2 打妖怪 低级错误 运算符混淆问题 实验1 第二题 话说孙大圣保唐僧西天取经 路上遇到一妖怪 妖怪共有 v 滴血 大圣每打一棒就能使妖怪失去 h 滴血 妖怪一旦没血就会立即死去 大圣打 n 棒刚好将妖怪打死 请编写程序 输入 v 和
  • 代码题: 看代码说结果, 事件循环 + async 函数的

    1 基本的 async await 和事件循环 console log 1 async function asyncFunc console log 2 await Promise resolve console log 3 asyncFu
  • Simulated Binary Crossover(SBX)的学习

    最近在做作业遇到一个Dejong s fifth function的multi modal的问题 用传统的GA方法尝试了很多次 的确没办法搞定 随机很多次也不一定在global optimum的地方得到一次解 前几天去导师家里的路上谈到这个
  • 什么是 MATLAB(矩阵实验室)?工作、功能和应用

    MATLAB 被 MathWorks 定义为专有软件应用程序和编程语言 可促进复杂的数据分析任务 例如算法实施 与其他应用程序交互以及操作数据矩阵 本文介绍了 MATLAB 的用途 其关键概念以及 2022 年的用例 什么是 MATLAB
  • 【解决】TypeError: this.$refs.treeRefs.xxx is not a function

    问题 使用refs触发子组件内方法时报 TypeError this refs treeRefs xxx is not a function 解决 经查看 发现子组件被放在了v for循环体内 示例代码如下
  • 虚拟机上部署K8S集群

    虚拟机上部署K8S集群 安装VM Ware 安装Docker 安装K8S集群 安装kubeadm 使用kubeadm引导集群 安装VM Ware 参考 http www taodudu cc news show 2034573 html a
  • 推荐系统:Wide & Deep模型解析

    1 Wide Deep模型介绍 经典推荐深度模型 Wide Deep 对应的论文 Wide Deep Learning for Recommender Systems 链接 arxiv Wide Deep的模型架构如下图所示 可以看到Wid
  • 运维技能风向标

    运维介绍 运维是一个融合多学科 网络 系统 开发 安全 应用架构 存储等 的综合性技术岗位 从最初的网络管理 网管 发展到现在的系统运维工程师 网络运维工程师 安全运维工程师 运维开发工程师等 可以看出 运维的分工一直在细化 并且对综合技能
  • Element Plus for Vue 3 入门教程

    本文首发 Element Plus for Vue 3 入门教程 Element Plus 有那些升级 Element Plus 与 Element UI 是什么关系 老 Element 项目是否可以平滑升级到 Vue 3 Element
  • 如何快速实现Android平台前端设备接入能力

    技术背景 SIP 会话初始化协议 是在 IP网络上进行多媒体通信的应用层控制协议 以几种RFC的形式提供 其中最重要的是包含核心协议规范的RFC3261 该协议用于创建 修改和终止与一个或多个参与者的会话 通过会话 我们了解了一组进行通信的
  • linux inode满了后,怎么清理

    最近服务器的inode inode介绍 达到了90 当 Ised 节点使用率 达到100 时 即使文件系统有剩余空间也无法写入数据 这里记录下解决方法 清理文件系统下 细碎文件 施放节点数 因为该路径下的文件都是重要文件 不能够删除 所以这
  • 【数据库内核】物理执行器引擎Pull模型之火山模型

    目录 概述 算子介绍 火山模型 火山模型痛点 一 虚函数的开销 二 Cpu Cache的利用率 结论 参考资料 概述 当我们的逻辑计划引擎把SQL生成了逻辑计划后 后端的物理计算引擎接收到逻辑计划生成物理执行计划 便可以开始去真正执行计算作
  • 推荐Android15个常用的图表库,包含线性,条形柱状,饼状图,扇形,雷达,股票,折线,散点,仪表盘......

    1 https github com xcltapestry XCL Charts Android开源图表库 XCL Charts is a free charting library for Android platform XCL Ch
  • fatal error: ros/ros.h: 没有那个文件或目录

    程序包下面的cmakelist txt 加上 find package catkin REQUIRED COMPONENTS roscpp include directories include catkin INCLUDE DIRS
  • Kubernetes系列(一)基础概念

    从最基础开始了解k8s 首先需要清楚三个问题 k8s是怎么出现的 他解决了什么问题 整体架构是什么样的 有哪些优缺点 从以上三个问题出发 本文将分为三个章节 讲述K8S的一些基础概念 发展历程 接触K8S之前 就得先了解一下云计算这个概念
  • 数据结构实验--唯一的确定一棵二叉树

    一 问题描述 如果给出了遍历二叉树的前序序列和中序序列 则可以构造出唯一的一棵二叉树 试编写实现上述功能的程序 基本要求 已知一棵二叉树的前序和中序序列 试设计完成下列任务的一个算法 1 构造一棵二叉树 2 证明构造正确 即分别以前序和中序
  • jsp里面的input的值吗_jsp:如何获取input 输入框中的值?

    匿名用户 1级 2017 01 25 回答 如何用jquery获取中输入的值 test val input name test val input type text val input type text attr value 追问 只能

随机推荐

  • linux: 串口接收十六进制部分字节丢失(0x11,0x0d->0x0a等等)

    https blog csdn net gx19862005 article details 12944687 https blog csdn net chengde6896383 article details 77603302
  • 云备份客户端——客户端整体设计框架以及实用类工具实现

    一 客户端整体框架 客户端要实现的功能和服务端相比相对简单 客户端要实现的功能是自动对指定文件中的文件进行备份 也就是定时对指定文件进行扫描 根据文件信息判断文件 符合要求 新文件或者被修改过的文件 进行上传 因此我们客户端大概需要实现下面
  • FPGA 20个例程篇:8.SD卡任意地址的读写

    三 数据断电存储 工程必备 8 SD卡任意地址的读写 SD卡作为最常见的外设之一 本身也是一种基于半导体快闪记忆器的新一代记忆设备 它具有体积小 传输速度快 支持热插拔等优点 在便携式装置领域得到了非常广泛的应用 例如数码相机 多媒体播放器
  • error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义

    本文主要分析和解决编译链接时产生的 LNK2005 错误 错误信息 mfcs90ud lib dllmodul obj error LNK2005 DllMain 12 already defined in MSVCRTD lib dllm
  • const关键字与指针

    const关键字与指针 1 指针包含的地址是常量 不能被修改 但可以修改指针指向的数据 int x 10 int const p x p 34 指向的数据可以修改 int y 32 p y 不能修改P指向的地址 2 指针指向的数据是常量 不
  • osgEarth的Rex引擎原理分析(一一零)state中_defineMap构建过程

    目标 一零九 中的问题195 是在绘制过程中 每经过一个状态集StateSet就会将该状态集中的模式 属性 一致变量 定义都放入State的相应变量中 定义都放入 defineMap osg State cpp void State pus
  • Ansible Roles 一键完成LNMP

    Ansible Roles 一 Ansible Roles基本概述 1 Ansible Roles介绍 roles不管是Ansible还是saltstack 我在写一键部署的时候 都不可能把所有的步骤全部写入到一个 剧本 文件当中 我们肯定
  • 大型工厂MES管理系统源码

    生产制造业MES管理系统源码 开发环境 ASP NET C VS2010以上 SQL2008R2 C S架构 主要功能 一 用户管理 1 用户登录 2 用户管理 3 操作员录入 4 用户注销 二 系统设置 1 数据库设置 2 机型设置 3
  • vscode中检查代码插件:flake8

    1 命令行安装 pip install flake8 2 在vscode中的用户设置 settings json 中添加以下两行即可 也可以搜索flake8 python linting flake8Enabled true on form
  • BitLocker恢复获取密钥官方操作指南

    下载驱动安装禁用签名 进入Bios一堆骚操作出现下图问题 BitLocker恢复 下面的识别密钥是不能直接用 真正的恢复密钥是一串四十多位的数字序列 第一步 用另一台电脑浏览器进入aka ms myrecoverykey这个网址 就是图里那
  • unity游戏重新开始,退出,停止,继续按钮及打包发布

    一 游戏退出按钮 脚本Out 分为编辑状态下退出和打包编译后退出 这两种都要写上 using System Collections using System Collections Generic using UnityEngine usi
  • Flutter封装自定义按钮(过渡色、水波纹)

    Flutter封装自定义按钮 过渡色 水波纹 全局公用的按钮组件 用的时候不用写一大坨了 直接往里面传值就好了 注意 这里面的ScreenAdapter是我封装的适配方法 用的时候替换为自己的就好了 import package flutt
  • ES的安装使用(windows版)

    前言 Elasticsearch VS Java jdk 版本兼容性 Oracle OpenJDK AdoptOpenJDK 1 8 0 Oracle OpenJDK 9 Oracle OpenJDK 10 Oracle OpenJDK 1
  • HCIP 笔记

    1 交换基础 1 交换机启用过程 RAM 随机存储 当前配置文件 ROM 只读存储 自检程序 NVRAM 非易失性存储 保存配置 Flash 闪存 操作系统 2 交换机 二层基于MAC地址转发设备 依靠MAC地址表进行数据的转发 3 MAC
  • 线程管理之获取和设置线程信息

    获取和设置线程信息 Thread类的对象中保存了一些属性信息能够帮助我们来辨别每一个线程 知道它的状态 调整控制其优先级 这些属性是 ID 每个线程的独特标识 Name 线程的名称 Priority 线程对象的优先级 优先级别在1 10之间
  • Qt实现登录效果(超详细!超简单!)

    title Qt实现登录效果 超详细 超简单 date 2022 8 13 tags 学习 C Qt categories Qt tip 从一个界面按登录跳转到另一个界面 效果图 首先在登录界面输入正确的用户名和密码后点击登录 即可跳到第二
  • Electron项目打包

    文章目录 前置条件 配置 1 在vue config js 文件中增加配置项 2 根目录增加 scripts 文件夹 新建 installer nsi 文件 文件中具体脚本内容 可参考 3 执行打包指令 4 打包成功后会生成exe文件 5
  • 分享35个非常漂亮的单页网站设计案例

    单页网站是指只有一个页面的网站 这种形式的网站曾经非常流行 现在依然有很多人喜欢 不过 并不是每个网站都适合做成单页 一般都是内容比较少而且将来内容也不怎么增加的情况才适合这样做 另外 单页网站有个很大的特点就是导航都很新颖 大多是使用了锚
  • Kendo UI开发教程(3): 初始化Data 属性

    前面在介绍准备Kendo UI开发环境时我们使用jQuery的方法将一个HTML元素转换成一个Kendo UI控件 datepicker kendoDatePicker 除了使用jQuery插件的方法来初始化方法外 每个Kendo 控件还可
  • 序列两两比对算法_学会正确选择多序列比对(coding-sequences)软件

    前几天 实验室的师弟师妹通过本地blast获取一些没有基因组注释物种的蛋白编码序列 原本以为可以快速地进行下一步的选择压力分析 没想到却在多序列比对这一环节出现了棘手的问题 以前 我都是经过PRANK软件进行多序列比对 然后再使用Gbloc