def refine_window(self, window): from mmtbx.building.alternate_conformations import real_space_annealing processed_pdb_file = self.get_processed_pdb_file() assert (processed_pdb_file is not None) hierarchy = processed_pdb_file.all_chain_proxies.pdb_hierarchy #print window.residue_id_str log = null_out() if (self.debug): log = sys.stdout refinements = real_space_annealing.refine_into_difference_density( fmodel=self.fmodel, pdb_hierarchy=hierarchy.deep_copy(), processed_pdb_file=processed_pdb_file, selection=window.selection, selection_score=window.residue_selection, params=self.params, nproc=self.nproc_2, out=null_out()).get_filtered_trials(log=log) result = ensemble( window=window, sites_trials=refinements) n_keep = result.filter_trials( sites_cart=self.sites_cart, min_rmsd=self.params.min_rmsd, min_dev=self.min_required_deviation) if (n_keep > 0): if (self.asynchronous_output): print(result, file=self.out) return result return None
def refine_window (self, window) : from mmtbx.building.alternate_conformations import real_space_annealing processed_pdb_file = self.get_processed_pdb_file() assert (processed_pdb_file is not None) hierarchy = processed_pdb_file.all_chain_proxies.pdb_hierarchy #print window.residue_id_str log = null_out() if (self.debug) : log = sys.stdout refinements = real_space_annealing.refine_into_difference_density( fmodel=self.fmodel, pdb_hierarchy=hierarchy.deep_copy(), processed_pdb_file=processed_pdb_file, selection=window.selection, selection_score=window.residue_selection, params=self.params, nproc=self.nproc_2, out=null_out()).get_filtered_trials(log=log) result = ensemble( window=window, sites_trials=refinements) n_keep = result.filter_trials( sites_cart=self.sites_cart, min_rmsd=self.params.min_rmsd, min_dev=self.min_required_deviation) if (n_keep > 0) : if (self.asynchronous_output) : print >> self.out, result return result return None
def run(args, out=None): if out is None: out = sys.stdout from mmtbx.building.alternate_conformations import real_space_annealing import mmtbx.maps.utils import mmtbx.utils cmdline = mmtbx.utils.cmdline_load_pdb_and_data( args=args, master_phil=master_phil, process_pdb_file=True, scattering_table="n_gaussian", out=out ) params = cmdline.params working_phil = master_phil.format(python_object=params) master_phil.fetch_diff(source=working_phil).show(out=out) fmodel = cmdline.fmodel hierarchy = cmdline.pdb_hierarchy sele_cache = hierarchy.atom_selection_cache() if params.selection is None: raise Sorry("Please specify the selection parameter.") selection = sele_cache.selection(params.selection) assert selection.count(True) > 0 t1 = time.time() models = [] refined_hierarchy = real_space_annealing.refine_into_difference_density( fmodel=fmodel, pdb_hierarchy=hierarchy, processed_pdb_file=cmdline.processed_pdb_file, selection=selection, params=params, nproc=params.nproc, out=out, ).as_pdb_ensemble(log=out) t2 = time.time() print >> out, "refinement time: %.3fs" % (t2 - t1) if refined_hierarchy is not None: refined_hierarchy.write_pdb_file( file_name=params.output_file_name, crystal_symmetry=fmodel.xray_structure.crystal_symmetry() ) print "wrote %s" % params.output_file_name else: raise Sorry("No conformations surviving filtering step!")
def run(args, out=None): if (out is None) : out = sys.stdout from mmtbx.building.alternate_conformations import real_space_annealing import mmtbx.maps.utils import mmtbx.utils cmdline = mmtbx.utils.cmdline_load_pdb_and_data( args=args, master_phil=master_phil, process_pdb_file=True, scattering_table="n_gaussian", out=out) params = cmdline.params working_phil = master_phil.format(python_object=params) master_phil.fetch_diff(source=working_phil).show(out=out) fmodel = cmdline.fmodel hierarchy = cmdline.pdb_hierarchy sele_cache = hierarchy.atom_selection_cache() if (params.selection is None): raise Sorry("Please specify the selection parameter.") selection = sele_cache.selection(params.selection) assert (selection.count(True) > 0) t1 = time.time() models = [] refined_hierarchy = real_space_annealing.refine_into_difference_density( fmodel=fmodel, pdb_hierarchy=hierarchy, processed_pdb_file=cmdline.processed_pdb_file, selection=selection, params=params, nproc=params.nproc, out=out).as_pdb_ensemble(log=out) t2 = time.time() print >> out, "refinement time: %.3fs" % (t2-t1) if (refined_hierarchy is not None): refined_hierarchy.write_pdb_file(file_name=params.output_file_name, crystal_symmetry = fmodel.xray_structure.crystal_symmetry()) print "wrote %s" % params.output_file_name else : raise Sorry("No conformations surviving filtering step!")