예제 #1
0
    def _execute(self, directory, available_resources):

        from paprika.evaluator import Setup

        # Construct the restraints to keep the host in place and
        # with an open cavity.
        static_restraints = Setup.build_static_restraints(
            self.complex_coordinate_path,
            len(self.attach_lambdas),
            None,
            None,
            self.restraint_schemas.get("static", []),
        )
        conformational_restraints = Setup.build_conformational_restraints(
            self.complex_coordinate_path,
            self.attach_lambdas,
            None,
            None,
            self.restraint_schemas.get("conformational", []),
        )

        # Construct the restraints to keep the guest at the correct
        # distance and orientation relative to the host.
        symmetry_restraints = Setup.build_symmetry_restraints(
            self.complex_coordinate_path,
            len(self.attach_lambdas),
            self.restraint_schemas.get("symmetry", []),
        )
        wall_restraints = Setup.build_wall_restraints(
            self.complex_coordinate_path,
            len(self.attach_lambdas),
            self.restraint_schemas.get("wall", []),
        )
        guest_restraints = Setup.build_guest_restraints(
            self.complex_coordinate_path,
            self.attach_lambdas,
            None,
            self.restraint_schemas.get("guest", []),
        )

        self._save_restraints(
            directory,
            static_restraints,
            conformational_restraints,
            symmetry_restraints,
            wall_restraints,
            guest_restraints,
        )
예제 #2
0
    def _execute(self, directory, available_resources):

        from paprika.evaluator import Setup

        # Construct the restraints to keep the host in place and
        # with an open cavity.
        static_restraints = Setup.build_static_restraints(
            self.complex_coordinate_path,
            len(self.attach_lambdas),
            self.n_pull_windows,
            None,
            self.restraint_schemas.get("static", []),
        )
        conformational_restraints = Setup.build_conformational_restraints(
            self.complex_coordinate_path,
            self.attach_lambdas,
            self.n_pull_windows,
            None,
            self.restraint_schemas.get("conformational", []),
        )

        # Construct the restraints to keep the guest at the correct
        # distance to the host.
        guest_restraints = Setup.build_guest_restraints(
            self.complex_coordinate_path,
            self.attach_lambdas,
            self.n_pull_windows,
            self.restraint_schemas.get("guest", []),
        )

        # Remove the attach phases from the restraints as these restraints are
        # only being used for the pull phase.
        for restraint in (
            static_restraints + conformational_restraints + guest_restraints
        ):

            for key in restraint.phase["attach"]:
                restraint.phase["attach"][key] = None

        self._save_restraints(
            directory,
            static_restraints,
            conformational_restraints,
            None,
            None,
            guest_restraints,
        )