最近休息时阅读了一本书:

在书本第5章结构信息学章节的末尾,看到了一个练习题,张贴如下:

这里作者提到了一个R包,

看着挺有意思的,所以就决定小学一下,毕竟这年头搞分子动力学起码是python重火力起步,看到R也能搞的属少数。

官网参考:http://thegrantlab.org/bio3d/

此处贴一个基本的介绍
Bio3D是一个用于结构生物信息学分析的R语言包,主要用于生物大分子(如蛋白质和核酸)三维结构数据的处理和分析。它能够执行各种结构分析任务,如结构对接、同源建模、分子动力学模拟轨迹分析、结构比对等。

Bio3D的核心功能包括从PDB数据库中提取结构数据、计算结构相似性、生成结构比对和聚类分析,以及分析蛋白质动力学特征,如主成分分析(PCA)和正规模式分析(NMA)。

该包广泛应用于蛋白质功能研究、分子演化研究以及药物设计等领域,帮助研究者深入理解生物分子结构与功能的关系。

比如说我用python工具常做的分子动力学分析模块——

DCCM(Dynamic cross-correlation matrices, DCCM,动态相关性矩阵),表示蛋白质中每个氨基酸的特定原子,比如说Cα原子和其他氨基酸的Cα原子之间的相关性,提供蛋白质在大尺度范围内相关运动的一些信息。DCCM计算数值的取值范围从完全负相关的-1.0到完全正相关的+1.0。越接近数值1表示相关性越强,正负表示两个原子运动方向相同(反)。

计算时需要两个文件.dcd和.pdb,

前者是蛋白质的轨迹文件,可以使用VMD进行保存,一般是分子动力学模拟之后的后续分析。我一般用它只分析分子动力学模拟稳定后的轨迹,不一定是全部轨迹;

后者是轨迹配套的蛋白质文件,选定帧数之后单独保存为pdb格式即为蛋白质文件。

这个也能够使用这个R包分析。

1,6QNX分析示例

参考https://www.rcsb.org/structure/6QNX

是一个SA2/SCC1/CTCF complex复合物,X射线晶体衍射获取的结构数据。

一共是3个亚基:

可以知道这个蛋白复合物,是由1011个氨基酸残基,16469个原子组成的三链复合物。

如果想要详细查看原子构成以及坐标信息,

这些数据基本上都可以由mmcif文件中的坐标辅助佐证:

三维结构分析方面,因为api函数模块很多,都值得仔细研究以及阅读底层源码,

这里只介绍nma()函数,也就是正规模分析(NMA,Normal Mode Analysis),从而预测示例蛋白质的柔性。

参考:http://thegrantlab.org/bio3d/reference/nma.html

详细分析,有一个demo,可以参考:http://thegrantlab.org/bio3d_v2/tutorials/normal-mode-analysis

由图可知,上方两个图分别显示了特征值(Eigenvalues)和频率(Frequencies)随模式指数(Mode Index)的变化。特征值从左至右递增,说明高模式对应的刚性较大,运动较难发生。频率图与特征值密切相关,也表现出递增趋势,高频模式对应局部振动,低频模式则与全局运动相关。下方的波动图(Fluctuations)展示了蛋白质各残基的振幅波动情况。某些残基区域(如第185、400和730附近)显示出较大的波动,意味着这些区域更具柔性,可能在蛋白质功能中起重要作用。

为了能够清晰的展示蛋白质的柔性和其二级结构之间的关系,我们可以使用plot.bio3d()函数中的参数在波动图(Fluctuations)上添加二级结构信息,


plot.bio3d(ctcf_mode$fluctuations,   # NMA中每个残基的波动数据    sse=ctcf,              # 提供PDB对象以获取蛋白质的二级结构信息sheet.col="orange",   # 将β-折叠的颜色设置为橙色,用于在图中区分二级结构helix.col="purple",   # 将α-螺旋的颜色设置为紫色,用于区分二级结构typ="l",              # 设置图形类型为线条图(line plot),即用线连接数据点lwd=3,                # 将线条宽度设为3,使线条更加粗壮,图形更清晰ylab="Fluctuations from NMA of CTCF-complex"  # 设置y轴标签为自定义内容
)

