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?