求氨基酸残基两两之间的距离

实现功能:通过调用子函数,求氨基酸残基两两之间的距离,并通过调用子函数,print出距离最远的一对氨基酸残基。

__DATA__
ATOM   4542  CA  LYS D 130      27.728  42.781 107.352  1.00 53.17           C  
ATOM   4551  CA  VAL D 131      28.783  40.337 110.073  1.00 46.40           C  
ATOM   4558  CA  LYS D 132      30.084  42.479 112.907  1.00 52.26           C  
ATOM   4567  CA  ALA D 133      31.868  41.767 116.183  1.00 53.70           C  
ATOM   4572  CA  LYS D 134      28.704  41.872 118.303  1.00 71.02           C  
ATOM   4581  CA  SER D 135      26.883  39.124 116.249  1.00 78.80           C  
ATOM   4587  CA  ILE D 136      29.774  36.647 116.820  1.00 93.90           C  
ATOM   4595  CA  VAL D 137      28.482  35.979 120.344  1.00117.21           C  
ATOM   4602  CA  PHE D 138      27.994  33.911 123.464  1.00133.01           C  
ATOM   4613  CA  HIS D 139      26.718  30.262 123.566  1.00139.94           C  
ATOM   4623  CA  ARG D 140      29.353  28.808 121.207  1.00139.51           C  
ATOM   4634  CA  LYS D 141      30.584  25.201 121.443  1.00131.58           C  
ATOM   4642  CA  LYS D 142      33.749  25.778 123.504  1.00113.11           C  
ATOM   4651  CA  ASN D 143      37.231  24.833 122.254  1.00 94.20           C  
ATOM   4659  CA  LEU D 144      36.495  27.447 119.636  1.00 69.72           C  
ATOM   4667  CA  GLN D 145      38.015  30.917 119.225  1.00 40.46           C  
ATOM   4676  CA  TYR D 146      37.259  33.717 116.776  1.00 28.66           C  
ATOM   4688  CA  TYR D 147      39.566  36.141 114.844  1.00 24.27           C  
ATOM   4700  CA  ASP D 148      38.913  38.812 112.220  1.00 32.21           C  
ATOM   4708  CA  ILE D 149      41.467  38.220 109.408  1.00 35.28           C  
ATOM   4716  CA  SER D 150      42.088  39.987 106.101  1.00 32.96           C  
ATOM   4722  CA  ALA D 151      43.967  37.479 103.880  1.00 32.91           C  
ATOM   4727  CA  LYS D 152      44.860  40.086 101.166  1.00 35.10           C  
ATOM   4736  CA  SER D 153      46.596  42.467 103.623  1.00 32.49           C  
ATOM   4742  CA  ASN D 154      47.988  39.768 105.958  1.00 28.75           C

代码如下:

