生物信息学导论-北大-马尔可夫模型

ref: https://www.coursera.org/learn/sheng-wu-xin-xi-xue/home

本文主要来自本课的讲义。


Markov Model

markov链描述了一个在连续时间段的离散随机过程,其中从一个状态向其他状态(包括自身)的转换,是由一个概率分布(transition probability)控制的。而且下一个状态完全由当前状态决定。
在这里插入图片描述

Hidden Markov Model

token即observable symbols,y(t),由对应状态x(t)产生,也是由一个概率分布控制的(emission probability)。注意,每个状态都可以产生所有种类的token,但是产生每种token的概率是不一样的,因此,一条token序列可以通过不同的状态转移路径生成,每一种路径的概率应该也是不一样的。

那么给定一个HMM模型,一条token是如何产生的?

  • 达到某个状态时,emission概率分布决定了这个token产生的概率
  • 要进入下一个状态时,transition概率分布决定了去往哪个状态

先计算某一种状态转移路径产生的概率。假设

Transition Probability是:( a k l a_{kl} akl x i x_i xi表示一个状态, S k S l S_kS_l SkSl都是状态值)

a k l = P ( x t = S l ∣ x t − 1 = S k ) a_{kl}=P(x_t=S_l|x_{t-1}=S_k) akl=P(xt=Slxt1=Sk)

Emission probability是:( e k ( b ) e_k(b) ek(b)表示状态 S k S_k Sk下产生b的概率)

e k ( b ) = P ( y i = b ∣ x i = S k ) e_k(b)=P(y_i=b|x_i=S_k) ek(b)=P(yi=bxi=Sk)

那么:(其实就是将每个位置的ae乘积再作连乘)

P ( X , Y ) = ∏ i = 1 L ( e x i ( y i ) ∗ a x i x i + 1 ) P(X,Y)=\prod_{i=1}^{L}(e_{x_i}(y_i)*a_{x_ix_{i+1}}) P(X,Y)=i=1L(exi(yi)axixi+1)

应用到序列比对问题上,两条序列的每一种比对其实都可以看作一个状态转换路径(状态M表示匹配,X或Y表示匹配了gap),那么每种比对都有概率,只要找到概率最大的就可以了,也就是求解:(ali表示一种比对,或者一个状态转移路径,S1和S2就是进行比对的序列)

a r g m a x a l i ( P ( S 1 , S 2 , a l i ) ) argmax_{ali}(P(S1,S2,ali)) argmaxali(P(S1,S2,ali))
代入概率,如下图所示:
在这里插入图片描述

假设 P ( X , Y , a l i ) P(X,Y,ali) P(X,Y,ali)表示经过当前的状态转换路径(ali)的概率(token是核苷酸或者残基,state就是M,X,Y,表示匹配或者gap),因为对于给定的一个token序列,可能有多条路径产出,所以这条token出现的概率就是把各种状态路径的概率相加,如下面的公式:

P ( X , Y ) = ∑ a l i P ( X , Y , a l i ) P(X,Y)=\sum_{ali}P(X,Y,ali) P(X,Y)=aliP(X,Y,ali)

因为要求和,所以

P ( X , Y ) = P M ( n , m ) + P X ( n , m ) + P Y ( n , m ) P(X,Y)=P_M(n,m)+P_X(n,m)+P_Y(n,m) P(X,Y)=PM(n,m)+PX(n,m)+PY(n,m)
下图是推导过程。其实就是把求最大值贬成求和。
在这里插入图片描述

The Most Simple Gene Predictor(MSGP)

问题:给定一条序列,如何预测编码区和非编码区?

放到HMM中,核苷酸序列就是token序列,每个核苷酸可能是n状态(非编码区),也可能是c状态(编码区),那么需要获取transition概率和emission概率,再通过上面的计算获取状态序列。

虽然我们不知道真实的transition概率和emission概率,但可以使用已标记好编码区和非编码区的序列进行估算。

计算的过程类似上面的序列比对,因为此时只有两种状态,所以更简单一点。

