schrodinger.models.paramtools module¶
- schrodinger.models.paramtools.selective_set_value(src_model, dest_model, *, exclude=())¶
- Set the value of - dest_modelto the value of- src_model, excluding any params specified by- exclude.- Parameters
- src_model ( - CompoundParam) – The param to take values from.
- dest_model (iterator[Param]) – The param to apply values to. 
- exclude – An iterator of abstract params specifying values to ignore when applying src_model to dest_model. 
 
 
- schrodinger.models.paramtools.map_subparams(map_func, compound_param, subparam_type)¶
- Find all subparams of type - subparam_typein- compound_paramand apply- map_functo it. The- compound_paramwill be modified in place.- An example: - class Model(parameters.CompoundParam): workflow_runtimes: List[float] total_idle_time: float min_max_runtimes: Tuple[float, float] = None model = Model(workflow_runtimes = [60, 120, 180], total_idle_time=90, min_max_runtimes=(60,180)) def seconds_to_minutes(seconds): return seconds/60 map_subparams(seconds_to_minutes, model, subparam_type=float) model.workflow_runtimes # [1, 2, 3] model.total_idle_time # 1.5 model.min_max_runtimes # (1, 3) - Optionally, the map_func may accept a second argument of abstract_param. This may be useful in error messages or debugging. Example: - def seconds_to_minutes(seconds, abstract_param): if seconds is None: print(f'{abstract_subparam} was not set.') return None return seconds/60 - Note that the argument must be named ‘abstract_param’ for it to get picked up. 
- schrodinger.models.paramtools.get_subparam_type_hints(abstract_param: type) schrodinger.models.parameters.ParamDict¶
- Return a dictionary version of the provided abstract param. The returned dictionary is fully nested and contains the type hint for each subparam - a_dict = get_subparam_type_hints(Atom) assert a_dict['coord']['x'] == <class 'float'> assert a_dict['coord'] == { 'x': <class 'float'>, 'y': <class 'float'>}- Parameters
- abstract_param – A subclass of CompoundParam for which to get subparam type hints. 
- Raises
- TypeError if - abstract_paramis not abstract.
- Raises
- AttributeError if - abstract_paramis not a- CompoundParam