[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [modeller_usage] modelling multiple loops
- To: "David L. Bostick" <dbostick AT physics.unc.edu>
- Subject: Re: [modeller_usage] modelling multiple loops
- From: Modeller Caretaker <modeller-care@ucsf.edu>
- Date: Tue, 26 Jul 2005 21:40:21 -0700
- Cc: modeller_usage@listsrv.ucsf.edu
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
--
modeller-care@ucsf.edu http://www.salilab.org/modeller/
Modeller mail list: http://salilab.org/mailman/listinfo/modeller_usage