计算化学公社

 找回密码 Forget password
 注册 Register

Tcl统计配体附近5埃内的氨基酸,在200帧内出现的次数

查看数: 898 | 评论数: 2 | 收藏 Add to favorites 4
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2024-6-12 11:50

正文摘要:

set sel [atomselect top "same residue as {protein within 5 of resname MOL}"]   for {set i 0} {$i<200} {incr i} {       $sel frame $i     $sel update  ...

回复 Reply

lxhpdx 发表于 Post on 2024-6-12 18:53:40
lxhpdx 发表于 Post on 2024-6-12 18:53:27
  1. # 选择与名为"MOL"的残基距离在5埃之内的蛋白质原子
  2. set sel [atomselect top "same residue as {protein within 5 of resname MOL}"]

  3. # 循环处理200帧的数据
  4. for {set i 0} {$i < 200} {incr i} {
  5.     # 设置当前帧
  6.     $sel frame $i
  7.     # 更新选择
  8.     $sel update
  9.    
  10.     # 获取当前帧中选中的残基ID
  11.     set residue_ids [$sel get resid]
  12.    
  13.     # 对残基ID进行去重,得到当前帧中的唯一残基ID
  14.     set unique_residue_ids [lsort -unique $residue_ids]
  15.    
  16.     # 遍历唯一的残基ID
  17.     foreach resid $unique_residue_ids {
  18.         # 如果该残基ID已经存在于residue_frames数组中,则添加当前帧号
  19.         if {[info exists residue_frames($resid)]} {
  20.             lappend residue_frames($resid) $i
  21.         } else {
  22.             # 否则,初始化该残基ID的帧集合并添加当前帧号
  23.             set residue_frames($resid) [list $i]
  24.         }
  25.     }
  26. }

  27. # 输出每个残基ID以及其出现的帧数
  28. foreach resid [array names residue_frames] {
  29.     set frame_count [llength [lsort -unique $residue_frames($resid)]]
  30.     puts "Residue ID: $resid, Total Frames: $frame_count"
  31. }
复制代码

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

GMT+8, 2026-2-24 01:59 , Processed in 0.161930 second(s), 25 queries , Gzip On.

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