David L. Bostick wrote: > I have searched the archives of the discussion forum for this and found a > few questions, but no answers. I wish to impart the template structure to > a sequence exactly, and select only the loops for refinement. I am using > modeller 7v7, and have not switched to 8 yet. I would be interested in > ways to do this for both versions, but most interested in 7v7.
You can use TOP scripts with both Modeller 7v7 and Modeller 8.
> SUBROUTINE ROUTINE = 'select_atoms' > PICK_ATOMS SELECTION_SEGMENT='100:' '105:', SELECTION_SEARCH='segment', ; > PICK_ATOMS_SET=1, RES_TYPES='all', ATOM_TYPES='all', ; > SELECTION_FROM='all', SELECTION_STATUS='initialize' > RETURN > END_SUBROUTINE > > but I have no idea how to extend this to do multiple loop modelling all at > the same time... i.e. segment 100-105, 158-164, 200-206, etc... all at > once.
First, you use select_loop_atoms, not select_atoms, for loop refinement.
You can simply call PICK_ATOMS multiple times; every time after the first, set SELECTION_STATUS to 'add':
SUBROUTINE ROUTINE = 'select_loop_atoms' PICK_ATOMS SELECTION_SEGMENT='100:' '105:', ; SELECTION_SEARCH='segment', PICK_ATOMS_SET=1, ; RES_TYPES='all', ATOM_TYPES='all', ; SELECTION_FROM='all', SELECTION_STATUS='initialize' PICK_ATOMS SELECTION_SEGMENT='158:' '164:', ; SELECTION_SEARCH='segment', PICK_ATOMS_SET=1, ; RES_TYPES='all', ATOM_TYPES='all', ; SELECTION_FROM='all', SELECTION_STATUS='add' PICK_ATOMS SELECTION_SEGMENT='200:' '206:', ; SELECTION_SEARCH='segment', PICK_ATOMS_SET=1, ; RES_TYPES='all', ATOM_TYPES='all', ; SELECTION_FROM='all', SELECTION_STATUS='add' RETURN END_SUBROUTINE
...and so on. For Python with Modeller 8v1, use the loop.py example at http://salilab.org/modeller/manual/node33.html as your base and use a select_loop_atoms routine similar to the following:
def select_loop_atoms(self): stat = 'INITIALIZE' for segs in (('100:', '105:'), ('158:', '164:'), ('200:', '206:')): self.pick_atoms(selection_segment=segs, selection_search='segment', pick_atoms_set=1, res_types='all', atom_types='all', selection_from='all', selection_status=stat) stat = 'ADD'
Ben Webb, Modeller Caretaker