计算化学公社

 找回密码 Forget password
 注册 Register

如何将残基拟合成一条直线

查看数: 831 | 评论数: 12 | 收藏 Add to favorites 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-9-5 16:07

正文摘要:

该图是一个微管蛋白二聚体(1JFF),其中标红的是编号(222-244)的残基,我现在想要把这图上的点拟合成一条曲线,有没有什么方法能够做到。

回复 Reply

sobereva 发表于 Post on 2024-10-20 10:10:25
1154975925 发表于 2024-10-17 22:55
sob老师好,我输出了我所选择螺旋的[measure inertia $sel],{40.410728454589844 96.76710510253906 69. ...

一张图看不充分
从当前图上来看蓝色的柱已经合理展现出了螺旋区域的朝向
sobereva 发表于 Post on 2024-10-11 19:04:53
1154975925 发表于 2024-10-11 10:11
sob老师我这里蛋白质的最长主轴似乎是y轴,如果想要实现我说的功能应该是提取蛋白质y轴的转动惯量Iyy [x2 ...

用VMD的绘制cylinder的命令把矢量在图上画出来一看便知对不对
1154975925 发表于 Post on 2024-10-9 08:59:34
sobereva 发表于 2024-10-9 04:26
假定蛋白质是刚性的,主轴矢量随着蛋白质旋转而相应旋转,那就可以

感谢
sobereva 发表于 Post on 2024-10-9 04:26:40
1154975925 发表于 2024-10-8 21:47
sob老师想请教一下,我用这个代码跑两次模拟,一次加电场,一次不加,能否用这两次模拟输出结果的差值来 ...

假定蛋白质是刚性的,主轴矢量随着蛋白质旋转而相应旋转,那就可以
1154975925 发表于 Post on 2024-10-8 21:47:51
sobereva 发表于 2024-9-5 21:29
可以对螺旋区域计算最长主轴对应的矢量。不需要做拟合

北京科音分子动力学与GROMACS培训班(http://www. ...

sob老师想请教一下,我用这个代码跑两次模拟,一次加电场,一次不加,能否用这两次模拟输出结果的差值来表现整个蛋白质在电场作用下扭转的角度,这个代码是针对螺旋的,不是很明白选中整个蛋白质的条件下输出结果的意义。
sobereva 发表于 Post on 2024-9-24 01:44:30
1154975925 发表于 2024-9-23 17:11
那我是不是把这个top alpha改成我图中的残基就可以了,希望sob老师可以解答一下

top alpha是指整个体系里所有alpha碳。如果你要对指定区段的残基用alpha碳来计算,加上resid选择语句
1154975925 发表于 Post on 2024-9-23 17:11:57
sobereva 发表于 2024-9-5 21:29
可以对螺旋区域计算最长主轴对应的矢量。不需要做拟合

北京科音分子动力学与GROMACS培训班(http://www. ...

那我是不是把这个top alpha改成我图中的残基就可以了,希望sob老师可以解答一下
sobereva 发表于 Post on 2024-9-5 21:29:43
可以对螺旋区域计算最长主轴对应的矢量。不需要做拟合

北京科音分子动力学与GROMACS培训班(http://www.keinsci.com/workshop/KGMX_content.html)里一个VMD tcl脚本中的一段可以参考



student0618 发表于 Post on 2024-9-5 17:20:29
目的是作图初步比较一下,还是定量分析?

作图的话PyMOL settings -> cartoon -> cylindrical helices 可以把helices显示为圆柱。

分析的话如楼上所说。
Loading0760 发表于 Post on 2024-9-5 16:35:22
看起来像是同源二聚体?
既然这是一个结构那么就一定存在坐标,把残基的坐标提取出来.得到一个20*3的矩阵,接下来问题就是20个点,求一条拟合直线.
最小二乘法启动,以下代码来源自ChatGPT
  1. import numpy as np

  2. def fit_line_least_squares(points):
  3.     # 计算质心
  4.     centroid = np.mean(points, axis=0)
  5.     # 去中心化
  6.     points_centered = points - centroid
  7.     # 计算协方差矩阵
  8.     cov_matrix = np.dot(points_centered.T, points_centered)
  9.     # 对协方差矩阵进行特征值分解
  10.     _, _, vh = np.linalg.svd(cov_matrix)
  11.     # 取出最大特征值对应的特征向量作为方向向量
  12.     direction = vh[0]
  13.     # 返回质心和方向向量
  14.     return centroid, direction

  15. centroid, direction = fit_line_least_squares(points)
复制代码


你的标题有[GROMACS] 字段,如果是想分析轨迹的话,可以用MDAnalysis库
以下是读取动力学轨迹并提取CYS的代码,编号(222-244)的残基部分同理

  1. import MDAnalysis as mda
  2. u = mda.Universe("npt.gro", "md_0_2_fit_50ns.xtc")
  3. cys_selection = u.select_atoms("resname CYS")
  4. cys_selection.positions #提取坐标
复制代码

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-14 12:17 , Processed in 1.088326 second(s), 25 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list