为了计算时更简单,还可以将概率x转化为 l o g 10 ( x ) log_{10}(x) log10(x),因为计算时有很多连乘,而

l o g ( a ∗ b ) = l o g ( a ) + l o g ( b ) log(a*b)=log(a)+log(b) log(ab)=log(a)+log(b)

例子

给定序列:CGAAAAAATCG

transition概率:(经过 l o g 10 log_{10} log10处理了)

nc
n-0.097-0.699
c-0.398-0.222

emission概率:(经过 l o g 10 log_{10} log10处理了)

ACGT
n-0.699-0.523-0.523-0.699
c-0.398-0.699-0.699-0.699

从左往右填表,到结尾后,发现得分最高的是-7.774,所以从这里往左回溯(绿色箭头),可知状态转移路径是 NNCCCCCCNNN 。这样就完成了最简单的预测(MSGP)。

在这里插入图片描述

当然,如果对状态做细分,比如把编码区再拆成UTR、intron、exon等,就可以更好地预测序列了。(举例:GenScan)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/322720.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

RK3568驱动指南|驱动基础进阶篇-进阶8 内核运行ko文件总结

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工艺,搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码,支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU,可用于轻量级人工…

LED 显示屏租赁特点及发展趋势大分析

LED租赁屏(LED screen rental)作为一款专门用于舞台演出,文艺活动现场的LED显示屏,正逐渐成为户外广告传媒载体的首选。它广泛应用于舞台租赁、歌舞活动晚会、各种发布会、展会、体育场、剧场、礼堂、报告厅、多功能厅、会议室、演绎厅、迪吧…

JavaScript 入门手册

准备好快速学习 JavaScript了吗? 如果是,那么你需要这份 JavaScript 小抄。它以清晰、简洁和初学者友好的方式介绍了 JavaScript 的基础知识。 将它作为提高 JavaScript 技能的参考或指南。 让我们深入学习。 什么是 JavaScript? JavaSc…

【开源】基于JAVA的用户画像活动推荐系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 兴趣标签模块2.3 活动档案模块2.4 活动报名模块2.5 活动留言模块 三、系统设计3.1 用例设计3.2 业务流程设计3.3 数据流程设计3.4 E-R图设计 四、系统展示五、核心代码5.1 查询兴趣标签5.2 查询活动推荐…

如何本地搭建WebDAV并结合cpolar制作可公网访问的个人私有云盘

文章目录 前言1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透,将WebDav服务暴露在公网3.1 安装cpolar内网穿透3.2 配置WebDav公网访问地址 4. 映射本地盘符访问 前言 在Windows上如何搭建WebDav,并且结合cpolar的内网穿透工具实现在公网访…

高性能、低功耗4口全速 USB1.1 HUB控制器DPU54 替代AU9254

DPU54是一款高性能、低功耗 4 口全速 USB1.1HUB 控制器,上行端口兼容全速 12MHz 模式,4 个下行端口兼容全速 12MHz、低速 1.5MHz 两种模式。 DPU54采用状态机单事务处理架构,而非单片机架构,多个事务缓冲区,这样减小了…

【蓝桥杯软件赛 零基础备赛20周】第8周——排序算法及应用

文章目录 1. 快速排序2. C STL sort()3. Python的sort()和sorted()4. Java的sort()5. 例题例1 排序的基本应用例2 排序的基本应用例3 自定义排序比较函数例4 结构体排序例5 结构体排序 6. 习题 在算法竞赛中,一般不需要自己写这些排序算法,而是直接使用库…

任务10:安装配置Java开发环境

任务描述 知识点: Java开发工具Maven配置 重 点: 安装配置Java开发工具 IDEA为IDEA配置自定义Maven(国内源) 内 容: 下载并配置JDK 1.8下载安装IDEA为IDEA配置自定义MavenWindows环境安装配置Hadoop 任务指导…

【电商API】商品采集快速上货的通道

