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?
On 10/17/22 11:21 AM, Amir via modeller_usage wrote: > I'm currently using multi-chain modeller script to build a hetero-dimer protein complex > ... > structureX:file.pdb:1:A:+227:B::: 2.30:-1.00 > ...TKVEIKR/QVQLVES... > >P1;target > sequence:target:: :: ::: 0.00: 0.00 > ...TKVEIKR-QVQLVES...
If you don't have a chain break (/) in your target sequence, it is considered a single chain (and so every residue will be labeled in the 'A' chain, no 'B' chain). This is not what you want in this instance since Modeller will add a peptide bond between R and Q here. As you correctly discovered, the solution here is to use a / character instead of the gap.
> I get another error : (modeller.ModellerError: define__595E> Number > of selected atoms in sets 2 & 3 is not the same: 109 118)
You have tried to impose a symmetry restraint between the two chains. That will only work if you have the same number of atoms, which is what the error is telling you here. In any case, since you are modeling a heterodimer you don't want to add a symmetry restraint anyway, so just remove it (as is stated in the manual). You can just use the regular AutoModel class here - no need to create a custom MyModel subclass to impose symmetry.
> 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?
If you mean "can I use multiple templates when building a multi-chain model" then yes, you don't have to do anything special. You just need to list all of the templates in the `knowns` argument, and provide an alignment file containing "/" chain break characters in the target sequence, as per usual.
Ben Webb, Modeller Caretaker
participants (2)
-
amirbazrafshan1375@gmail.com
-
Modeller Caretaker