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

[modeller_usage] Allhmodel chirality inversion



Dear MODELLER users,

 I have a problem with all hydrogen models, namely some of the amino acid residues chirality inverts in the final models. I have set also "deviation=0", but it didn't work. Everything looks fine in the initial structure (.ini file), but some of the residues have D chirality in the final models. I think this is because of the MD refinement. I am curious if anybody had the same problem, and what was the cause/solution, and if the MD simualtion is guilty, how could I constrain the chirality? I am pasting my script also. 

 Thank you for your help in advance!

 Best regards,
 Gergely Banoczi


MODELING SCRIPT


from modeller import *
from modeller.automodel import *   
from modeller.parallel import *
from mymodel import mymodel

j = job()
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())
j.append(local_slave())

log.very_verbose()
env = environ()
env.io.atom_files_directory = ['.', '../atom_files']
env.io.hetatm = True
env.io.water = True

a = mymodel(env,deviation=0,
            alnfile  = 'PcPAL-2YII.ali' ,   
            knowns   = ('2YII','1W27') ,
            sequence = 'PcPAL', assess_methods=(assess.DOPE, assess.GA341))      
 
a.max_molpdf = 2e7
a.starting_model= 1                
a.ending_model  = 8
                                  
a.use_parallel_job(j)
a.make()



CLASS DEFINING SCRIPT



from modeller import *
from modeller.automodel import *   

class mymodel(allhmodel):
def special_patches(self, aln):
        self.rename_segments(segment_ids=['A', 'B', 'C', 'D'], renumber_residues=[25, 25, 25, 25])
        def special_restraints(self, aln):
rsr = self.restraints
at = self.atoms
s1 = selection(self.chains['A']).only_atom_types('CA')
s2 = selection(self.chains['B']).only_atom_types('CA')
s3 = selection(self.chains['C']).only_atom_types('CA')
s4 = selection(self.chains['D']).only_atom_types('CA')
rsr.symmetry.append(symmetry(s1, s2, 1.0))
rsr.symmetry.append(symmetry(s2, s3, 1.0))
rsr.symmetry.append(symmetry(s3, s4, 1.0))

def user_after_single_model(self): self.restraints.symmetry.report(1.0)