On 28th Jan, I wrote:-
Dear Modeller users,
I have been having problems carrying out a refinement from my own initial structure. I have adopted the steering file example from FAQ no. 12, but my procedure is resulting in the .ini file being overwritten.
I want to produce a model based on some templates, but want to carry out the procedure in two stages. The first stage should be to achieve the overall fold based on the templates. The second stage is to refine part of the target based on another alignment which should produce (I hope) better results in that part of the target. To put it another way, this is a bit like the chimera example in FAQ no. 4, except that I think I can get the overall fold by the two stage process outlined above (the problem in FAQ no. 4).
Here is my steering file for the second stage:
# Homology modelling by the MODELLER TOP routine 'model'.
INCLUDE # Include the predefined TOP routines
SET ALNFILE = 'seq.pir' # alignment filename SET KNOWNS = '1abc' '1cde' '1fgh' # templates SET SEQUENCE = '1ijk' # target SET ATOM_FILES_DIRECTORY = './' # directories
SET STARTING_MODEL= 1 # index of the first model SET ENDING_MODEL = 3 # index of the last model
SET DEVIATION = 4.0 # has to be >0 if more than 1 model SET RAND_SEED = -12312 # to have different models from # another top
SET MD_LEVEL = 'refine3' # what kind of optimization is done
# Specifiying an alternate starting structure.
# Specify the initial structure filename, and tell the program to # read the initial file, not construct it from the templates: # ref.ini is my model from stage one # SET MODEL = 'ref.ini', BUILD_METHOD = 'read_xyz'
# Homology modelling by the MODELLER TOP routine 'model'. # Demonstrates how to refine only a part of the model.
SET DYNAMIC_FLAG = 0 # selected atoms do not feel the #neighbourhood
CALL ROUTINE = 'model' # do modelling on supplied modelling # (hopefully)
# select the residues for second stage refinement
SUBROUTINE ROUTINE = 'select_atoms' PICK_ATOMS SELECTION_SEGMENT='17:' '43:', SELECTION_SEARCH='segment', ; PICK_ATOMS_SET=1, RES_TYPES='all', ATOM_TYPES='all', ; SELECTION_FROM='all', SELECTION_STATUS='initialize', SELECTION_STEP=1
RETURN END_SUBROUTINE
#######################################################
I assumed that "BUILD_METHOD = 'read_xyz'" was a flag to modeller that tells it *not* to construct an initial model from the templates, but to read the .ini file supplied. Correct? (y/n)
The result of the above is to construct both a new .ini file with part of the molecule built from topology (extended chain) and the same for the resultant structure, but with the rest refined as I wanted. That is, I get the refinement I wanted but lose the overall fold from stage one.
Can anyone tell me where I am going wrong.
THE SOLUTION ------------
After reading through the modeller steering files and constructing a flow chart of the procedure, I realised that I was essentially correct about the BUILD_METHOD being a "flag". This acts as a variable but it is the *wrong* variable. It should be
GENERATE_METHOD not BUILD_METHOD
Therefore the line in the above script should read:
SET MODEL = 'ref.old', GENERATE_METHOD = 'read_xyz'
This variable is evaluted in __homcsr.top in the 'homcsr' subroutine. The default is 'transfer_xyz'
Regards,
Tony Pemberton
********************************************************************* Mr. A.J.Pemberton Tel: +44 121-414-3388 c/o Dept. Rheumatology, Fax: +44 121-414-3982 Medical School, E-mail: A.J.Pemberton@bham.ac.uk The University of Birmingham, Birmingham B15 2TT. U.K. *********************************************************************