Loop refinement: setting the right anchors in multichain models
Hi everyone,
I am trying to do loop refinement on a multi-chain protein. My problem is that Modeller tries to anchor C-ter loops to the N-ter of the next chain, yielding unrealistic starting configurations, and making the whole refinement fail.
How can I instruct Modeller that the C-ter and the following N-ter "loops" are to be modeled separately?
Thanks, Jerome
Possibly by defining different chain IDs. To do that use the chain brake character "/" in your alignment and , for example, instead of writing this:
class MyLoopModel(dopehr_loopmodel): # This routine picks the residues to be refined by loop modeling def select_loop_atoms(self): return selection(self.residue_range('330:', '336:'))
write this:
class MyLoopModel(dopehr_loopmodel): # This routine picks the residues to be refined by loop modeling def select_loop_atoms(self): return selection(self.residue_range('330:A', '336:A'), self.residue_range('221:B', 22'8:B'))
HTH, Thomas
On 25 April 2012 22:16, Jérôme Hénin jhenin@imm.cnrs.fr wrote:
> Hi everyone, > > I am trying to do loop refinement on a multi-chain protein. My problem > is that Modeller tries to anchor C-ter loops to the N-ter of the next > chain, yielding unrealistic starting configurations, and making the > whole refinement fail. > > How can I instruct Modeller that the C-ter and the following N-ter > "loops" are to be modeled separately? > > Thanks, > Jerome > _______________________________________________ > modeller_usage mailing list > modeller_usage@salilab.org > https://salilab.org/mailman/listinfo/modeller_usage >
Thanks Thomas, I will try this.
Jerome
On 26 April 2012 11:16, Thomas Evangelidis tevang3@gmail.com wrote: > Possibly by defining different chain IDs. To do that use the chain brake > character "/" in your alignment and , for example, instead of writing this: > > class MyLoopModel(dopehr_loopmodel): > # This routine picks the residues to be refined by loop modeling > def select_loop_atoms(self): > return selection(self.residue_range('330:', '336:')) > > write this: > > class MyLoopModel(dopehr_loopmodel): > # This routine picks the residues to be refined by loop modeling > def select_loop_atoms(self): > return selection(self.residue_range('330:A', '336:A'), > self.residue_range('221:B', 22'8:B')) > > > HTH, > Thomas > > > > > On 25 April 2012 22:16, Jérôme Hénin jhenin@imm.cnrs.fr wrote: >> >> Hi everyone, >> >> I am trying to do loop refinement on a multi-chain protein. My problem >> is that Modeller tries to anchor C-ter loops to the N-ter of the next >> chain, yielding unrealistic starting configurations, and making the >> whole refinement fail. >> >> How can I instruct Modeller that the C-ter and the following N-ter >> "loops" are to be modeled separately? >> >> Thanks, >> Jerome >> _______________________________________________ >> modeller_usage mailing list >> modeller_usage@salilab.org >> 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: tevang@bioacademy.gr > > tevang3@gmail.com > > > website: https://sites.google.com/site/thomasevangelidishomepage/ > > > > > _______________________________________________ > modeller_usage mailing list > modeller_usage@salilab.org > https://salilab.org/mailman/listinfo/modeller_usage >
On 04/25/2012 12:16 PM, Jérôme Hénin wrote: > I am trying to do loop refinement on a multi-chain protein. My problem > is that Modeller tries to anchor C-ter loops to the N-ter of the next > chain, yielding unrealistic starting configurations, and making the > whole refinement fail. > > How can I instruct Modeller that the C-ter and the following N-ter > "loops" are to be modeled separately?
Modeling of a loop at the terminus is unlikely to give satisfactory results, since you really only have one anchor. The unanchored end is just going to flop around - most likely what you'll end up with is a disordered region stretching away from the protein.
But if I understand your question, you are trying to model a loop at the C terminus of one chain at the same time as a loop at the N terminus of the next chain. Modeller's default starting conformation for loop modeling places the loop atoms on a line between the nearest residues that are not being modeled (in sequence) - check out the *.IL*.pdb file. As you've observed, this will join the termini if you try to model two loops at the termini of neighboring chains. Without a defined terminus, this is Modeller's "best guess". If you can do better (e.g. the original PDB structure), override the build_ini_loop method: http://salilab.org/modeller/9.10/manual/node90.html
Ben Webb, Modeller Caretaker
participants (3)
-
Jérôme Hénin
-
Modeller Caretaker
-
Thomas Evangelidis