예제 #1
0
파일: meld.py 프로젝트: arupmondal835/meld
    def __init__(
        self,
        param_manager: param_sampling.ParameterManager,
        options: options.RunOptions,
        always_active_restraints: List[restraints.Restraint],
        selectively_active_restraints: List[
            restraints.SelectivelyActiveCollection],
    ) -> None:
        # We use the param_manager to update parameters that can be sampled over.
        self.param_manager = param_manager

        # Track indices of restraints, groups, and collections so that we can
        # update them.
        self.tracker = _RestraintTracker()

        self.always_on = [
            r for r in always_active_restraints
            if isinstance(r, restraints.SelectableRestraint)
        ]
        _delete_from_always_active(self.always_on, always_active_restraints)

        # Gather all of the selectively active restraints.
        self.selective_on = [r for r in selectively_active_restraints]
        for r in self.selective_on:
            selectively_active_restraints.remove(r)

        if self.always_on or self.selective_on:
            self.active = True
        else:
            self.active = False
예제 #2
0
파일: rdc.py 프로젝트: ccccclw/meld
    def __init__(
        self,
        param_manager: param_sampling.ParameterManager,
        mapper: mapping.PeakMapManager,
        options: options.RunOptions,
        always_active_restraints: List[restraints.Restraint],
        selectively_active_restraints: List[restraints.SelectivelyActiveCollection],
    ) -> None:
        self.restraints = [
            r
            for r in always_active_restraints
            if isinstance(r, restraints.RdcRestraint)
        ]
        _delete_from_always_active(self.restraints, always_active_restraints)

        if self.restraints:
            self.active = True
        else:
            self.active = False

        if self.active:
            # map experiments to restraints
            self.expt_dict = DefaultOrderedDict(list)
            for r in self.restraints:
                self.expt_dict[r.expt_index].append(r)
예제 #3
0
    def __init__(
        self,
        param_manager: param_sampling.ParameterManager,
        options: options.RunOptions,
        always_active_restraints: List[restraints.Restraint],
        selectively_active_restraints: List[
            restraints.SelectivelyActiveCollection],
    ) -> None:
        self.use_pbc = options.solvation == "explicit"
        self.restraints = [
            r for r in always_active_restraints
            if isinstance(r, restraints.CartesianRestraint)
        ]
        _delete_from_always_active(self.restraints, always_active_restraints)

        if self.restraints:
            self.active = True
        else:
            self.active = False
예제 #4
0
파일: com.py 프로젝트: arupmondal835/meld
    def __init__(
        self,
        param_manager: param_sampling.ParameterManager,
        options: options.RunOptions,
        always_active_restraints: List[restraints.Restraint],
        selectively_active_restraints: List[
            restraints.SelectivelyActiveCollection],
    ) -> None:
        self.restraints = [
            r for r in always_active_restraints
            if isinstance(r, restraints.COMRestraint)
        ]
        _delete_from_always_active(self.restraints, always_active_restraints)

        if len(self.restraints) > 1:
            raise RuntimeError("Cannot have more than one COMRestraint")

        if self.restraints:
            self.active = True
        else:
            self.active = False