由图可知,x轴表示残基编号,y轴表示波动幅度。图中的黑色曲线显示了各个残基的波动情况,波峰代表特定残基有较大的波动,表明这些区域在蛋白质运动中柔性更高。紫色的横条代表α螺旋区域,橙色横条代表β折叠区域(当然图中没有,code中示意),这些区域的波动通常较小,表明它们结构较为稳定,柔性相对较低。图像分析有助于研究蛋白质的动态特性,分析哪些区域更具柔性或稳定性。

2,2DFD分析示例

以苹果酸脱氢酶为例,苹果酸脱氢酶是一种在柠檬酸循环中催化草乙酸盐和苹果酸盐转化的同型二聚体酶,结构序列号为2DFD。

找出该结构中存在的链、原子和残基的总数。计算结合位点并绘制酶中残基的B因子:

这里解释一下什么是B-factor:

蛋白质结构的b因子也称为温度结构,它表示蛋白质由于C α原子在其平均位置附近波动而产生的灵活性。由于这种灵活性,蛋白质分子的多肽骨架和侧链会不断运动。高b因子表明蛋白质分子中的残基位置比平均值具有更高的柔韧性,而低b因子则反映了蛋白质分子中的刚性位置。隐藏在蛋白质分子核心的残基可能具有较低的b值,因此与存在于蛋白质表面的残基相比更具有刚性。

可以简单将B-factor理解为柔韧性、刚性描述符。

plot.bio3d(MDH$atom$b[MDH$calpha], sse=MDH, typ="l", ylab="Bfactor")

带有二级结构注释

苹果酸脱氢酶和乳酸脱氢酶是同源代谢酶。

序列号:人苹果酸脱氢酶(ID: 2DFD)和人乳酸脱氢酶(ID: 5ZJE)

(a)将存在于两种脱氢酶结构中的链进行拆分和对齐,并计算蛋白质结构不同链之间的序列同一性和均方根偏差(RMSD)

(b)绘制RMSD直方图并生成RMSD聚类的树状图

ids <- c("2dfd","5zje")
raw.files <- get.pdb(ids)
files <- pdbsplit(raw.files, ids)
pdbs <- pdbaln(files,exefile="msa")
pdbs$id <- substr(basename(pdbs$id),1,6)
seqidentity(pdbs)

core <- core.find(pdbs)
core.inds <- print(core, vol=1.0)
xyz <- pdbfit( pdbs, core.inds )
rd <- rmsd(xyz)
hist(rd, breaks=40, xlab="RMSD (Å)", main="Histogram of RMSD")

两个酶不同链间RMSD的直方图:

hc <- hclust(as.dist(rd))
hclustplot(hc, k=3, ylab="RMSD (Å)", main="RMSD Cluster  Dendrogram")

基于苹果酸脱氢酶和乳酸脱氢酶不同链间RMSD的RMSD聚类图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/94637.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/94637.shtml
英文地址,请注明出处:http://en.pswp.cn/web/94637.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开发便利】让远程Linux服务器能够访问内网git仓库

打通网络壁垒&#xff1a;本地Windows直连内网Git的远程开发终极指南 场景痛点 开发主力是一台云端的 Linux 服务器&#xff0c;代码却存放在无法被公网访问的公司内网 Git 仓库中。 本文利用 Windows 电脑作为“网络桥梁”&#xff0c;搭建一条能自动重连的 SSH 隧道&#xff…

STM32学习日记

ADCADC简介ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量&#xff0c;建立模拟电路到数字电路的桥梁12位逐次逼近型ADC&#xff0c;1us转换时间输入电压范围&#xff1a;0~3.3V&#xff0c;转换结果范围&#xff…