sub distance {foreach $1(0..$#b){foreach $2(0..$#b){$d=sqrt(($x[$1]-$x[$2])**2+($y[$1]-$y[$2])**2+($z[$1]-$z[$2])**2);$arr[$1][$2]=$d;}}printf"     ";foreach(0..$#b){printf "%6d",$b[$_];}printf("\n");foreach $1(0..$#b){printf "%6d",$b[$1];foreach $2(0..$#b){printf "% 6.2f",$arr[$1][$2];}print "\n";}foreach $1(0..$#b){foreach $2(0..$#b){if($arr[$1][$2]>$max){$max=$arr[$1][$2];$maxa=$b[$1];$maxb=$b[$2];}}  }printf "\n Between $maxa and $maxb is the max distance:%.2f\n",$max;
}while (<DATA>) {@a=split(/\s+/,$_);push (@b,$a[5]);push(@x,$a[6]);push(@y,$a[7]);push(@z,$a[8]);
}
distance;__DATA__
ATOM   4542  CA  LYS D 130      27.728  42.781 107.352  1.00 53.17           C
ATOM   4551  CA  VAL D 131      28.783  40.337 110.073  1.00 46.40           C
ATOM   4558  CA  LYS D 132      30.084  42.479 112.907  1.00 52.26           C
ATOM   4567  CA  ALA D 133      31.868  41.767 116.183  1.00 53.70           C
ATOM   4572  CA  LYS D 134      28.704  41.872 118.303  1.00 71.02           C
ATOM   4581  CA  SER D 135      26.883  39.124 116.249  1.00 78.80           C
ATOM   4587  CA  ILE D 136      29.774  36.647 116.820  1.00 93.90           C
ATOM   4595  CA  VAL D 137      28.482  35.979 120.344  1.00117.21           C
ATOM   4602  CA  PHE D 138      27.994  33.911 123.464  1.00133.01           C
ATOM   4613  CA  HIS D 139      26.718  30.262 123.566  1.00139.94           C
ATOM   4623  CA  ARG D 140      29.353  28.808 121.207  1.00139.51           C
ATOM   4634  CA  LYS D 141      30.584  25.201 121.443  1.00131.58           C
ATOM   4642  CA  LYS D 142      33.749  25.778 123.504  1.00113.11           C
ATOM   4651  CA  ASN D 143      37.231  24.833 122.254  1.00 94.20           C
ATOM   4659  CA  LEU D 144      36.495  27.447 119.636  1.00 69.72           C
ATOM   4667  CA  GLN D 145      38.015  30.917 119.225  1.00 40.46           C
ATOM   4676  CA  TYR D 146      37.259  33.717 116.776  1.00 28.66           C
ATOM   4688  CA  TYR D 147      39.566  36.141 114.844  1.00 24.27           C
ATOM   4700  CA  ASP D 148      38.913  38.812 112.220  1.00 32.21           C
ATOM   4708  CA  ILE D 149      41.467  38.220 109.408  1.00 35.28           C
ATOM   4716  CA  SER D 150      42.088  39.987 106.101  1.00 32.96           C
ATOM   4722  CA  ALA D 151      43.967  37.479 103.880  1.00 32.91           C
ATOM   4727  CA  LYS D 152      44.860  40.086 101.166  1.00 35.10           C
ATOM   4736  CA  SER D 153      46.596  42.467 103.623  1.00 32.49           C
ATOM   4742  CA  ASN D 154      47.988  39.768 105.958  1.00 28.75           C

运行结果如下:

Perl子函数调用——求氨基酸残基两两之间的距离相关推荐

  1. 计算空间中两线段之间的距离

    最近在建立气凝胶的有限元模型中需要计算每两根纤维(线段)之间的距离,最初参考的两篇文章确实提供了关于一些数值方法的计算思路(文章1 && 文章2),但忽略了线段距离问题的理论推导,导致 ...

  2. CV之FR:DIY脚本通过人脸图像得到人脸特征向量并输出多张人脸图片之两两图片之间的距离

    CV之FR:DIY脚本通过人脸图像得到人脸特征向量并输出多张人脸图片之两两图片之间的距离 目录 输出结果 设计思路 实现代码 计算过程 输出结果 设计思路 实现代码 from scipy import ...

  3. Mysql: LBS实现查找附近的人 (两经纬度之间的距离)

    1. 利用GeoHash封装成内置数据库函数的简易方案: A:Mysql 内置函数方案,适合于已有业务,新增加LBS功能,增加经纬度字段方可,避免数据迁移 B:Mongodb 内置函数方案,适合中小型 ...

  4. OSChina 周五乱弹 ——什么情况下两个人之间的距离能成为负数

    2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2017)请戳(这里) [今日歌曲] @亚麻仔 :分享 Cotton Jones Basket ... 的歌曲 ...

  5. 两经纬度之间的距离计算

    以下是计算两经纬度之间距离的代码,分为:头文件.源代码和测试代码三部分. 具体如下: 1 // LatLonDistanceDlg.h : 头文件 2 // 3 4 #pragma once 5 6 ...

  6. 矩阵运算实现求样本与样本之间欧式距离

    前言 最近需要写关于kmeans的一些小程序,需要计算距离,直接写for循环又特别慢,再要是样本多一点,那简直了.细细一想,需要计算距离的地方还真不少,kmeans.KNN.图等等. 1. 理论指导 ...

  7. 求空间两条直线之间的距离

    1. 前言 最近老板让写一段空间点匹配的代码, 其中涉及到求空间两直线之间的距离,写起来满费劲的, 这里做一个记录. 2. 处理思路 空间两直线之间的位置关系主要可以分为: 重合, 平行, 相交, 异 ...

  8. 如何求地球上两点之间的最短距离_例谈平行线上两动点之间距离最短问题

    初中几何中有一类关于距离最短的问题,这些问题最终都会转化为"垂线段最短"或"两点之间线段最短".本文就一类平行线上两动点之间距离最短问题,谈谈笔者对此的分析和见 ...

  9. 利用高德地图API获取任意两座城市之间的距离!异地也有惊喜!

    工作中有时会遇到这样一种场景:年末需要统计所有员工该年的航旅出差情况,然后根据他们的飞行距离补贴一定的交通费.例如如下所示情况: 然而,如果我们使用地图APP等工具逐一进行手工查询,在一家规模稍大的公 ...

最新文章

  1. 输入示例,自动生成代码:TensorFlow官方工具TF-Coder已开源
  2. showimg.php,layer弹出图片
  3. 微型计算机内存不能用指令修改的部分,在微型计算机内存储器中,不能用指令修改其存储内容的部分是什么?...
  4. 在CentOS上安装和配置Guacamole
  5. Yii框架 phpexcel 导出
  6. MVVM更容易内存泄露吗?
  7. telnet用法 测试端口号是否可以使用
  8. selenium配置无界面chrome浏览器
  9. 获取当前时间getDate()注意点
  10. 决策树 Decision Tree
  11. 控制Dell服务器的风扇转速
  12. 笔记本电脑BIOS和硬盘加密密码设置方法
  13. PPT文件怎么快速压缩?
  14. 微信公众平台接口测试帐号登录
  15. 码栈开发手册(四)---编码方式开发(其他功能函数)
  16. Golang底层原理剖析之panic与recover
  17. android 开启wifi代码,Android编程打开WiFi
  18. 从控制台输入一个三位数,如果是水仙花数(是指一个三位数,其各位数字立方和等于该数 )就打印“是水仙花数”,否则打印“不是水仙花数”
  19. 君正T30移植ntp
  20. Neos - 漂亮的JABBER客户端

热门文章

  1. android webview anr,Android WebView客户端导致ANR
  2. 刷题 整理-SUCTF2019-easyweb
  3. 富达国际加密货币交易与存储平台目前进入最终测试
  4. 为什么梦幻西游服务器名字有显示但是区名字没有了,梦幻西游:免费改名的BUG被发现了,转区名字重复,但不能免费改名...
  5. 如何查询神武账号服务器,神武3开服的时间表2018在哪里看
  6. phpernbsp;的鼓励nbsp;nbsp;microsoftnbsp;牵手php
  7. 喜欢书法的程序员看过来:15行代码抓取兰亭序全文单字高清字帖
  8. Qt使用星空图作为窗口背景,点击键盘的WASD控制小飞机在上面移动。
  9. 微博消息队列架构分析
  10. linux tomcat 改端口号,Linux下启动tomcat、配置tomcat后台账号、修改tomcat端口