Hello -
I am trying to align two models, one an NMR structure (1XYX.pdb) and
one a simulation (frame100.pdb) and I get the following error:
No atoms were read from the specified input PDB file, since the
starting residue number and/or chain id in
MODEL_SEGMENT (or
the alignment file header) was not found;
requested starting position: residue number " FIRST",
chain " A";
atom file name: ./frame100.pdb
This is what the frame100.pdb file looks like:
REMARK GENERATED BY TRJCONV
TITLE Protein t= 2.00000
REMARK THIS IS A SIMULATION BOX
CRYST1 183.372 183.372 183.372 60.00 60.00 90.00 P 1 1
MODEL 1
ATOM 1 N LYS 1 85.750 9.110 4.370 1.00 0.00
ATOM 2 H1 LYS 1 84.780 9.360 4.220 1.00 0.00
ATOM 3 H2 LYS 1 86.050 8.430 3.680 1.00 0.00
ATOM 4 H3 LYS 1 85.790 8.630 5.260 1.00 0.00
ATOM 5 CA LYS 1 86.670 10.260 4.390 1.00 0.00
ATOM 6 HA LYS 1 86.750 10.670 3.380 1.00 0.00
ATOM 7 CB LYS 1 86.190 11.350 5.350 1.00 0.00
ATOM 8 HB1 LYS 1 86.000 10.980 6.350 1.00 0.00
ATOM 9 HB2 LYS 1 86.920 12.120 5.570 1.00 0.00
ATOM 10 CG LYS 1 84.950 12.080 4.820 1.00 0.00
ATOM 11 HG1 LYS 1 85.000 12.330 3.760 1.00 0.00
ATOM 12 HG2 LYS 1 84.170 11.340 4.990 1.00 0.00
....
ATOM 3050 HH12 ARG 206 120.270 -79.800 115.360 1.00 0.00
ATOM 3051 NH2 ARG 206 119.370 -82.100 116.310 1.00 0.00
ATOM 3052 HH21 ARG 206 118.870 -82.870 116.730 1.00 0.00
ATOM 3053 HH22 ARG 206 120.020 -81.560 116.870 1.00 0.00
ATOM 3054 C ARG 206 120.920 -85.910 117.630 1.00 0.00
ATOM 3055 O1 ARG 206 121.830 -86.740 117.840 1.00 0.00
ATOM 3056 O2 ARG 206 119.950 -85.640 118.370 1.00 0.00
ATOM 3057 Zn Zn2 207 171.290 -12.580 16.660 1.00 0.00
TER
ENDMDL
And this is the salign.py file that I am trying to use:
# Illustrates the SALIGN multiple structure/sequence alignment
from modeller import *
log.verbose()
env = environ()
env.io.atom_files_directory = './:../atom_files/'
aln = alignment(env)
for (code, chain) in (('1XYX', 'A'), ('frame100', '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_cutoff=3.5, 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='PrP.tree',
alignment_type='tree', # If 'progresive', the tree is
not
# computed and all structues
will be
# aligned sequentially to the
first
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='PrP.pap', alignment_format='PAP')
aln.write(file='PrP.ali', alignment_format='PIR')
aln.salign(rms_cutoff=1.0, 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')
Any input would be greatly appreciated!
Thanks!
Ann