Dear modeller users, I have a series of 3D structures built by MODELLER. I need top make 3D alignment of these structures because I need to see the differences between these protein stuctures (they are from one family of proteins) and the RMSD from RMS coordinates of the proteins. Which scrip is better to use for it? There are 2 MODELLER scripts below. Where in these scripts I need to put my PDB files. Fpr example I have prot1.pdb, rpot2.pdb and prot3.pdb and 1-3.ali file. How such script must look with these files? Respectively yours, Andrew ------------------------------------ # Illustrates the SALIGN multiple structure/sequence alignment
log.verbose() env = environ() env.io.atom_files_directory = './:../atom_files/'
aln = alignment(env) for (code, chain) in (('1is4', 'A'), ('1uld', 'D'), ('1ulf', 'B'), ('1ulg', 'B'), ('1is5', 'A')): mdl = model(env, file=code, model_segment=('FIRST:'+chain, 'LAST:'+chain)) aln.append_model(mdl, atom_files=code, align_codes=code+chain)
for (weights, write_fit, whole) in (((1., 0., 0., 0., 1., 0.), False, True), ((1., 0.5, 1., 1., 1., 0.), False, True), ((1., 1., 1., 1., 1., 0.), True, False)): aln.salign(rms_cutoffs=(3.5, 6., 60, 60, 15, 60, 60, 60, 60, 60, 60), normalize_pp_scores=False, rr_file='$(LIB)/as1.sim.mat', overhang=30, gap_penalties_1d=(-450, -50), gap_penalties_3d=(0, 3), gap_gap_score=0, gap_residue_score=0, dendrogram_file='1is3A.tree', alignment_type='tree', # If 'progresive', the tree is not # computed and all structues will be # aligned sequentially to the first #ext_tree=True, # Tree building can be avoided if the tree # is input #input_weights_file='1is3A_exmat.mtx', feature_weights=weights, # For a multiple sequence alignment only # the first feature needs to be non-zero improve_alignment=True, fit=True, write_fit=write_fit, write_whole_pdb=whole, output='ALIGNMENT QUALITY')
aln.write(file='1is3A.pap', alignment_format='PAP') aln.write(file='1is3A.ali', alignment_format='PIR')
# The number of equivalent positions at different RMS_CUTOFF values can be # computed by changing the RMS value and keeping all feature weights = 0 aln.salign(rms_cutoffs=(1.0, 6., 60, 60, 15, 60, 60, 60, 60, 60, 60), normalize_pp_scores=False, rr_file='$(LIB)/as1.sim.mat', overhang=30, gap_penalties_1d=(-450, -50), gap_penalties_3d=(0, 3), gap_gap_score=0, gap_residue_score=0, dendrogram_file='1is3A.tree', alignment_type='progressive', feature_weights=[0]*6, improve_alignment=False, fit=False, write_fit=True, write_whole_pdb=False, output='QUALITY')
drugdesign wrote: > I have a series of 3D structures built by MODELLER. I need top make > 3D alignment of these structures because I need to see the > differences between these protein stuctures (they are from one family > of proteins) and the RMSD from RMS coordinates of the proteins. Which > scrip is better to use for it? There are 2 MODELLER scripts below. > Where in these scripts I need to put my PDB files. Fpr example I > have prot1.pdb, rpot2.pdb and prot3.pdb and 1-3.ali file. How such > script must look with these files?
I only see one script in your post, which looks like the standard SALIGN multiple structure alignment example. The actual SALIGN calls probably do not need to be changed - all you need to do is to provide an initial alignment of the structures you're interested in. This is what is currently done with the following part of the script:
> aln = alignment(env) > for (code, chain) in (('1is4', 'A'), ('1uld', 'D'), ('1ulf', 'B'), > ('1ulg', 'B'), ('1is5', 'A')): > mdl = model(env, file=code, model_segment=('FIRST:'+chain, 'LAST:'+chain)) > aln.append_model(mdl, atom_files=code, align_codes=code+chain)
This first creates an initial empty alignment, and then it runs through the 'for' loop five times, each time reading in a single chain from the given PDB file, and then adding the corresponding sequence to the alignment (i.e. first the A chain from 1is4 is read, then the D chain from 1uld, etc.) The sequences are simply added to the alignment - no gaps are inserted.
In your case you could also create such a simple initial alignment with something very similar, like:
aln = alignment(env) for code in ('prot1', 'prot2', 'prot3'): mdl = model(env, file=code+'.pdb') aln.append_model(mdl, atom_files=code+'.pdb', align_codes=code)
Alternatively, if the 1-3.ali file you mention already contains an initial alignment of the three proteins, you could just use that:
aln = alignment(env, file='1-3.ali')
Ben Webb, Modeller Caretaker
participants (2)
-
drugdesign
-
Modeller Caretaker