msmbuilder / msmbuilder-legacy

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

Error using Cluster.py with lprmsd #417

Closed cxhernandez closed 9 years ago

cxhernandez commented 10 years ago

I'm running this command with the latest version of MSMBuilder:

Cluster -s 100 -o d6/ lprmsd -a protein.dat -l ligand.dat hybrid -d 0.6 > clust6.out

and receiving this error:

Traceback (most recent call last):
  File "/home/cxh/anaconda/bin/Cluster", line 9, in <module>
    load_entry_point('msmbuilder==2.8.3', 'console_scripts', 'Cluster')()
  File "/home/cxh/anaconda/lib/python2.7/site-packages/msmbuilder-2.8.3-py2.7.egg/msmbuilder/scripts/Cluster.py", line 287, in entry_point
    main(args, metric)
  File "/home/cxh/anaconda/lib/python2.7/site-packages/msmbuilder-2.8.3-py2.7.egg/msmbuilder/scripts/Cluster.py", line 257, in main
    clusterer = cluster(metric, trajectories, ptrajs, args, **extra_kwargs)
  File "/home/cxh/anaconda/lib/python2.7/site-packages/msmbuilder-2.8.3-py2.7.egg/msmbuilder/scripts/Cluster.py", line 168, in cluster
    ignore_max_objective=args.hybrid_ignore_max_objective)
  File "/home/cxh/anaconda/lib/python2.7/site-packages/msmbuilder-2.8.3-py2.7.egg/msmbuilder/clustering.py", line 1249, in __init__
    s.__init__(metric, trajectories, prep_trajectories)
  File "/home/cxh/anaconda/lib/python2.7/site-packages/msmbuilder-2.8.3-py2.7.egg/msmbuilder/clustering.py", line 907, in __init__
    self.ptraj = metric.prepare_trajectory(self._concatenated)
  File "/home/cxh/anaconda/lib/python2.7/site-packages/msmbuilder.metrics.lprmsd-1.2-py2.7-linux-x86_64.egg/lprmsd.py", line 247, in prepare_trajectory
    T1 = LPTraj(trajectory, self.atomindices, self.permuteindices)
  File "/home/cxh/anaconda/lib/python2.7/site-packages/msmbuilder.metrics.lprmsd-1.2-py2.7-linux-x86_64.egg/lprmsd.py", line 75, in __init__
    self.TD = md.rmsd(S, atom_indices=np.array(aidx))
  File "_rmsd.pyx", line 59, in _rmsd.rmsd (MDTraj/rmsd/_rmsd.c:1578)
TypeError: rmsd() takes at least 2 positional arguments (1 given)
leeping commented 10 years ago

Yeah, I'm getting a similar issue (for me it's the "TheoData" attribute missing from the RMSD object). Since one of my projects requires using LPRMSD, I'm going back to version 2.7 for the time being.

On Monday I'll help figure out how to get the interface working again.

schwancr commented 10 years ago

So mdtraj's implementation of lprmsd is not the same as the @leeping's original version. So there is functionality to compute the distance with indistinguishable atoms, but the alt_indices variable does not look to be implemented.

schwancr commented 10 years ago

But the current lprmsd shipped with msmbuilder did not take this into account and is still trying to use RMSD.TheoData