[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [modeller_usage] Loop modelling without changing structure



Yes, this happens quite often. Try to create many homology models without loop modeling (replace MyModel(loopmodel) with class MyModel(automodel), and omit lines starting with a.loop.*) using:

a.library_schedule = autosched.slow
a.max_var_iterations = 300
a.md_level = refine.very_slow

Then chose one model with closed loop ends and use it as the initial conformation to start loop modeling, by following the instructions in my previous email.

If the problem persists (probably in case you use multiple templates), paste your alignment here. Usually it's the alignment that requires aditing to make the loops close.


Thomas


On 24 May 2011 14:08, Matthias Schmidt <">> wrote:
Hi,

Actually, the modelling works, but the result is not what I hoped for.
Despite having restraints everywhere except for on the loop, Modeller
alters the C-terminus, and it fails to close the loop.

Hm... Have you seen this before?

Cheers,

Matthias

On Tue, May 24, 2011 at 11:18 AM, Matthias Schmidt
<">> wrote:
> Hi Thomas,
>
> Thank you very much for the hint on the rigid_bodies constraints and
> for your scripts.
>
> It works well.
>
> Best,
>
> Matthias
>
> On Tue, May 24, 2011 at 10:07 AM, Thomas Evangelidis <">> wrote:
>> I'm sorry, I picked the wrong script. Please use the following corrected
>> version:
>>
>>
>>
>>>> class MyModel(loopmodel):
>>>>     # This routine picks the residues to be refined by loop modeling
>>>>     def select_loop_atoms(self):
>>>>         return selection(self.residue_range('310:', '320:'),
>>>> self.residue_range('517:', '523:'))
>>>>
>>>>     def special_restraints(self, aln):
>>>>         rsr = self.restraints
>>>>         # Keep whole model but loop atoms rigid
>>>>         wholeSel = selection(self) - self.select_loop_atoms()
>>>>         r = rigid_body(wholeSel)
>>>>         rsr.rigid_bodies.append(r)
>>>
>>> Then use MyModel in the following way:
>>>
>>>>         nv = environ()
>>>>         env.io.hetatm = False
>>>>         # directories for input atom files
>>>>         env.io.atom_files_directory = ["../"]
>>>>         a = MyModel(env,
>>>>             alnfile  = ALIGNMENT,     # alignment filename
>>>>             knowns = (template1, template2), # codes of the templates
>>>>             assess_methods=(assess.DOPEHR,assess.normalized_dope), #
>>>> optionally assess the models on th fly
>>>>             sequence=OUTPUT_MODEL_NAME)               # code of the
>>>> target
>>>>         a.starting_model = 1           # First homology model
>>>>         a.ending_model   = 1         # Last homology model
>>
>>
>>                a.loop.starting_model = 1           # First loop model
>>                a.loop.ending_model   = 10         # Last loop model
>>                a.loop.md_level       = refine.very_slow # Loop model
>> refinement level
>>>>
>>>>
>>>>         a.library_schedule = autosched.slow
>>>>         a.max_var_iterations = 300
>>>>         # Very thorough MD optimization:
>>>>         a.md_level = refine.very_slow
>>>>
>>>>         a.make()
>>>
>>>
>>
>> In this way you will create a model from your template (if you already have
>> a model then use it as the template), and then 10 loop decoys by keeping the
>> rest of the structure rigid. Instead of loopmodel you could use the more
>> accurate dope_loopmodel or even dopehr_loopmodel. You could also start from
>> an initial structure instead of building one, by using the inimodel argument
>> within MyModel, i.e.
>>
>>         a = MyLoopModel(env,
>>             inimodel=initial_structure,
>>             loop_assess_methods=assess.DOPEHR,
>>             sequence=output_model_name)               # code of the target
>>         a.loop.starting_model = 1           # First loop model
>>         a.loop.ending_model   = 10         # Last loop model
>>         a.loop.md_level       = refine.very_slow # Loop model refinement
>> level
>>         a.make()
>>
>>
>> Whatever way you chose, the key is to define as rigid_body the part of the
>> structure that you want to be fixed.
>>
>>
>> good luck,
>> Thomas
>>
>>
>>>
>>>
>>> On 24 May 2011 10:25, Matthias Schmidt <">>
>>> wrote:
>>>>
>>>> Hi,
>>>>
>>>> how can I model a loop without changing the rest of the structure?
>>>>
>>>> Best,
>>>>
>>>> Matthias
>>>> _______________________________________________
>>>> modeller_usage mailing list
>>>> ">
>>>> https://salilab.org/mailman/listinfo/modeller_usage
>>>
>>
>>
>>
>> Thomas Evangelidis
>>
>> PhD student
>>
>> Biomedical Research Foundation, Academy of Athens
>>
>> 4 Soranou Ephessiou , 115 27 Athens, Greece
>>
>> email: ">
>>
>>           ">
>>
>> website: https://sites.google.com/site/thomasevangelidishomepage/
>>
>>
>



--

======================================================================

Thomas Evangelidis

PhD student

Biomedical Research Foundation, Academy of Athens

4 Soranou Ephessiou , 115 27 Athens, Greece

email: " target="_blank">

          " target="_blank">


website: https://sites.google.com/site/thomasevangelidishomepage/