Hello I would first need to be sure that you selected the correct template(s) accordingly if you want please send me your protein heptamer query and the template(s) you selected and how you discovered these templates. (I completed my Doctoral
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
 
ZjQcmQRYFpfptBannerEnd
Hello I would first need to be sure that you selected the correct template(s) accordingly if you want please send me your protein heptamer query
and the template(s) you selected and how you discovered these templates.  (I completed my Doctoral Dissertation on modeling an unknown heptamer.)

Thanks:)
Joel 🚀

On Sat, Oct 1, 2022 at 9:51 AM Joel Subach <mjsubach@alumni.ncsu.edu> wrote:


---------- Forwarded message ---------
From: <modeller_usage-owner@salilab.org>
Date: Sat, Oct 1, 2022 at 9:32 AM
Subject: Re: [modeller_usage] Homomultimer modeling
To: <mjsubach@alumni.ncsu.edu>


Your message to the modeller_usage mailing-list was rejected for the following
reasons:

The message is not from a list member

The original message as received by Mailman is attached.



---------- Forwarded message ----------
From: Joel Subach <mjsubach@alumni.ncsu.edu>
To: "Franceschini Ghilardi, Amanda (BIDMC - Lijun Sun - General Surg SF)" <afrance2@bidmc.harvard.edu>
Cc: "modeller_usage@salilab.org" <modeller_usage@salilab.org>
Bcc: 
Date: Sat, 1 Oct 2022 09:32:25 +0200
Subject: Re: [modeller_usage] Homomultimer modeling
Hello I would first need to be sure that you selected the correct template(s) accordingly if you want please send me your protein heptamer query and the template(s) you selected and how you discovered these templates. (I completed my Doctoral
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
 
ZjQcmQRYFpfptBannerEnd
Hello I would first need to be sure that you selected the correct template(s) accordingly if you want please send me your protein heptamer query
and the template(s) you selected and how you discovered these templates.  (I completed my Doctoral Dissertation on modeling an unknown heptamer.)

Thanks:)
Joel 🚀

On Fri, Sep 30, 2022 at 11:51 PM Franceschini Ghilardi, Amanda (BIDMC - Lijun Sun - General Surg SF) via modeller_usage <modeller_usage@salilab.org> wrote:
Hi, I am trying to model a heptamer (homomultimer), but the structure generated is wrong because there are many clashes and it looks completely different from the template. How can I solve this issue? Please, see my files and scripts below. 
ZjQcmQRYFpfptBannerStart
This Message Is From an External Sender
This message came from outside your organization.
 
ZjQcmQRYFpfptBannerEnd
Hi,

I am trying to model a heptamer (homomultimer), but the structure generated is wrong because there are many clashes and it looks completely different from the template. How can I solve this issue? Please, see my files and scripts below.

The .ali for the alignment was edited by repeating the sequence seven times and separating each sequence by "/"
>P1;name
Sequence:name::::::::
XXXXX/XXXXX/XXXXX/XXXXX* 

The alignment script
from modeller import *

env = Environ()
aln = Alignment(env)
mdl = Model(env, file='template', model_segment=('FIRST:A','LAST:F'))
aln.append_model(mdl, align_codes='template', atom_files='template.pdb')
aln.append(file='target.ali', align_codes='target')
aln.align2d(max_gap_length=50)
aln.write(file='aligned.ali', alignment_format='PIR')
aln.write(file='aligned.pap', alignment_format='PAP')

The script to build the model
from modeller import *
from modeller.automodel import *
#from modeller import soap_protein_od

log.verbose()

# Override the 'special_restraints' and 'user_after_single_model' methods:
class MyModel(AutoModel):
    def special_restraints(self, aln):
        # Constrain the A and B chains to be identical (but only restrain
        # the C-alpha atoms, to reduce the number of interatomic distances
        # that need to be calculated):
        s1 = Selection(self.chains['A']).only_atom_types('CA')
        s2 = Selection(self.chains['B']).only_atom_types('CA')
        s3 = Selection(self.chains['C']).only_atom_types('CA')
        s4 = Selection(self.chains['D']).only_atom_types('CA')
        s5 = Selection(self.chains['E']).only_atom_types('CA')
        s6 = Selection(self.chains['F']).only_atom_types('CA')
        self.restraints.symmetry.append(Symmetry(s1, s2, 1.0))
    def user_after_single_model(self):
        # Report on symmetry violations greater than 1A after building
        # each model:
        self.restraints.symmetry.report(1.0)

env = Environ()
# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']

# Be sure to use 'MyModel' rather than 'AutoModel' here!
a = MyModel(env,
            alnfile  = 'aligned.ali' ,     # alignment filename
            knowns   = 'template',              # codes of the templates
            sequence = 'target',
assess_methods=(assess.DOPE))              # code of the target


a.starting_model= 1                # index of the first model
a.ending_model  = 100                # index of the last model
                                   # (determines how many models to calculate)
a.make()                           # do comparative modeling

# Get a list of all succesfully built models from a.output
ok_models = [x for x in a.outputs if x['failure'] is None]

# Rank the models by DOPE score
key = 'DOPE score'
if sys.version_info[:2] == (2,3):
        ok_models.sort(lambda a,b: cmp(a[key], b[key]))
else:
        ok_models.sort(key=lambda a: a[key])

_______________________________________________
modeller_usage mailing list
modeller_usage@salilab.org
https://salilab.org/mm/postorius/lists/modeller_usage.salilab.org/