From 58f6e7039048ebed6726600e2dd386ee1277aab4 Mon Sep 17 00:00:00 2001
From: Niklaus Johner <nij2003@med.cornell.edu>
Date: Sun, 26 Jan 2014 19:51:23 -0500
Subject: [PATCH] Added function to calculate distance fluctuation matrix

---
 modules/mol/alg/pymod/trajectory_analysis.py | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/modules/mol/alg/pymod/trajectory_analysis.py b/modules/mol/alg/pymod/trajectory_analysis.py
index 064135c32..e46af2756 100644
--- a/modules/mol/alg/pymod/trajectory_analysis.py
+++ b/modules/mol/alg/pymod/trajectory_analysis.py
@@ -211,5 +211,23 @@ def AverageDistanceMatrixFromTraj(t,sele,first=0,last=-1):
       M[j,i]=npy.mean(d)
   return M
 
-
+def AnalyzeDistanceFluctuationMatrix(t,sele,first=0,last=-1):
+  try:
+    import numpy as npy
+  except ImportError:
+    LogError("Function needs numpy, but I could not import it.")
+    raise
+  n_atoms=sele.GetAtomCount()
+  M=npy.zeros([n_atoms,n_atoms])
+  for i,a1 in enumerate(sele.atoms):
+    for j,a2 in enumerate(sele.atoms):
+      if i>j:continue
+      d=ost.mol.alg.AnalyzeDistanceBetwAtoms(t,a1.GetHandle(),a2.GetHandle())[first:last]
+      M[j,i]=npy.std(d)
+      M[i,j]=npy.std(d)
+  return M
+  
+  
+  
+  
     
\ No newline at end of file
-- 
GitLab