I'm building a heterodimer with a homodimer template. I have the template pdb file (dimer.pdb) and the sequence file of the heterodimer (hetero.ali).
Here is the hetero.ali file:
>P1;hetero sequence:to_model:1:A:859:B:853::: AAAAAAAAAAAAAAAAAAAAA/BBBBBBBBBBBBBBBBB
There are 859 a.a. in one chain and 853 a.a. in the other chain. I didn't type the exact number of a.a. here.
The following is the script I used for alignment:
from modeller import *
env = environ() aln = alignment(env) mdl = model(env, file='dimer', model_segment=('FIRST:A','LAST:A')) aln.append_model(mdl, align_codes='dimerAB', atom_files='dimer.pdb') # I used "dimerAB" to point out both chain A and chain B for alignment. I don't know whether it is correct. aln.append(file='hetero.ali', align_codes='hetero') aln.align2d() aln.write(file='hetero-dimerAB.ali', alignment_format='PIR') aln.write(file='hetero-dimerAB.pap', alignment_format='PAP')
The script running result showed the two chain of the heterodimer aligned to one chain of the template. Would you kindly tell me how I can get the correct alignment? Thank you.
BMCB Department University of New Hampshier Durham, New Hampshire 03824
On 6/11/12 10:03 AM, Xiongzhuo Gao wrote: > I'm building a heterodimer with a homodimer template. I have the > template pdb file (dimer.pdb) and the sequence file of the heterodimer > (hetero.ali). ... > The following is the script I used for alignment: ... > mdl = model(env, file='dimer', model_segment=('FIRST:A','LAST:A'))
You have asked Modeller to read only one chain of the dimer (the A chain), so it has quite happily gone and done that, then aligned your sequence to it. ;) Change LAST:A to LAST:B (or remove model_segment entirely, which will have Modeller read the entire PDB file).
Note that Modeller's alignment functions ignore chain breaks. So your final alignment might need some manual adjustment to get the chain break in the template to line up with your query sequence.
Ben Webb, Modeller Caretaker