文生3D实战:用[灵龙AI API]玩转AI 3D模型 – 第7篇

在前几篇文章中&#xff0c;我们已经体验了文生视频、图生视频、文生图、图生图、AI翻唱 等功能。本篇将进入更高阶的领域 —— 文生3D。借助 [灵龙AI API]&#xff0c;你不仅能生成静态的 3D模型&#xff0c;还可以快速产出 场景、角色、动画&#xff0c;为游戏开发、虚拟人、…

林粒粒视频笔记4-numpy

需要先安装2个库&#xff0c;一个是代码运行平台&#xff1a;pip3 install notebook还有一个numpy&#xff1a;pip3 install numpy1、在cmd运行环境>>jupyter notebook&#xff0c;浏览器自动打开页面如下&#xff1a;2、创建一个一维数组和二维数据3、分别打印这2个数组…

Hadoop MapReduce 任务/输入数据 分片 InputSplit 解析

InputSplitInputSplit 是对 MapReduce 作业输入数据的一种逻辑划分。它并不直接包含数据本身&#xff0c;而是包含了处理一小块数据所需的信息&#xff0c;比如数据的位置、起始点和长度。框架会为每个 InputSplit 创建一个 Mapper 任务。从InputSplit.java 的注释中我们可以得…

【力扣】面试经典150题总结04-区间/栈

1.汇总区间&#xff08;简单&#xff09;判断连续的范围&#xff0c;记录每个区间的首尾&#xff0c;存进list。2.合并区间&#xff08;中等&#xff09;先按照左端点排序&#xff0c;然后判断右端点是否和下个区间的左端点重合&#xff0c;重叠进行合并。3.插入区间&#xff0…

SpringBoot 常用跨域处理方案

1.什么是跨域&#xff1f; 跨域是浏览器为了保障安全而遵循的一种规则&#xff0c;是同源策略的一部分。 同源&#xff1a;要求协议、域名、端口三者完全相同。 跨域&#xff1a;只要协议、域名、端口中有任何一个不同&#xff0c;浏览器就会判定为跨域请求。 跨域&#xf…

Springboot框架的“上海迪士尼”旅游管理网站设计与开发(代码+数据库+LW)

摘 要 随着旅游行业的不断发展&#xff0c;特别是主题公园的快速增长&#xff0c;如何通过现代信息技术提升旅游服务质量与管理效率成为了行业的重要课题。上海迪士尼作为中国乃至全球知名的主题公园&#xff0c;其旅游管理网站的设计与开发&#xff0c;不只需要满足游客对信…

后台管理系统-16-vue3之动态路由的实现

