Hello,
In my protein, there is one missing loop, 15 residues. I used the script from the tutorials to add the missing residues while keeping other coordinates: #
from modeller import * from modeller.automodel import * # Load the automodel class
log.verbose() env = environ()
# directories for input atom files env.io.atom_files_directory = ['.', '../atom_files']
class MyModel(automodel): def select_atoms(self): return selection(self.residue_range('133', '135'), self.residue_range('217', '230'))
a = MyModel(env, alnfile = 'alignment.ali', knowns = '1qg8', sequence = '1qg8_fill') a.starting_model= 1 a.ending_model = 1
a.make()
#
However, the loops added are too extended, even have bad contacts with the other parts of the protein. As the figure in the Dropbox: https://www.dropbox.com/s/3obtrrvc9c9w8df/image.png?dl=0
Could someone guide me how to add the loop more properly? Thanks a lot!
All the best, Qinghua
On 5/14/20 1:53 PM, Qinghua Liao wrote: > In my protein, there is one missing loop, 15 residues. ... > However, the loops added are too extended, even have bad contacts with > the other parts of the protein.
You are not doing any loop refinement, and are only building a single model. That is extremely unlikely to sample anything close to the correct loop conformation. You will need to employ loopmodel to optimize the loop as per https://salilab.org/modeller/9.24/manual/node34.html.
Even so, 15 residues is a very long loop, about at the limit of what Modeller's loop refinement algorithm can handle. You will need to do extensive sampling of conformational space (by building multiple models by setting a.loop.ending_model to a large value, perhaps 500 or more) and then filter for the best models.
Ben Webb, Modeller Caretaker
Dear Ben,
Thanks a lot for your guide. I just figured it out to use loopmodel to optimize the loop. I am going to build up a large number of conformations of the loop by setting a.loop.ending_model to a large value.
Just another question, will set "a.ending_model" more than 1 help a little bit, as the total number will be a.ending_model * a.loop.ending_model?
All the best, Qinghua
On 5/15/20 1:04 AM, Modeller Caretaker wrote: > On 5/14/20 1:53 PM, Qinghua Liao wrote: >> In my protein, there is one missing loop, 15 residues. > ... >> However, the loops added are too extended, even have bad contacts >> with the other parts of the protein. > > You are not doing any loop refinement, and are only building a single > model. That is extremely unlikely to sample anything close to the > correct loop conformation. You will need to employ loopmodel to > optimize the loop as per > https://salilab.org/modeller/9.24/manual/node34.html. > > Even so, 15 residues is a very long loop, about at the limit of what > Modeller's loop refinement algorithm can handle. You will need to do > extensive sampling of conformational space (by building multiple > models by setting a.loop.ending_model to a large value, perhaps 500 or > more) and then filter for the best models. > > Ben Webb, Modeller Caretaker
On 5/14/20 4:11 PM, Qinghua Liao wrote: > Thanks a lot for your guide. I just figured it out to use loopmodel to > optimize the loop. > I am going to build up a large number of conformations of the loop by > setting a.loop.ending_model to a large value. > > Just another question, will set "a.ending_model" more than 1 help a > little bit, as the total number will be a.ending_model * > a.loop.ending_model?
a.ending_model controls how many models of the entire protein are generated. It makes sense to increase that from 1, particularly if you are not sure where your loop termini should be.
Ben Webb, Modeller Caretaker
Thanks Ben!
Best, Qinghua
On 5/15/20 9:01 PM, Modeller Caretaker wrote: > On 5/14/20 4:11 PM, Qinghua Liao wrote: >> Thanks a lot for your guide. I just figured it out to use loopmodel >> to optimize the loop. >> I am going to build up a large number of conformations of the loop by >> setting a.loop.ending_model to a large value. >> >> Just another question, will set "a.ending_model" more than 1 help a >> little bit, as the total number will be a.ending_model * >> a.loop.ending_model? > > a.ending_model controls how many models of the entire protein are > generated. It makes sense to increase that from 1, particularly if you > are not sure where your loop termini should be. > > Ben Webb, Modeller Caretaker
participants (2)
-
Modeller Caretaker
-
Qinghua Liao