[Date Prev ][Date Next ][Thread Prev ][Thread Next ][Date Index ][Thread Index ]
Re: [modeller_usage] symmetry on mod8v1
To : Giovanni Grazioso <giovanni.graziosoATunimi.it >
Subject : Re: [modeller_usage] symmetry on mod8v1
From : Modeller Caretaker <modeller-careATsalilab.org >
Date : Tue, 28 Feb 2006 10:05:41 -0800
Cc : modeller_usageATsalilab.org
Giovanni Grazioso wrote:
I'm building a pentamer with assial symmetry, I'm new on
modeller 8v1 and my input doesn't work.
Mod8v1 builds the pentamer but when starts the refinement this error
occurred:
defsym(mdl, aln, seg1=('1:A', '211:A'), seg2=('1:B', '211:B'))
TypeError: defsym() got an unexpected keyword argument 'seg2'
Your script is incorrect. You should look at some of the examples in the
manual, tutorial, wiki, and mailing list archives, or check out the
Python tutorial at www.python.org.
a = automodel(env,
alnfile = '*.pir',
knowns = 'xxx',
sequence = 'vvv')
You have to put a real filename in for your alignment, not "*.pir".
"knowns" and "sequence" must also be real align codes.
a.starting_model= 1
a.endind_model = 1
ending_model.
def defsym(mdl, aln, seg1, seg2):
for (set, seg) in [(2, seg1), (3, seg2)]:
mdl.pick_atoms(aln, pick_atoms_set=set, selection_segment=seg,
atom_types='ALL', selection_status='INITIALIZE',
selection_search='SEGMENT')
mdl.symmetry.define(symmetry_weight=1.0, add_symmetry=(True, False))
You only need to define the subroutine once - I don't know why you have
it in here four times.
mdl.rename_segments(segment_ids=('A', 'B'), renumber_residues=(1, 1))
mdl.rename_segments(segment_ids=('B', 'C'), renumber_residues=(1, 1))
mdl.rename_segments(segment_ids=('C', 'D'), renumber_residues=(1, 1))
mdl.rename_segments(segment_ids=('D', 'E'), renumber_residues=(1, 1))
I'm not sure what you're trying to do here, but what will happen is that
you call the first two chains 'A' and 'B', then you call them 'B' and
'C', and so on. I think what you might actually want is
mdl.rename_segments(segment_ids=('A', 'B', 'C', 'D', 'E'),
renumber_residues=(1, 1, 1, 1, 1))
# Define the two segments (chains in this case) to be identical:
defsym(mdl, aln, seg1=('1:A', '211:A'), seg2=('1:B', '211:B'))
defsym(mdl, aln, seg1=('1:A', '211:A'), seg3=('1:C', '211:C'))
defsym(mdl, aln, seg1=('1:A', '211:A'), seg4=('1:D', '211:D'))
defsym(mdl, aln, seg1=('1:A', '211:A'), seg5=('1:E', '211:E'))
Here you probably want
defsym(mdl, aln, seg1=('1:A', '211:A'), seg2=('1:B', '211:B'))
defsym(mdl, aln, seg1=('1:A', '211:A'), seg2=('1:C', '211:C'))
defsym(mdl, aln, seg1=('1:A', '211:A'), seg2=('1:D', '211:D'))
defsym(mdl, aln, seg1=('1:A', '211:A'), seg2=('1:E', '211:E'))
mdl = model(env, file='define_symmetry-3.atm', model_segment=('1:A',
'211:A'))
mdl2 = model(env, file='define_symmetry-3.atm', model_segment=('1:B',
'211:B'))
mdl3 = model(env, file='define_symmetry-3.atm', model_segment=('1:C',
'211:C'))
mdl4 = model(env, file='define_symmetry-3.atm', model_segment=('1:D',
'211:D'))
mdl5 = model(env, file='define_symmetry-3.atm', model_segment=('1:E',
'211:E'))
mdl.pick_atoms(aln, atom_types='MNCH')
mdl.superpose(mdl2, mdl3, mdl4, mdl5, aln)
superpose only works on one model at a time, so you could write this as:
for m in (mdl2, mdl3, mdl4, mdl5):
mdl.superpose(m, aln)
Ben Webb, Modeller Caretaker
--
modeller-careATsalilab.org http://www.salilab.org/modeller/
Modeller mail list: http://salilab.org/mailman/listinfo/modeller_usage