IMP  2.1.0
The Integrative Modeling Platform
system/__init__.py
1 # This file was automatically generated by SWIG (http://www.swig.org).
2 # Version 2.0.11
3 #
4 # Do not make changes to this file unless you know what you are doing--modify
5 # the SWIG interface file instead.
6 
7 
8 
9 
10 
11 from sys import version_info
12 if version_info >= (2,6,0):
13  def swig_import_helper():
14  from os.path import dirname
15  import imp
16  fp = None
17  try:
18  fp, pathname, description = imp.find_module('_IMP_system', [dirname(__file__)])
19  except ImportError:
20  import _IMP_system
21  return _IMP_system
22  if fp is not None:
23  try:
24  _mod = imp.load_module('_IMP_system', fp, pathname, description)
25  finally:
26  fp.close()
27  return _mod
28  _IMP_system = swig_import_helper()
29  del swig_import_helper
30 else:
31  import _IMP_system
32 del version_info
33 try:
34  _swig_property = property
35 except NameError:
36  pass # Python < 2.2 doesn't have 'property'.
37 def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
38  if (name == "thisown"): return self.this.own(value)
39  if (name == "this"):
40  if type(value).__name__ == 'SwigPyObject':
41  self.__dict__[name] = value
42  return
43  method = class_type.__swig_setmethods__.get(name,None)
44  if method: return method(self,value)
45  if (not static):
46  self.__dict__[name] = value
47  else:
48  raise AttributeError("You cannot add attributes to %s" % self)
49 
50 def _swig_setattr(self,class_type,name,value):
51  return _swig_setattr_nondynamic(self,class_type,name,value,0)
52 
53 def _swig_getattr(self,class_type,name):
54  if (name == "thisown"): return self.this.own()
55  method = class_type.__swig_getmethods__.get(name,None)
56  if method: return method(self)
57  raise AttributeError(name)
58 
59 def _swig_repr(self):
60  try: strthis = "proxy of " + self.this.__repr__()
61  except: strthis = ""
62  return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
63 
64 try:
65  _object = object
66  _newclass = 1
67 except AttributeError:
68  class _object : pass
69  _newclass = 0
70 
71 
72 try:
73  import weakref
74  weakref_proxy = weakref.proxy
75 except:
76  weakref_proxy = lambda x: x
77 
78 
79 class IMP_SYSTEM_SwigPyIterator(_object):
80  """Proxy of C++ swig::IMP_SYSTEM_SwigPyIterator class"""
81  __swig_setmethods__ = {}
82  __setattr__ = lambda self, name, value: _swig_setattr(self, IMP_SYSTEM_SwigPyIterator, name, value)
83  __swig_getmethods__ = {}
84  __getattr__ = lambda self, name: _swig_getattr(self, IMP_SYSTEM_SwigPyIterator, name)
85  def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")
86  __repr__ = _swig_repr
87  __swig_destroy__ = _IMP_system.delete_IMP_SYSTEM_SwigPyIterator
88  __del__ = lambda self : None;
89  def value(self):
90  """value(IMP_SYSTEM_SwigPyIterator self) -> PyObject *"""
91  return _IMP_system.IMP_SYSTEM_SwigPyIterator_value(self)
92 
93  def incr(self, n=1):
94  """
95  incr(IMP_SYSTEM_SwigPyIterator self, size_t n=1) -> IMP_SYSTEM_SwigPyIterator
96  incr(IMP_SYSTEM_SwigPyIterator self) -> IMP_SYSTEM_SwigPyIterator
97  """
98  return _IMP_system.IMP_SYSTEM_SwigPyIterator_incr(self, n)
99 
100  def decr(self, n=1):
101  """
102  decr(IMP_SYSTEM_SwigPyIterator self, size_t n=1) -> IMP_SYSTEM_SwigPyIterator
103  decr(IMP_SYSTEM_SwigPyIterator self) -> IMP_SYSTEM_SwigPyIterator
104  """
105  return _IMP_system.IMP_SYSTEM_SwigPyIterator_decr(self, n)
106 
107  def distance(self, *args):
108  """distance(IMP_SYSTEM_SwigPyIterator self, IMP_SYSTEM_SwigPyIterator x) -> ptrdiff_t"""
109  return _IMP_system.IMP_SYSTEM_SwigPyIterator_distance(self, *args)
110 
111  def equal(self, *args):
112  """equal(IMP_SYSTEM_SwigPyIterator self, IMP_SYSTEM_SwigPyIterator x) -> bool"""
113  return _IMP_system.IMP_SYSTEM_SwigPyIterator_equal(self, *args)
114 
115  def copy(self):
116  """copy(IMP_SYSTEM_SwigPyIterator self) -> IMP_SYSTEM_SwigPyIterator"""
117  return _IMP_system.IMP_SYSTEM_SwigPyIterator_copy(self)
118 
119  def next(self):
120  """next(IMP_SYSTEM_SwigPyIterator self) -> PyObject *"""
121  return _IMP_system.IMP_SYSTEM_SwigPyIterator_next(self)
122 
123  def __next__(self):
124  """__next__(IMP_SYSTEM_SwigPyIterator self) -> PyObject *"""
125  return _IMP_system.IMP_SYSTEM_SwigPyIterator___next__(self)
126 
127  def previous(self):
128  """previous(IMP_SYSTEM_SwigPyIterator self) -> PyObject *"""
129  return _IMP_system.IMP_SYSTEM_SwigPyIterator_previous(self)
130 
131  def advance(self, *args):
132  """advance(IMP_SYSTEM_SwigPyIterator self, ptrdiff_t n) -> IMP_SYSTEM_SwigPyIterator"""
133  return _IMP_system.IMP_SYSTEM_SwigPyIterator_advance(self, *args)
134 
135  def __eq__(self, *args):
136  """__eq__(IMP_SYSTEM_SwigPyIterator self, IMP_SYSTEM_SwigPyIterator x) -> bool"""
137  return _IMP_system.IMP_SYSTEM_SwigPyIterator___eq__(self, *args)
138 
139  def __ne__(self, *args):
140  """__ne__(IMP_SYSTEM_SwigPyIterator self, IMP_SYSTEM_SwigPyIterator x) -> bool"""
141  return _IMP_system.IMP_SYSTEM_SwigPyIterator___ne__(self, *args)
142 
143  def __iadd__(self, *args):
144  """__iadd__(IMP_SYSTEM_SwigPyIterator self, ptrdiff_t n) -> IMP_SYSTEM_SwigPyIterator"""
145  return _IMP_system.IMP_SYSTEM_SwigPyIterator___iadd__(self, *args)
146 
147  def __isub__(self, *args):
148  """__isub__(IMP_SYSTEM_SwigPyIterator self, ptrdiff_t n) -> IMP_SYSTEM_SwigPyIterator"""
149  return _IMP_system.IMP_SYSTEM_SwigPyIterator___isub__(self, *args)
150 
151  def __add__(self, *args):
152  """__add__(IMP_SYSTEM_SwigPyIterator self, ptrdiff_t n) -> IMP_SYSTEM_SwigPyIterator"""
153  return _IMP_system.IMP_SYSTEM_SwigPyIterator___add__(self, *args)
154 
155  def __sub__(self, *args):
156  """
157  __sub__(IMP_SYSTEM_SwigPyIterator self, ptrdiff_t n) -> IMP_SYSTEM_SwigPyIterator
158  __sub__(IMP_SYSTEM_SwigPyIterator self, IMP_SYSTEM_SwigPyIterator x) -> ptrdiff_t
159  """
160  return _IMP_system.IMP_SYSTEM_SwigPyIterator___sub__(self, *args)
161 
162  def __iter__(self): return self
163 IMP_SYSTEM_SwigPyIterator_swigregister = _IMP_system.IMP_SYSTEM_SwigPyIterator_swigregister
164 IMP_SYSTEM_SwigPyIterator_swigregister(IMP_SYSTEM_SwigPyIterator)
165 
166 _value_types=[]
167 _object_types=[]
168 _raii_types=[]
169 _plural_types=[]
170 
171 IMP_DEBUG = _IMP_system.IMP_DEBUG
172 IMP_RELEASE = _IMP_system.IMP_RELEASE
173 IMP_SILENT = _IMP_system.IMP_SILENT
174 IMP_PROGRESS = _IMP_system.IMP_PROGRESS
175 IMP_TERSE = _IMP_system.IMP_TERSE
176 IMP_VERBOSE = _IMP_system.IMP_VERBOSE
177 IMP_MEMORY = _IMP_system.IMP_MEMORY
178 IMP_NONE = _IMP_system.IMP_NONE
179 IMP_USAGE = _IMP_system.IMP_USAGE
180 IMP_INTERNAL = _IMP_system.IMP_INTERNAL
181 IMP_BASE_HAS_LOG4CXX = _IMP_system.IMP_BASE_HAS_LOG4CXX
182 IMP_COMPILER_HAS_AUTO = _IMP_system.IMP_COMPILER_HAS_AUTO
183 IMP_COMPILER_HAS_DEBUG_VECTOR = _IMP_system.IMP_COMPILER_HAS_DEBUG_VECTOR
184 IMP_BASE_HAS_BOOST_RANDOM = _IMP_system.IMP_BASE_HAS_BOOST_RANDOM
185 IMP_BASE_HAS_GPERFTOOLS = _IMP_system.IMP_BASE_HAS_GPERFTOOLS
186 IMP_BASE_HAS_TCMALLOC_HEAPCHECKER = _IMP_system.IMP_BASE_HAS_TCMALLOC_HEAPCHECKER
187 IMP_BASE_HAS_TCMALLOC_HEAPPROFILER = _IMP_system.IMP_BASE_HAS_TCMALLOC_HEAPPROFILER
188 IMPBASE_SHOW_WARNINGS = _IMP_system.IMPBASE_SHOW_WARNINGS
189 import sys
190 class _DirectorObjects(object):
191  """@internal Simple class to keep references to director objects
192  to prevent premature deletion."""
193  def __init__(self):
194  self._objects = []
195  def register(self, obj):
196  """Take a reference to a director object; will only work for
197  refcounted C++ classes"""
198  if hasattr(obj, 'get_ref_count'):
199  self._objects.append(obj)
200  def cleanup(self):
201  """Only drop our reference and allow cleanup by Python if no other
202  Python references exist (we hold 3 references: one in self._objects,
203  one in x, and one in the argument list for getrefcount) *and* no
204  other C++ references exist (the Python object always holds one)"""
205  objs = [x for x in self._objects if sys.getrefcount(x) > 3 \
206  or x.get_ref_count() > 1]
207 
208 
209  self._objects = objs
210  def get_object_count(self):
211  """Get number of director objects (useful for testing only)"""
212  return len(self._objects)
213 _director_objects = _DirectorObjects()
214 
215 DEFAULT_CHECK = _IMP_system.DEFAULT_CHECK
216 NONE = _IMP_system.NONE
217 USAGE = _IMP_system.USAGE
218 USAGE_AND_INTERNAL = _IMP_system.USAGE_AND_INTERNAL
219 
220 def set_check_level(*args):
221  """set_check_level(IMP::base::CheckLevel tf)"""
222  return _IMP_system.set_check_level(*args)
223 
224 def get_check_level():
225  """get_check_level() -> IMP::base::CheckLevel"""
226  return _IMP_system.get_check_level()
227 class _ostream(_object):
228  """Proxy of C++ std::ostream class"""
229  __swig_setmethods__ = {}
230  __setattr__ = lambda self, name, value: _swig_setattr(self, _ostream, name, value)
231  __swig_getmethods__ = {}
232  __getattr__ = lambda self, name: _swig_getattr(self, _ostream, name)
233  def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined")
234  __repr__ = _swig_repr
235  def write(self, *args):
236  """write(_ostream self, char const * osa_buf)"""
237  return _IMP_system._ostream_write(self, *args)
238 
239 _ostream_swigregister = _IMP_system._ostream_swigregister
240 _ostream_swigregister(_ostream)
241 
242 IMP_COMPILER_HAS_OVERRIDE = _IMP_system.IMP_COMPILER_HAS_OVERRIDE
243 IMP_COMPILER_HAS_FINAL = _IMP_system.IMP_COMPILER_HAS_FINAL
244 IMP_HAS_NOEXCEPT = _IMP_system.IMP_HAS_NOEXCEPT
245 import IMP.base
246 IMP_CGAL_HAS_BOOST_FILESYSTEM = _IMP_system.IMP_CGAL_HAS_BOOST_FILESYSTEM
247 IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS = _IMP_system.IMP_CGAL_HAS_BOOST_PROGRAMOPTIONS
248 IMP_CGAL_HAS_BOOST_RANDOM = _IMP_system.IMP_CGAL_HAS_BOOST_RANDOM
249 IMP_CGAL_HAS_BOOST_SYSTEM = _IMP_system.IMP_CGAL_HAS_BOOST_SYSTEM
250 IMPCGAL_SHOW_WARNINGS = _IMP_system.IMPCGAL_SHOW_WARNINGS
251 import IMP.cgal
252 IMP_ALGEBRA_HAS_IMP_CGAL = _IMP_system.IMP_ALGEBRA_HAS_IMP_CGAL
253 IMP_ALGEBRA_HAS_BOOST_FILESYSTEM = _IMP_system.IMP_ALGEBRA_HAS_BOOST_FILESYSTEM
254 IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS = _IMP_system.IMP_ALGEBRA_HAS_BOOST_PROGRAMOPTIONS
255 IMP_ALGEBRA_HAS_BOOST_RANDOM = _IMP_system.IMP_ALGEBRA_HAS_BOOST_RANDOM
256 IMP_ALGEBRA_HAS_BOOST_SYSTEM = _IMP_system.IMP_ALGEBRA_HAS_BOOST_SYSTEM
257 IMP_ALGEBRA_HAS_CGAL = _IMP_system.IMP_ALGEBRA_HAS_CGAL
258 IMP_ALGEBRA_HAS_ANN = _IMP_system.IMP_ALGEBRA_HAS_ANN
259 IMPALGEBRA_SHOW_WARNINGS = _IMP_system.IMPALGEBRA_SHOW_WARNINGS
260 import IMP.algebra
261 IMP_KERNEL_HAS_IMP_CGAL = _IMP_system.IMP_KERNEL_HAS_IMP_CGAL
262 IMP_KERNEL_HAS_BOOST_PROGRAMOPTIONS = _IMP_system.IMP_KERNEL_HAS_BOOST_PROGRAMOPTIONS
263 IMP_KERNEL_HAS_BOOST_RANDOM = _IMP_system.IMP_KERNEL_HAS_BOOST_RANDOM
264 IMP_KERNEL_HAS_BOOST_SYSTEM = _IMP_system.IMP_KERNEL_HAS_BOOST_SYSTEM
265 IMP_KERNEL_HAS_CGAL = _IMP_system.IMP_KERNEL_HAS_CGAL
266 IMPKERNEL_SHOW_WARNINGS = _IMP_system.IMPKERNEL_SHOW_WARNINGS
267 import IMP.kernel
268 IMP_SYSTEM_HAS_IMP_ALGEBRA = _IMP_system.IMP_SYSTEM_HAS_IMP_ALGEBRA
269 IMP_SYSTEM_HAS_IMP_BASE = _IMP_system.IMP_SYSTEM_HAS_IMP_BASE
270 IMP_SYSTEM_HAS_IMP_CGAL = _IMP_system.IMP_SYSTEM_HAS_IMP_CGAL
271 IMP_SYSTEM_HAS_BOOST_FILESYSTEM = _IMP_system.IMP_SYSTEM_HAS_BOOST_FILESYSTEM
272 IMP_SYSTEM_HAS_BOOST_PROGRAMOPTIONS = _IMP_system.IMP_SYSTEM_HAS_BOOST_PROGRAMOPTIONS
273 IMP_SYSTEM_HAS_BOOST_RANDOM = _IMP_system.IMP_SYSTEM_HAS_BOOST_RANDOM
274 IMP_SYSTEM_HAS_BOOST_SYSTEM = _IMP_system.IMP_SYSTEM_HAS_BOOST_SYSTEM
275 IMP_SYSTEM_HAS_CGAL = _IMP_system.IMP_SYSTEM_HAS_CGAL
276 IMPSYSTEM_SHOW_WARNINGS = _IMP_system.IMPSYSTEM_SHOW_WARNINGS
277 import sys
278 import re
279 import os
280 import os.path
281 from optparse import OptionParser
282 
283 def _get_script_name():
284  return os.path.splitext(os.path.split(sys.argv[0])[1])[0]
285 
286 def _get_script_path():
287  return os.path.split(sys.argv[0])[0]
288 
289 def _get_is_sample():
290  return _get_script_name().startswith("sample")
291 
292 def _get_number_of_samples():
293  for i in range(0,100):
294  if not os.path.exists(os.path.join(_get_script_path(),
295  "sample_"+str(i)+".py")):
296  return i
297 
298 def _get_is_analysis():
299  return _get_script_name().startswith("analyze")
300 
301 def _get_is_setup():
302  return _get_script_name() == "setup"
303 
304 
305 def _get_script_index():
306  return int(_get_script_name().split("_")[1])
307 
308 def _get_default_input():
309  if _get_is_sample() and _get_script_index()==0:
310  return "setup"
311  elif _get_is_sample():
312  return "sampled_"+str(_get_script_index()-1)
313  elif _get_is_analysis() and _get_script_index()==0:
314  return "sampled_"+str(_get_number_of_samples()-1)
315  elif _get_is_analysis():
316  return "analyzed_"+str(_get_script_index()-1)
317  else:
318  raise ValueError("bad script name, expect sample_n or analyze_n")
319 
320 def _get_default_output():
321  if _get_is_sample():
322  return "sampled_"+str(_get_script_index())
323  elif _get_is_analysis():
324  return "analyzed_"+str(_get_script_index())
325  elif _get_is_setup():
326  return "setup"
327 
328 
329 def _is_sample():
330  ptn="sample_.*.py"
331  r= re.compile(ptn)
332  nm= os.path.split(sys.argv[0])[1]
333  #print nm, r.match(nm), ptn
334  return r.search(nm)
335 
336 def _is_sample_0():
337  return sys.argv[0].endswith("sample_0.py")
338 
339 
340 
341 def _create_parser():
342  parser = OptionParser(usage='%prog [options]')
343  parser.add_option(
344  '-o', '--output-dir', dest='output_dir', default='auto',
345  help='Where to put the output for the script',
346  )
347  if not _is_sample_0():
348  parser.add_option(
349  '-i', '--input-dir', dest='input_dir', default='auto',
350  help='Where to find input for the script',
351  )
352  parser.add_option(
353  '-d', '--data-dir', dest='data_dir', default='auto',
354  help='Where to find data for the script',
355  )
356  if _is_sample():
357  parser.add_option(
358  '-j', '--job', dest='job_index',
359  help='The index for the current job')
360  parser.add_option(
361  '-n', '--num-jobs', dest='num_jobs',
362  help='The total number of jobs to divide things into')
363  parser.add_option(
364  '-t', '--test', action="store_true", default=False, dest='test',
365  help='Just run a smaller version of the sampling to test things.')
366  return parser
367 
368 parser=_create_parser()
369 (options, args) = parser.parse_args()
370 
372  """Return the index and the number of parts to divide the job in to."""
373  if options.test:
374  if options.job_index or options.num_jobs:
375  parser.error("--test and -j or -n cannot be specified at "
376  "the same time.")
377  return (0, 1000)
378  return (int(options.job_index),int(options.num_jobs))
379 
381  """Return whether this run is called with --test. Scripts that use this
382  can't don't expect -j and -n and so an error will be thrown if
383  they are passed."""
384  if options.job_index or options.num_jobs:
385  parser.error("This sampling script cannot be broken up into jobs. "
386  "Only --test is supported.")
387  return options.test
388 
389 
390 
391 def get_input_path(name):
392  """Get the path where the current script should find output of the
393  last script"""
394  id=options.input_dir
395  if id=="auto":
396  id= _get_default_input()
397  return os.path.join(id, name)
398 
399 def get_output_path(name):
400  """Get the path to where the current script should write output files"""
401  od=options.output_dir
402  if od=="auto":
403  od= _get_default_output()
404  if not os.path.exists(od):
405  os.makedirs(od)
406  return os.path.join(od, name)
407 
408 
410  """Get the path where the current script should find data files"""
411  da= options.data_dir
412  if da=="auto":
413  da= os.path.join(os.path.split(sys.argv[0])[0], "data")
414  return os.path.join(da, name)
415 
416 
417 def get_module_version():
418  """get_module_version() -> std::string const"""
419  return _IMP_system.get_module_version()
420 
421 def get_example_path(*args):
422  """get_example_path(std::string fname) -> std::string"""
423  return _IMP_system.get_example_path(*args)
424 
425 def get_data_path(*args):
426  """get_data_path(std::string fname) -> std::string"""
427  return _IMP_system.get_data_path(*args)
428 import _version_check
429 _version_check.check_version(get_module_version())
430 
431 # This file is compatible with both classic and new-style classes.
432 
433 
def get_output_path
Get the path to where the current script should write output files.
def get_is_test
Return whether this run is called with –test.
std::string get_data_path(std::string file_name)
Return the full path to installed data.
std::string get_example_path(std::string file_name)
Return the path to installed example data for this module.
See IMP.cgal for more information.
Definition: cgal_config.h:107
void set_check_level(CheckLevel tf)
Control runtime checks in the code.
See IMP.base for more information.
Definition: base/Array.h:20
def get_sample_parameters
Return the index and the number of parts to divide the job in to.
See IMP.kernel for more information.
IMP::kernel::OptionParser OptionParser
See IMP.algebra for more information.
def get_data_input_path
Get the path where the current script should find data files.
CheckLevel get_check_level()
Get the current audit mode.
def get_input_path
Get the path where the current script should find output of the last script.