from collections import namedtuple
except ImportError: # work around Python < 2.6
from ._collections import namedtuple
+from distutils.spawn import find_executable
import hashlib
from optparse import Option
import os
"""Allow nosetests to split tests between processes.
"""
-SAWSIM = 'sawsim' # os.path.expand(os.path.join('~', 'bin', 'sawsim'))
+SAWSIM = find_executable('sawsim')
+if SAWSIM == None:
+ SAWSIM = os.path.join('bin', 'sawsim')
+
CACHE_DIR = os.path.expanduser(os.path.join('~', '.sawsim-cache'))
DEFAULT_PARAM_STRING = (
'-s cantilever,hooke,0.05 -N1 '
class SawsimRunner (object):
"""
- >>> from .manager.thread import ThreadManager
- >>> m = ThreadManager()
- >>> sr = SawsimRunner(sawsim='bin/sawsim', manager=m)
+ >>> m = get_manager()()
+ >>> sr = SawsimRunner(manager=m)
>>> for run in sr(param_string=DEFAULT_PARAM_STRING, N=2):
... print 'New run'
... for i,event in enumerate(run):
default=400),
Option('-m', '--manager', dest='manager',
metavar='STRING',
- help='Job manager name (one of %s) (%%default).'
+ help='Job manager name (one of %s) (default: auto-select).'
% (', '.join(MANAGERS)),
- default=MANAGERS[0]),
+ default=None),
Option('-C','--use-cache', dest='use_cache',
help='Use cached simulations if they exist (vs. running new simulations) (%default)',
default=False, action='store_true'),
Options:
-h, --help show this help message and exit
-s PATH, --sawsim=PATH
- Set sawsim binary (sawsim).
+ Set sawsim binary (...sawsim).
...
>>> print e
0
- >>> main(['--sawsim', 'bin/sawsim', '-N', '2'])
+ >>> main(['-N', '2'])
... # doctest: +ELLIPSIS, +NORMALIZE_WHITESPACE
#Force (N) Initial state Final state
... folded unfolded