Esempio n. 1
0
 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
Esempio n. 2
0
 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
Esempio n. 3
0
 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
Esempio n. 4
0
 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
Esempio n. 5
0
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)
Esempio n. 6
0
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
Esempio n. 7
0
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