从技术上讲,API是应用程序编程接口的首字母缩写,被认为是构建应用软件的一组协议。实际上,API 是让人们保持数字联系的大部分基础。 API 开发正在为正确利用它们的网站开辟新的途径——在某些情况下,还开辟了新的收入来源。他们正…

国外客户工厂还是贸易商,该怎么回答

在和客户沟通的时候,我们最常遇到也最头疼的问题就是客户询问我们是工厂还是贸易商的时候,我们该怎么回答呢?万一回答错误了客户不搭理我们了应该怎么办呢? 先来看看我们常用的回答方式,是不是有你常用的?…

《YOLO算法:基础+进阶+改进》报错解决 专栏答疑

前言:Hello大家好,我是小哥谈。《YOLO算法:基础进阶改进》专栏上线后,部分同学在学习过程中提出了一些问题,笔者相信这些问题其他同学也有可能遇到。为了让大家可以更好地学习本专栏内容,笔者特意推出了该篇…

数据库第一次作业

1.创建一个英雄表 create table t_hero ( id int primary key auto_increment, name varchar(10) unique not null, gender char(5) check (gender in (男,女)), grade char(5) default 5星, groups char(5) check (groups in (毁灭,巡猎,智识,存护,…

Eclipse的安装与使用

Eclipse的安装与使用 “工欲善其事,必先利其器”,高效的开发工具,不但能带来高体验的开发环境,还能带来高效的纠错与开发提示等功能,下面介绍一种Java常用的开发工具——Eclipse。 1.1 Eclipse的安装与启动 Eclipse的…

进阶Docker3:Dokerfile构建镜像

目录 Dockerfile 构建基础镜像 基本机构 命令: 命令解释: 准备工作 创建镜像 上传镜像 Dockerfile Dockerfile 是一个文本格式的配置文件, 用户可以使用 Dockerfile 来快速创建自定义的镜像,另外,使 用Docke…

3.hadoop HA-QJM 安装

目录 概述实践一主两从解压配置文件hadoop-env.shcore-site.xmlhdfs-site.xmlyarn-site.xmlmapred-site.xmlworkers分发环境变量 格式化启动 hdfs启动 yarn验证bug zookeeperHAcore-site.xml hdfs-site.xml改为配置分发执行验证 HA 结束 概述 环境:hadoop 3.3.6 jd…

springboot项目启动时横幅修改

正常情况下,springboot启动时的横幅(banner)长这样 自定义banner 在resource下创建banner.txt,写入想要修改的内容即可 程序无bugSpring Boot Version: ${spring-boot.version}// _ooOoo_ …

提振信心,夯实信任,可持续发展见增长

近日,品牌ESG研究咨询机构MKTforGOOD发布《2024中国ESG消费报告》。这是MKTforGOOD持续第三年监测中国新世代对可持续消费的态度。在这三年的特殊时光里,累计近6000名受访者与MKTforGOOD一起深思消费的意义,分享他们对于在日常的消费生活中看…

IOS高德地图SDK接入-Swift

申请key 这个要前往高德开发平台注册成为个人开发者然后在控制台创建一个应用: 高德开发平台 注册步骤就不写了,写一下创建应用的步骤: 1、点击应用管理——>我的应用 2、点击右上角的创建新应用 3、输入内容: 4、点击添加ke…

SQL语句错误this is incompatible with sql_mode=only_full_group_by解决方法

一、原理层面 这个错误发生在mysql 5.7.5 版本及以上版本会出现的问题: mysql 5.7.5版本以上默认的sql配置是:sql_mode“ONLY_FULL_GROUP_BY”,这个配置严格执行了"SQL92标准"。 很多从5.6升级到5.7时,为了语法兼容,大部…

什么是google算法?

谷歌算法本身指的是谷歌针对搜索引擎做的规定 要想在别人的地盘玩,那肯定要了解这个地盘的规定,不然做了什么违反了规定,谷歌肯定不会让你继续玩下去 要想做谷歌,那肯定要了解谷歌的算法,然而谷歌的算法也不是一成不变…