Hi,
I tried to apply the script mutate_model.py to introduce a single point
mutation on a protein, and I obtained an error: I'm attaching here the .log
file.
>From the error message, I see that mutate_model seems to be unable to manage
a protein with chain breaks. I can obviously follow the suggestion and
relabel the chains of my protein; however, chain breaks are a quite common
situation in PDB files, therefore I wonder if there is a way to correct this
problem without changing the chain ID as suggested in the log file (which is
formally uncorrect since I don't have multiple chains in my protein).
Any help will be appreciated.
Many thanks in advance and best regards
Anna Marabotti
__________________________________________________________________
Anna Marabotti, Ph.D.
Laboratory of Bioinformatics and Computational Biology
Institute of Food Science - CNR
Via Roma, 64
83100 Avellino
Phone: +39 0825 299651
Fax: +39 0825 781585
E-mail: amarabotti(a)isa.cnr.it
Skype account: annam1972
Web site: http://bioinformatica.isa.cnr.it/anna/anna.htm
"When a man with a gun meets a man with a pen, the man with the gun is a
dead man"
Dear users,
I'm willing to create a peptide sequence from a fasta sequence, and add
a disulfide bridge in it.
At the moment, my code "which works" is like this pseudo-code:
1 - create a model object, and model.build('sequence'), I am not
applying any time of secondary structure constraint
2 - write this pdb (peptide.pdb)
3 - create a special align where target and template are identical
(peptide.ali)
4 - create a new object, Mymodel derived from automodel to add the patch
for disulfides
5 - generate models
6 - select the best one (peptide-cys.pdb)
I'm only willing to retrieve the "peptide-cys.pdb" file, can I bypass
steps 2,3 and act directly on the initial model object created?
The implementation of the pseudo-code above is:
#####################################################################
# This demonstrates the use of alignment.append_sequence() and
# model.build_sequence() to build residue sequences from one-letter codes
# http://salilab.org/modeller/manual/node171.html
from modeller import *
from modeller.automodel import *
env.libs.topology.read('${LIB}/top_heav.lib')
env.libs.parameters.read('${LIB}/par.lib')
# Create a new empty alignment and model:
aln = alignment(env)
mdl = model(env)
mdl.build_sequence('ACAAAAACYAAAA')
mdl.write(file='pept.pdb')
class MyModel(automodel):
def special_patches(self, aln):
# The disulfide bridge is taken from the input sequence
self.patch(residue_type='DISU', residues=(self.residues['2',
self.residues['8']))
a = MyModel(env,
alnfile = "tmppiralign.ali",
knowns = "pept",
sequence = "pept-cys")
a.starting_model= 1
a.ending_model = 10
a.make()
#####################################################################
tmppiralign.ali is of the form:
#####################################################################
>P1;pept
structureX:pept:1: :13: ::::
ACAAAAACYAAAA*
>P1;pept-cys
sequence:pept-cys::FIRST:@ END :::::
ACAAAAACYAAAA*
#####################################################################
Thanks a lot for corrections, suggestions,..
Stéphane