当前位置: 首页 > news >正文

蛋白质序列-omega参数计算算法解读

参考我的上一篇博客:https://blog.csdn.net/weixin_62528784/article/details/149234912?spm=1001.2014.3001.5501

同样omega参数,也是一个衡量或描述氨基酸序列带电性质的参数,类似于kappa。

首次提出是在2016年的Journal of the American Chemical Society上,

首先是原文中对于该参数的描述,其实在算法上我们可以看到和kappa参数是非常相似的:

在这里插入图片描述

从物理意义上看,其实omega参数和kappa参数一样,都是描述氨基酸序列分布混合模式的参数,都是看混合得均匀不均匀、对称不对称,

只不过kappa参数是描述带正电的氨基酸和带负电的氨基酸混合得是否均匀,

然后omega参数是描述带电氨基酸/Pro与其他氨基酸的序列混合模式。

一,从计算流程也就是算法上看

1,都是先计算分布不对称性的指标,类似于kappa中的电荷分布不对称性质;

首先全局的可以计算一个分布不对称性,

然后局部的,都是选定1个序列窗口,类似于kappa中的blob,也就是滑动窗口,然后在滑动窗口里计算

带电氨基酸+pro的比例,以及其他氨基酸的比例,然后同样的可以计算一个分布不对称性;

2,然后就是局部不对称性与全局不对称性的一个偏差,然后计算一个类似于方差的项,用blob滑动窗口数做一个平均

3,然后就是组合问题,对于目前观测的序列,我们可以计算一个偏差值,对于所有排列情况下的序列,我们可以取到一个max的序列偏差,然后就是用这个max做一个类似于归一化的操作

4,最后和kappa参数计算类似,就是blob滑动窗口的设计有g=5或者是6的两种情况,所以再分别对归一化之后的计算取一个平均

在代码实现的细节上,其实我们可以看到:

实现过程中首先将一段序列降维表示成只有2字母的序列,其中RKDEP使用X表示,然后其余的序列只用O表示,这样计算比例参数的时候,以及后面组合优化的时候,其实就简洁很多了,

后续的组合优化以及算法实现,其实都可以直接照搬kappa参数实现的算法。

二,然后同样的算法伪代码实现部分

Algorithm: Calculate_Omega
算法:计算蛋白序列的Omega参数
Input: sequence: 氨基酸序列 (长度 L)g_list = [5, 6]  // 两种blob尺寸
Output: Ω: 脯氨酸/电荷分布参数 [0,1]Begin:// 1. 残基分类class_A = {D,E,R,K,P}  // 带电残基+脯氨酸class_B = 其他15种氨基酸// 2. 计算全局参数N_A = count(sequence, class_A)σ_G = (N_A/L - (L-N_A)/L)^2 / (N_A/L + (L-N_A)/L)Ω_sum = 0for g in g_list:// 3. 计算δδ = 0for i=0 to L-g:blob = sequence[i:i+g]n_A = count(blob, class_A)σ_i = (n_A/g - (g-n_A)/g)^2 / (n_A/g + (g-n_A)/g)δ += (σ_i - σ_G)^2δ /= (L-g+1)// 4. 计算δ_maxδ_max = max_delta(L, N_A, g)// 5. 计算Ω_gΩ_sum += δ/δ_maxreturn Ω_sum/2
End

综合算法的blob=5和6的考虑之后,获得的该参数omega的数学表达式为:

http://www.dtcms.com/a/272106.html

相关文章:

  • 「按键精灵安卓/ios辅助工具」动态验证码该怎么得到完整的图片
  • 20250710解决KickPi的K7的SDK编译异常:rk3576-android14.0-25250704.tar.gz【降低BUILD_JOBS】
  • 微软365 PDF导出功能存在本地文件包含漏洞,可泄露敏感服务器数据
  • 【办公类-107-01】20250710视频慢速与视频截图
  • 用 ngrok + SSH 实现公网远程控制电脑
  • Linux Vim 编辑器详解:从入门到进阶(含图示+插件推荐)
  • FPGA设计思想与验证方法系列学习笔记001
  • XCZU47DR-2FFVG1517I Xilinx FPGA AMD ZynqUltraScale+ RFSoC
  • 原生微信小程序研发,如何对图片进行统一管理?
  • 从代码生成到智能运维的革命性变革
  • 基于elementUI的el-autocomplete组件的自动补全下拉框实践
  • LFU 缓存
  • Vue2_element 表头查询功能
  • Vue+Element Plus 中按回车刷新页面问题排查与解决
  • pytorch 神经网络
  • 深入理解机器学习
  • 【深度学习新浪潮】什么是持续预训练?
  • 深度学习中的常见损失函数详解及PyTorch实现
  • B2、进度汇报(— 25/06/16)
  • Sigma-Aldrich细胞培养基础知识:细胞培养的安全注意事项
  • Vue 中监测路由变化时,通常不需要开启深度监听(deep: true)
  • 基于Python的旅游推荐协同过滤算法系统(去哪儿网数据分析及可视化(Django+echarts))
  • 《Stata面板数据分析:数据检验、回归模型与诊断技术 - 以NLSW工资研究(公开数据)为例》
  • android studio 运行,偶然会导致死机,设置Memory Settings尝试解决
  • 不止于快:金士顿XS2000移动固态硬盘如何重塑你的数字生活
  • 机器学习1
  • ssh: connect to host github.com port 22: connection refused
  • Web学习笔记2
  • 使用球体模型模拟相机成像:地面与天空的可见性判断与纹理映射
  • 「py数据分析」04如何将 Python 爬取的数据保存为 CSV 文件