m (4 revisions imported)
(Tidy up markup)
Line 4: Line 4:




<pre><nowiki>#!python
<syntaxhighlight lang="python">
# Example for Model.build_sequence(), secondary_structure.Alpha()
# Example for Model.build_sequence(), secondary_structure.Alpha()


Line 32: Line 32:
cg.optimize(allatoms, max_iterations=100)
cg.optimize(allatoms, max_iterations=100)
m.write(file='alpha-helix.pdb')
m.write(file='alpha-helix.pdb')
</nowiki></pre>
</syntaxhighlight>
 
 

Revision as of 20:33, 16 August 2022

The example below builds a small model from primary sequence alone, and makes it alpha-helical.


# Example for Model.build_sequence(), secondary_structure.Alpha()

from modeller import *
from modeller.optimizers import ConjugateGradients

# Set up environment
e = Environ()
e.libs.topology.read('${LIB}/top_heav.lib')
e.libs.parameters.read('${LIB}/par.lib')

# Build an extended chain model from primary sequence, and write it out
m = Model(e)
m.build_sequence('GSCASVCGV')
m.write(file='extended-chain.pdb')

# Make stereochemical restraints on all atoms
allatoms = Selection(m)
m.restraints.make(allatoms, restraint_type='STEREO', spline_on_site=False)

# Constrain all residues to be alpha-helical
# (Could also use m.residue_range() rather than m.residues here.)
m.restraints.add(secondary_structure.Alpha(m.residues))

# Get an optimized structure with CG, and write it out
cg = ConjugateGradients()
cg.optimize(allatoms, max_iterations=100)
m.write(file='alpha-helix.pdb')