msmbuilder / msmbuilder-legacy

Legacy release of MSMBuilder
http://msmbuilder.org
GNU General Public License v2.0
25 stars 28 forks source link

AttributeError: type object 'RMSD' has no attribute 'TheoData' #356

Open s-gordon opened 10 years ago

s-gordon commented 10 years ago

Using the latest Master build, attempted to cluster some trajectory data using LPRMSD with the following script:

alignment=lprmsd        # Alignment method
stride=50               # Stride
cluster=hierarchical            # Clustering metric
align_atoms=ProteinIndices.dat
metric_atoms=LigIndices.dat

Cluster.py -s $stride $alignment -a $align_atoms -l $metric_atoms $cluster

This is the resulting error message:

{'alg': 'hierarchical',
 'hierarchical_method': 'ward',
 'lprmsd_alt_indices': 'LigIndices.dat',
 'lprmsd_atom_indices': 'ProteinIndices.dat',
 'lprmsd_permute_atoms': None,
 'metric': 'lprmsd',
 'output_dir': 'Data/',
 'project': 'ProjectInfo.yaml',
 'quiet': False,
 'stride': 50}
19:54:33 - Loaded 156 trajs
19:54:33 - Preparing...
Traceback (most recent call last):
  File "/usr/local/bin/Cluster.py", line 5, in <module>
    pkg_resources.run_script('msmbuilder==2.8', 'Cluster.py')
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 499, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1235, in run_script
    execfile(script_filename, namespace, namespace)
  File "/usr/local/lib/python2.7/dist-packages/msmbuilder-2.8-py2.7-linux-x86_64.egg/EGG-INFO/scripts/Cluster.py", line 285, in <module>
    main(args, metric)
  File "/usr/local/lib/python2.7/dist-packages/msmbuilder-2.8-py2.7-linux-x86_64.egg/EGG-INFO/scripts/Cluster.py", line 256, in main
    clusterer = cluster(metric, trajectories, ptrajs, args, **extra_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/msmbuilder-2.8-py2.7-linux-x86_64.egg/EGG-INFO/scripts/Cluster.py", line 188, in cluster
    method=args.hierarchical_method)
  File "/usr/local/lib/python2.7/dist-packages/msmbuilder-2.8-py2.7-linux-x86_64.egg/msmbuilder/clustering.py", line 761, in __init__
    pflat_trajectory = metric.prepare_trajectory(flat_trajectory)
  File "/usr/local/lib/python2.7/dist-packages/msmbuilder.metrics.lprmsd-1.2-py2.7-linux-x86_64.egg/lprmsd.py", line 246, in prepare_trajectory
    T1 = LPTraj(trajectory, self.atomindices, self.permuteindices)
  File "/usr/local/lib/python2.7/dist-packages/msmbuilder.metrics.lprmsd-1.2-py2.7-linux-x86_64.egg/lprmsd.py", line 74, in __init__
    self.TD = RMSD.TheoData(S.xyz[:, np.array(aidx)])
AttributeError: type object 'RMSD' has no attribute 'TheoData'

Not sure what to make of the last line. This workflow seemed to work fine on the build downloaded about a month ago.

rmcgibbo commented 10 years ago

Sorry about this. Definitely a bug -- when we updated to version 2.8 in #292, we missed updated the LPRMSD plugin.