Hi , i've been using Modeller old versions with the old formet --> TOP.
The new "polished - python" interface looks really promising , but i'm spending now some time to see how to make things work ! I went throught all tutorials , and that is OK , but in my present case i want to add DISULFIDE RESTRAINTS and i want to change the default "coordinate-output-names" so if i understand right i have to NOT use the "automodel" class anymore...
Here starts the trouble !
Also: Before i was doing : SUBROUTINE ROUTINE = 'special_patches' PATCH RESIDUE_TYPE = 'DISU', RESIDUE_IDS = '27' '50' RETURN END_SUBROUTINE
now , according to the manual : "mdl.patch_ss_templates(aln)
# Create the stereochemical restraints mdl.restraints.make(aln, restraint_type='stereo', spline_on_site=False) "
If i follow those examples in the manual and try to read my alignement to write the correponding model-with patches constraints. i get a completely unfolded, linear protein as a result !
Here's my input :
seq="Criquet" # my sequence align="Criquet-1pce-modifiedbyhand.ali" # my alignement #align="Criquet-1pce.ali" struct="1pceA" #struct2="3ovo"
# Read the sequence, calculate its topology, and coordinates: aln = alignment(env, file=align, align_codes=(struct)) # Superpose the two template structures without changing the alignment. # This is for TRANSFER_XYZ to work properly. It relies on not reading # the atom files again before TRANSFER_XYZ. aln.malign3d(fit=False) # This is for TRANSFER_XYZ to work properly. # Restore the alignment, and add in the model sequence, 1fas: aln.append(file=align, align_codes=(struct, seq)) mdl = model(env) mdl.generate_topology(aln, sequence='Criquet') mdl.transfer_xyz(aln) mdl.build(initialize_xyz=True, build_method='INTERNAL_COORDINATES')
mdl.write(file=align+'.noSS') # Create the disulfide bonds using equivalent disulfide bonds in templates: mdl.patch_ss_templates(aln)
# Create the stereochemical restraints mdl.restraints.make(aln, restraint_type='stereo', spline_on_site=False) # Calculate energy to test the disulfide restraints (bonds, angles, dihedrals): mdl.energy()
Then i got confused: why i'm not able to reproduce a "simple" top script : read an alignement --> build a model ! with the model() class
Thanks in advance for looking at this