[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[modeller_usage] Multichain model



I'm currently using multi-chain modeller script to build a hetero-dimer protein complex but I faced to this error and I can't fix it. It is just for practice so I choose a simple dimer protein and mutated the sequence but the sequence length between .ali file and the pdb file of the template is similar.
( There is no such chain B, modeller.ModellerError: define__595E> Number of selected atoms in sets 2 & 3 is not the same:      109      118)
These are alignment file and scripts that I used:
a) Alignment file:
                    ****I used align2d script to build alignment file.                              
                          from modeller import *
                          env = Environ()
                          aln = Alignment(env)
                          mdl = Model(env, file='temp', model_segment=(('FIRST:A','LAST:B')))
                          aln.append_model(mdl, align_codes='temp', atom_files='temp.pdb')
                          aln.append(file='Target.ali', align_codes='target')
                          aln.align2d(max_gap_length=50)
                          aln.write(file='target-temp2.ali', alignment_format='PIR')
                          aln.write(file='target-temp2.pap', alignment_format='PAP')***
                    
                          And the alignment file would be like this:
                          ****>P1;template
                                structureX:file.pdb:1:A:+227:B::: 2.30:-1.00
                                EIVLTQSPGTLSLSPGERATLSCRASQSVGSSYLAWYQQKPGQAPRLLIYGAFSRATGIPDRFSGSGSGTDFTLT
                                ISRLEPEDFAVYYCQQYGSSPWTFGQGTKVEIKR/QVQLVESGGGVVQPGRSLRLSCAASGFTFSSYTMHWVRQA
                                PGKGLEWVTFISYDGNNKYYADSVKGRFTISRDNSKNTLYLQMNSLRAEDTAIYYCARTGWLGPFDYWGQGTLVT
                                VSS*
                                >P1;target
                                sequence:target:: :: ::: 0.00: 0.00
                                EIVLTQSPGSLSLSPGERATLSCRASQSVGSSYLAWFQQKPGQAHRLLIYGAFSRATGIPDRFSGSDSGTDFTLT
                                ISRLEPEDFAAYYCQQYGSSPWTFGQGTKVEIKR-QVQLVESGGGVVQPHRSLRLSCAASGFTFSSYTMHWVRQA
                                PGKGLEWVEFISYDGNNKYYADSVKGRFTITRDNSKNTLYLQMNSLRAEDTAIYYCARTGWLGPYDYWGQPTLVTVSS*
b) Building the model:
                         To build a multi-chain model I've tried this script as it's mentioned in the modeller manual:
                          *** from modeller import *
                                from modeller.automodel import * 
                                log.verbose()
                                class MyModel(AutoModel):
                                               def special_restraints(self, aln):
                                                          s1 = Selection(self.chains['A']).only_atom_types('CA')
                                                          s2 = Selection(self.chains['B']).only_atom_types('CA')
                                                          self.restraints.symmetry.append(Symmetry(s1, s2, 1.0))
                                              def user_after_single_model(self):
                                                          self.restraints.symmetry.report(1.0)
                                  env = Environ()
                                  env.io.atom_files_directory = ['.', '../atom_files']
                                  a = MyModel(env, alnfile = 'target-temp2.ali' , 
                                                              knowns = 'temp',
                                                              sequence = 'target') 
                                  a.starting_model= 1 
                                  a.ending_model = 2
                                  a.make() *****
               
After run the script I see this error: (No such chain: B)
I  was practicing before with other protein and when I saw this error I changed the alignment file (......TKVEIKR-QVQLVES......) to (.......TKVEIKR/QVQLVES........) and the problem solved. But here when I change (-) to (/) for the target sequence in alignment file I get another error : (modeller.ModellerError: define__595E> Number of  selected atoms in sets 2 & 3 is not the same:      109      118)
 
Could you please help me? I have no idea about this error.

And I have another question. Is it possible to build a single polypeptide chain model with multi-chain approach? Is there a way to combine multi-chain script with multi-template script to keep the orientation of the different protein domains?