def show_start_model(self, file_name): ''' Load the starting model from file. Takes the filename (including full path) as an argument. ''' if self._start_model is not None and not self._start_model.deleted: self.session.models.close([self._start_model]) from chimerax.open_command.cmd import provider_open m = self._start_model = provider_open(self.session, [file_name])[0] m.bonds.radii=0.05 from chimerax.clipper.symmetry import get_symmetry_handler get_symmetry_handler(m) self.set_default_atom_coloring() return True
def spotlight_mode(self): ''' Force a return to "spotlight" viewing mode. ''' from chimerax.clipper.symmetry import get_symmetry_handler sh = get_symmetry_handler(self._current_model) sh.spotlight_mode=True
def close_maps(self): if self._current_model is None or self._current_model.deleted: raise RuntimeError('No PHENIX model/maps currently open!') from chimerax.clipper.symmetry import get_symmetry_handler sh = get_symmetry_handler(self._current_model) if len(sh.map_mgr.xmapsets): self.session.models.close(sh.map_mgr.xmapsets) return True
def load_phenix_refine_final_xn_files(self, output_dir, file_base): ''' Load the final phenix.refine results for a joint x-ray/neutron refinement. Will automatically close the temporary files. ''' self._load_phenix_refine_final_files(output_dir, file_base, joint_xray_neutron=True) m = self._current_model from chimerax.clipper.symmetry import get_symmetry_handler sh = get_symmetry_handler(m) xmapset = sh.map_mgr.xmapsets[0] return True
def isolate(session, atoms, surround_distance=0, context_distance=5, mask_radius=3, hide_surrounds=True, focus=False): from chimerax.clipper.symmetry import get_symmetry_handler us = atoms.unique_structures for s in us: sel = us.atoms.intersect(atoms) sh = get_symmetry_handler(s, create=True) sh.isolate_and_cover_selection(sel, include_surrounding_residues = surround_distance, show_context = context_distance, mask_radius = mask_radius, hide_surrounds = hide_surrounds, focus = focus)
def test_clipper_sym(session, radius=12): import os from chimerax.open_command.cmd import provider_open libdir = os.path.abspath(os.path.dirname(__file__)) m = provider_open(session, [os.path.join(libdir, '3io0.pdb')])[0] m.atoms.displays = True from chimerax.std_commands import cofr cofr.cofr(session, method='center of view', show_pivot=True) from chimerax.clipper import symmetry sym_handler = symmetry.get_symmetry_handler(m, create=True) sym_handler.spotlight_radius = radius sym_handler.map_mgr.add_xmapset_from_mtz(os.path.join( libdir, '3io0_combined.mtz'), oversampling_rate=1.5) sym_handler.map_mgr.nxmapset.add_nxmap_handler_from_file( os.path.join(libdir, '3io0_real_space.ccp4')) return sym_handler
def spotlight(session, models=None, enable=True, radius=None): from chimerax.clipper.symmetry import get_symmetry_handler, SymmetryManager if models is None: from chimerax.atomic import AtomicStructure models = session.models.list(type=AtomicStructure) sym_mgrs = session.models.list(type=SymmetryManager) models = [m for m in models if m.parent not in sym_mgrs] models = models+sym_mgrs create = False else: create = True for m in models: if isinstance(m, SymmetryManager): sh = m else: sh = get_symmetry_handler(m, create=create, auto_add_to_session=True) if sh is not None: sh.spotlight_mode=enable if radius is not None: sh.spotlight_radius = radius