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

[modeller_usage] change restraints relative weights



dear Users,

I am sorry for the naif question, but is there a way to change the relative importance of restraints?

I am trying to add a secondary structure (both strand and sheet for H bonds) restraints to a model, in a region that do not align on the template structure (hence it shouldn't contain homology derived restraints). However only a few (up to 2) hydrogen bonds are formed rather than the whole beta sheet.

In case you wish to delve further into this I attach at the end the piece of code that I use to add the restraints:

Thank you very much for your help.

Regards,

Pietro



from modeller import *
from modeller.automodel import *    # Load the automodel class

# i tried also with automodel but there was no significant difference
mdl = loopmodel(envalnfile=already_done_alignment_filename, \
                  knowns = pdb_id, sequence = seq_id, \
                  loop_assess_methods=(assess.DOPE, assess.normalized_dope), \
                  assess_methods=(assess.DOPE, assess.normalized_dope) )
mdl.make_initial_model(aln)
# Construct typical comparative modeling restraints
mdl.mkhomcsr(selection(mdl), aln)
mdl.restraints.add(secondary_structure.strand(mdl.residue_range('102:A', '108:A'))) # i know both of these regions are do align on anything (chain B is actually a 7 residues peptide I am adding, should be free to move anywhere). The residue numbering is read from initial model generated above
mdl.restraints.add(secondary_structure.strand(mdl.residue_range('125:B:', '131:B')))
mdl.restraints.add(secondary_structure.sheet(mdl.atoms['N:102:A'], mdl.atoms['O:131:B'],sheet_h_bonds=-6))
mdl.restraints.make(selection(mdl), restraint_type='stereo', spline_on_site=False)
mdl.restraints.condense()
mdl.restraints.write(mdl.csrfile)
# make the model
env.edat.nonbonded_sel_atoms=1 # so that the selection interacts energetically with the unselected region. Actually I don't select anything manually, I added it just to be sure..
mdl.outputs = []
atmsel = mdl._check_select_atoms()
mdl.multiple_models(atmsel)
mdl.write_summary(mdl.outputs, 'models')