def shake_sites(xrs, random, shift, grm=None): if (random): xrs.shake_sites_in_place(mean_distance=shift) else: grad_calc = cartesian_dynamics.gradients_calculator_geometry_restraints( restraints_manager=grm) cartesian_dynamics.run(xray_structure=xrs, gradients_calculator=grad_calc, temperature=1000, n_steps=100000, time_step=0.0005, stop_cm_motion=True, stop_at_diff=shift) return xrs
def shake_sites(xrs, random, shift, grm=None): if(random): xrs.shake_sites_in_place(mean_distance = shift) else: grad_calc = cartesian_dynamics.gradients_calculator_geometry_restraints( restraints_manager = grm) cartesian_dynamics.run( xray_structure = xrs, gradients_calculator = grad_calc, temperature = 1000, n_steps = 100000, time_step = 0.0005, stop_cm_motion = True, stop_at_diff = shift) return xrs
def gradients_calculator(self): if(not self.real_space): if(self.fmodel is not None): grad_calc = cartesian_dynamics.gradients_calculator_reciprocal_space( restraints_manager = self.restraints_manager, # XXX WHY? fmodel = self.fmodel, sites_cart = self.fmodel.xray_structure.sites_cart(), wx = self.wx, wc = self.wc, update_gradient_threshold = self.params.update_grads_shift) else: grad_calc = cartesian_dynamics.gradients_calculator_geometry_restraints( restraints_manager = self.restraints_manager) else: grad_calc = cartesian_dynamics.gradients_calculator_real_space_simple( restraints_manager = self.restraints_manager.geometry, # XXX WHY? target_map = self.target_map, unit_cell = self.xray_structure.unit_cell(), sites_cart = self.xray_structure.sites_cart(), wx = self.wx, wc = self.wc, update_gradient_threshold = 0) return grad_calc
def gradients_calculator(self): if (not self.real_space): if (self.fmodel is not None): grad_calc = cartesian_dynamics.gradients_calculator_reciprocal_space( restraints_manager=self.restraints_manager, # XXX WHY? fmodel=self.fmodel, sites_cart=self.fmodel.xray_structure.sites_cart(), wx=self.wx, wc=self.wc, update_gradient_threshold=self.params.update_grads_shift) else: grad_calc = cartesian_dynamics.gradients_calculator_geometry_restraints( restraints_manager=self.restraints_manager) else: grad_calc = cartesian_dynamics.gradients_calculator_real_space_simple( restraints_manager=self.restraints_manager. geometry, # XXX WHY? target_map=self.target_map, unit_cell=self.xray_structure.unit_cell(), sites_cart=self.xray_structure.sites_cart(), wx=self.wx, wc=self.wc, update_gradient_threshold=0) return grad_calc