文章目录 1 动态路由 1.1 stores/index.js(动态添加路由函数) 1.1.1 获取菜单数据 1.1.2 动态导入组件 1.1.3 处理菜单项 1.1.4 添加路由 1.1.5 整体代码 1.2 router/index.js(移除子路由) 1.3 Login.vue(登录页面) 2 多账号bug问题 2.1 问题复现 2.2 解决多账号路由问题(store…

社群团购平台与定制开发开源AI智能名片S2B2C商城小程序的融合创新研究

摘要&#xff1a;本文聚焦于社群团购平台这一在移动互联网背景下兴起的电子商务运营机构&#xff0c;深入剖析其依托移动互联网满足消费者多元购物需求的特点。同时&#xff0c;引入定制开发开源AI智能名片S2B2C商城小程序这一关键元素&#xff0c;探讨二者融合所带来的创新模式…

模型交互中的会话状态管理实践

模型交互中的会话状态管理实践 目录 引言会话状态的手动管理构建多轮对话消息序列追加历史响应实现上下文共享API支持的自动会话状态管理利用 previous_response_id 实现线程式对话模型响应数据保存与计费说明上下文窗口管理与令牌限制令牌计算与窗口溢出风险令牌工具辅助统计…

基于Java+Springboot的船舶运维系统

源码编号&#xff1a;sy23源码名称&#xff1a;基于Springboot的船舶运维系统用户类型&#xff1a;多角色&#xff0c;船员、维修人员、管理员数据库表数量&#xff1a;9 张表主要技术&#xff1a;Java、Vue、ElementUl 、SpringBoot、Maven运行环境&#xff1a;Windows/Mac、J…

零基础也能照做的WordPress网站安全漏洞修复 + 高级优化保姆级教程。

建议先在**暂存环境&#xff08;Staging&#xff09;**演练后再动正式站&#xff0c;避免线上故障。下面第一部分就教你“备份暂存还原演练”。 总览导航&#xff08;按顺序完成&#xff09; 备份与还原演练&#xff08;UpdraftPlus 宝塔/阿里/腾讯/七牛&#xff09;高危加固…

HI3516DV500/HI3519DV500 Docker开发环境配置

目录一、拉取Ubuntu 18.04 docker镜像二、查看已有镜像三、基于镜像创建容器1. 创建容器2. 退出容器3. 查看容器4. 启动容器5. 进入容器6. 更新容器内部软件源四、安装CANN包1. 安装基础依赖环境2. 安装并配置python 3.7.5配置环境变量安装vim添加使环境变量生效检查python版本…

实体店转型破局之道:新零售社区商城小程序开发重构经营生态

在数字化浪潮的席卷下&#xff0c;实体店经营正经历着前所未有的变革与挑战。客户进店率持续走低、同行竞争白热化、经营成本不断攀升、电商平台冲击加剧……这些痛点如同达摩克利斯之剑&#xff0c;悬在传统实体商家的头顶。然而&#xff0c;危机往往与机遇并存&#xff0c;新…

前端-如何将前端页面输出为PDF并打包的压缩包中

需要引入的依赖&#xff1a;import * as utils from ../../utils/utils import html2canvas from "html2canvas"; import JSZip from "jszip"; import JSPDF from "jspdf"; import FileSaver from "file-saver"import { Loading } fro…

LabVIEW 频谱分析应用

LabVIEW 频谱分析程序广泛应用于声学、振动、电力电子等领域&#xff0c;用于噪声频谱分析、设备故障诊断、电能质量评估等。通过模块化 VI 组合&#xff0c;可快速搭建 "信号模拟 - 采集&#xff08;或缓存&#xff09;- 频谱分析 - 结果展示" 完整流程&#xff0c;…

北斗导航 | 基于MCMC粒子滤波的接收机自主完好性监测(RAIM)算法(附matlab代码)

详细阐述基于MCMC粒子滤波的接收机自主完好性监测(RAIM)算法的原理、理论和实现方法,并提供完整的MATLAB代码示例。 1. 原理与理论 1.1 接收机自主完好性监测 (RAIM) 简介 RAIM是一种完全由GPS接收机内部实现的算法,用于在不依赖外部系统的情况下,监测GPS信号的完好性(…

【机器学习】4 Gaussian models

本章目录 4 Gaussian models 97 4.1 Introduction 97 4.1.1 Notation 97 4.1.2 Basics 97 4.1.3 MLE for an MVN 99 4.1.4 Maximum entropy derivation of the Gaussian * 101 4.2 Gaussian discriminant analysis 101 4.2.1 Quadratic discriminant analysis (QDA) 102 4.2.2…

Ruoyi-Vue 静态资源权限鉴权:非登录不可访问

一. 背景 移除/profile下静态资源访问权限后&#xff0c;富文本等组件中的图片加载失败!!! 使用ruoyi-vue3.8.9过程中发现上传的在ruoyi.profile下的文件未登录直接使用链接就可以访问下载&#xff0c;感觉这样不太安全&#xff0c;所以想对其进行鉴权限制&#xff0c;修改为只…