line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
$HackaMol::Roles::PdbRole::VERSION = '0.052'; |
2
|
|
|
|
|
|
|
#ABSTRACT: PdbRole of lazy attributes for HackaMol atoms |
3
|
|
|
|
|
|
|
use Moose::Role; |
4
|
19
|
|
|
19
|
|
13157
|
use Carp; |
|
19
|
|
|
|
|
50
|
|
|
19
|
|
|
|
|
144
|
|
5
|
19
|
|
|
19
|
|
87919
|
|
|
19
|
|
|
|
|
48
|
|
|
19
|
|
|
|
|
12600
|
|
6
|
|
|
|
|
|
|
|
7
|
|
|
|
|
|
|
has 'record_name', is => 'rw', isa => 'Str', lazy => 1, default => 'HETATM'; |
8
|
|
|
|
|
|
|
has 'occ', is => 'rw', isa => 'Num', lazy => 1, default => 1.0; |
9
|
|
|
|
|
|
|
has 'bfact', is => 'rw', isa => 'Num', lazy => 1, default => 20.0; |
10
|
|
|
|
|
|
|
# b_iso |
11
|
|
|
|
|
|
|
# b_aniso (vector) would be better here |
12
|
|
|
|
|
|
|
has 'bfp', is => 'rw', isa => 'Num' ; # bfactor profile |
13
|
|
|
|
|
|
|
# (10.1016/j.jmb.2015.09.024) |
14
|
|
|
|
|
|
|
has 'resname', is => 'rw', isa => 'Str', lazy => 1, default => 'UNK'; |
15
|
|
|
|
|
|
|
# cif label_asym_id |
16
|
|
|
|
|
|
|
has 'chain', is => 'rw', isa => 'Str', lazy => 1, default => ' '; |
17
|
|
|
|
|
|
|
# cif label_alt_id |
18
|
|
|
|
|
|
|
has 'altloc', is => 'rw', isa => 'Str', lazy => 1, default => ' '; |
19
|
|
|
|
|
|
|
has 'icode', is => 'rw', isa => 'Str', lazy => 1, default => ' '; |
20
|
|
|
|
|
|
|
has 'pdbid', is => 'rw', isa => 'Str', lazy => 1, default => ' '; |
21
|
|
|
|
|
|
|
# cif label_seq_id |
22
|
|
|
|
|
|
|
has 'segid', is => 'rw', isa => 'Str', lazy => 1, default => ' '; |
23
|
|
|
|
|
|
|
has 'iatom', is => 'rw', isa => 'Int', lazy => 1, default => 0; |
24
|
|
|
|
|
|
|
has 'resid', is => 'rw', isa => 'Str', lazy => 1, default => 1; |
25
|
|
|
|
|
|
|
has 'serial', is => 'rw', isa => 'Int', lazy => 1, default => 1; |
26
|
|
|
|
|
|
|
has 'sasa', is => 'rw', isa => 'Num', lazy => 1, default => 0.0; |
27
|
|
|
|
|
|
|
has 'model_num', is => 'rw', isa => 'Num'; # cif |
28
|
|
|
|
|
|
|
has 'auth_seq_id', is => 'rw', isa => 'Int'; # cif, -> author fudged resid |
29
|
|
|
|
|
|
|
has 'auth_comp_id', is => 'rw', isa => 'Str'; # cif, -> author fudged resname |
30
|
|
|
|
|
|
|
has 'auth_asym_id', is => 'rw', isa => 'Str'; # cif |
31
|
|
|
|
|
|
|
has 'auth_atom_id', is => 'rw', isa => 'Str'; # cif -> author fudged name |
32
|
|
|
|
|
|
|
has 'entity_id', is => 'rw', isa => 'Int'; # cif, e.g. virus, main chains of 1 entity |
33
|
|
|
|
|
|
|
has 'pdb_formal_charge', is => 'rw', isa => 'Num'; # cif, e.g. virus, main chains of 1 entity |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
my %aa321 = ( |
36
|
|
|
|
|
|
|
ALA=>'A', ARG=>'R', ASN=>'N', ASP=>'D', CYS=>'C', |
37
|
|
|
|
|
|
|
GLU=>'E', GLN=>'Q', GLY=>'G', HIS=>'H', ILE=>'I', |
38
|
|
|
|
|
|
|
LEU=>'L', LYS=>'K', MET=>'M', PHE=>'F', PRO=>'P', |
39
|
|
|
|
|
|
|
SER=>'S', THR=>'T', TRP=>'W', TYR=>'Y', VAL=>'V', |
40
|
|
|
|
|
|
|
SEC=>'U', |
41
|
|
|
|
|
|
|
); |
42
|
|
|
|
|
|
|
|
43
|
|
|
|
|
|
|
my $self = shift; |
44
|
|
|
|
|
|
|
my $x_flag = shift; |
45
|
43
|
|
|
43
|
1
|
266
|
$x_flag = 1 unless defined($x_flag); |
46
|
43
|
|
|
|
|
52
|
|
47
|
43
|
50
|
|
|
|
74
|
my $resname = uc($self->resname); |
48
|
|
|
|
|
|
|
|
49
|
43
|
|
|
|
|
874
|
unless ( exists($aa321{$resname}) ){ |
50
|
|
|
|
|
|
|
carp "PDBRole> residue $resname name has no 1 letter code"; |
51
|
43
|
100
|
|
|
|
89
|
return ('X') if $x_flag; |
52
|
1
|
|
|
|
|
21
|
return ("($resname)"); |
53
|
1
|
50
|
|
|
|
502
|
} |
54
|
0
|
|
|
|
|
0
|
return ($aa321{$resname}); |
55
|
|
|
|
|
|
|
} |
56
|
42
|
|
|
|
|
138
|
#following map lifted from Bio::PDB::Structure::Atom |
57
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
my %pdb_atom_names = ( |
59
|
|
|
|
|
|
|
'C' => ' C ', |
60
|
|
|
|
|
|
|
'C1' => ' C1 ', |
61
|
|
|
|
|
|
|
'C1A' => ' C1A', |
62
|
|
|
|
|
|
|
'C1B' => ' C1B', |
63
|
|
|
|
|
|
|
'C1C' => ' C1C', |
64
|
|
|
|
|
|
|
'C1D' => ' C1D', |
65
|
|
|
|
|
|
|
'C2' => ' C2 ', |
66
|
|
|
|
|
|
|
'C2A' => ' C2A', |
67
|
|
|
|
|
|
|
'C2B' => ' C2B', |
68
|
|
|
|
|
|
|
'C2C' => ' C2C', |
69
|
|
|
|
|
|
|
'C2D' => ' C2D', |
70
|
|
|
|
|
|
|
'C3' => ' C3 ', |
71
|
|
|
|
|
|
|
'C3A' => ' C3A', |
72
|
|
|
|
|
|
|
'C3B' => ' C3B', |
73
|
|
|
|
|
|
|
'C3C' => ' C3C', |
74
|
|
|
|
|
|
|
'C3D' => ' C3D', |
75
|
|
|
|
|
|
|
'C4' => ' C4 ', |
76
|
|
|
|
|
|
|
'C4A' => ' C4A', |
77
|
|
|
|
|
|
|
'C4A' => ' C4A', |
78
|
|
|
|
|
|
|
'C4B' => ' C4B', |
79
|
|
|
|
|
|
|
'C4C' => ' C4C', |
80
|
|
|
|
|
|
|
'C4D' => ' C4D', |
81
|
|
|
|
|
|
|
'C5' => ' C5 ', |
82
|
|
|
|
|
|
|
'C6' => ' C6 ', |
83
|
|
|
|
|
|
|
'CA' => ' CA ', |
84
|
|
|
|
|
|
|
'CAA' => ' CAA', |
85
|
|
|
|
|
|
|
'CAB' => ' CAB', |
86
|
|
|
|
|
|
|
'CAC' => ' CAC', |
87
|
|
|
|
|
|
|
'CAD' => ' CAD', |
88
|
|
|
|
|
|
|
'CB' => ' CB ', |
89
|
|
|
|
|
|
|
'CBA' => ' CBA', |
90
|
|
|
|
|
|
|
'CBB' => ' CBB', |
91
|
|
|
|
|
|
|
'CBC' => ' CBC', |
92
|
|
|
|
|
|
|
'CBD' => ' CBD', |
93
|
|
|
|
|
|
|
'CD' => ' CD ', |
94
|
|
|
|
|
|
|
'CD1' => ' CD1', |
95
|
|
|
|
|
|
|
'CD2' => ' CD2', |
96
|
|
|
|
|
|
|
'CE' => ' CE ', |
97
|
|
|
|
|
|
|
'CE1' => ' CE1', |
98
|
|
|
|
|
|
|
'CE2' => ' CE2', |
99
|
|
|
|
|
|
|
'CE3' => ' CE3', |
100
|
|
|
|
|
|
|
'CG' => ' CG ', |
101
|
|
|
|
|
|
|
'CG1' => ' CG1', |
102
|
|
|
|
|
|
|
'CG2' => ' CG2', |
103
|
|
|
|
|
|
|
'CGA' => ' CGA', |
104
|
|
|
|
|
|
|
'CGD' => ' CGD', |
105
|
|
|
|
|
|
|
'CH2' => ' CH2', |
106
|
|
|
|
|
|
|
'CHA' => ' CHA', |
107
|
|
|
|
|
|
|
'CHB' => ' CHB', |
108
|
|
|
|
|
|
|
'CHC' => ' CHC', |
109
|
|
|
|
|
|
|
'CHD' => ' CHD', |
110
|
|
|
|
|
|
|
'CMA' => ' CMA', |
111
|
|
|
|
|
|
|
'CMB' => ' CMB', |
112
|
|
|
|
|
|
|
'CMC' => ' CMC', |
113
|
|
|
|
|
|
|
'CMD' => ' CMD', |
114
|
|
|
|
|
|
|
'CZ' => ' CZ ', |
115
|
|
|
|
|
|
|
'CZ2' => ' CZ2', |
116
|
|
|
|
|
|
|
'CZ3' => ' CZ3', |
117
|
|
|
|
|
|
|
'FE' => 'FE ', |
118
|
|
|
|
|
|
|
'H' => ' H ', |
119
|
|
|
|
|
|
|
'HA' => ' HA ', |
120
|
|
|
|
|
|
|
'HB' => ' HB ', |
121
|
|
|
|
|
|
|
'HG' => ' HG ', |
122
|
|
|
|
|
|
|
'HE' => ' HE ', |
123
|
|
|
|
|
|
|
'HZ' => ' HZ ', |
124
|
|
|
|
|
|
|
'HH' => ' HH ', |
125
|
|
|
|
|
|
|
'1H' => '1H ', |
126
|
|
|
|
|
|
|
'2H' => '2H ', |
127
|
|
|
|
|
|
|
'3H' => '3H ', |
128
|
|
|
|
|
|
|
'1HA' => '1HA ', |
129
|
|
|
|
|
|
|
'1HB' => '1HB ', |
130
|
|
|
|
|
|
|
'1HD' => '1HD ', |
131
|
|
|
|
|
|
|
'1HE' => '1HE ', |
132
|
|
|
|
|
|
|
'1HG' => '1HG ', |
133
|
|
|
|
|
|
|
'1HZ' => '1HZ ', |
134
|
|
|
|
|
|
|
'2HA' => '2HA ', |
135
|
|
|
|
|
|
|
'2HB' => '2HB ', |
136
|
|
|
|
|
|
|
'2HD' => '2HD ', |
137
|
|
|
|
|
|
|
'2HE' => '2HE ', |
138
|
|
|
|
|
|
|
'2HG' => '2HG ', |
139
|
|
|
|
|
|
|
'1HZ' => '1HZ ', |
140
|
|
|
|
|
|
|
'2HZ' => '2HZ ', |
141
|
|
|
|
|
|
|
'3HB' => '3HB ', |
142
|
|
|
|
|
|
|
'3HE' => '3HE ', |
143
|
|
|
|
|
|
|
'3HZ' => '3HZ ', |
144
|
|
|
|
|
|
|
'N' => ' N ', |
145
|
|
|
|
|
|
|
'NA' => ' NA ', |
146
|
|
|
|
|
|
|
'NB' => ' NB ', |
147
|
|
|
|
|
|
|
'NC' => ' NC ', |
148
|
|
|
|
|
|
|
'ND' => ' ND ', |
149
|
|
|
|
|
|
|
'N A' => ' N A', |
150
|
|
|
|
|
|
|
'N B' => ' N B', |
151
|
|
|
|
|
|
|
'N C' => ' N C', |
152
|
|
|
|
|
|
|
'N D' => ' N D', |
153
|
|
|
|
|
|
|
'N1' => ' N1 ', |
154
|
|
|
|
|
|
|
'N2' => ' N2 ', |
155
|
|
|
|
|
|
|
'N3' => ' N3 ', |
156
|
|
|
|
|
|
|
'ND1' => ' ND1', |
157
|
|
|
|
|
|
|
'ND2' => ' ND2', |
158
|
|
|
|
|
|
|
'NE' => ' NE ', |
159
|
|
|
|
|
|
|
'NE1' => ' NE1', |
160
|
|
|
|
|
|
|
'NE2' => ' NE2', |
161
|
|
|
|
|
|
|
'NH1' => ' NH1', |
162
|
|
|
|
|
|
|
'NH2' => ' NH2', |
163
|
|
|
|
|
|
|
'NZ' => ' NZ ', |
164
|
|
|
|
|
|
|
'O' => ' O ', |
165
|
|
|
|
|
|
|
'O1' => ' O1 ', |
166
|
|
|
|
|
|
|
'O1A' => ' O1A', |
167
|
|
|
|
|
|
|
'O1D' => ' O1D', |
168
|
|
|
|
|
|
|
'O2' => ' O2 ', |
169
|
|
|
|
|
|
|
'O2A' => ' O2A', |
170
|
|
|
|
|
|
|
'O2D' => ' O2D', |
171
|
|
|
|
|
|
|
'O3' => ' O3 ', |
172
|
|
|
|
|
|
|
'O4' => ' O4 ', |
173
|
|
|
|
|
|
|
'O5' => ' O5 ', |
174
|
|
|
|
|
|
|
'O6' => ' O6 ', |
175
|
|
|
|
|
|
|
'OD1' => ' OD1', |
176
|
|
|
|
|
|
|
'OD2' => ' OD2', |
177
|
|
|
|
|
|
|
'OE1' => ' OE1', |
178
|
|
|
|
|
|
|
'OE2' => ' OE2', |
179
|
|
|
|
|
|
|
'OG' => ' OG ', |
180
|
|
|
|
|
|
|
'OG1' => ' OG1', |
181
|
|
|
|
|
|
|
'OH' => ' OH ', |
182
|
|
|
|
|
|
|
'OXT' => ' OXT', |
183
|
|
|
|
|
|
|
'S' => ' S ', |
184
|
|
|
|
|
|
|
'SD' => ' SD ', |
185
|
|
|
|
|
|
|
'SG' => ' SG ' |
186
|
|
|
|
|
|
|
); |
187
|
|
|
|
|
|
|
|
188
|
|
|
|
|
|
|
my $self = shift; |
189
|
|
|
|
|
|
|
my $name = $self->name; |
190
|
|
|
|
|
|
|
if(exists($pdb_atom_names{$self->name})){ |
191
|
5
|
|
|
5
|
1
|
21
|
$self->name($pdb_atom_names{$self->name}); |
192
|
5
|
|
|
|
|
104
|
} |
193
|
5
|
50
|
|
|
|
97
|
return $name; |
194
|
5
|
|
|
|
|
106
|
} |
195
|
|
|
|
|
|
|
|
196
|
5
|
|
|
|
|
10
|
no Moose::Role; |
197
|
|
|
|
|
|
|
1; |
198
|
|
|
|
|
|
|
|
199
|
19
|
|
|
19
|
|
153
|
# added attributes for parsing a PDB file |
|
19
|
|
|
|
|
76
|
|
|
19
|
|
|
|
|
104
|
|
200
|
|
|
|
|
|
|
# Histidine 64 for Human Carbonic Anhydrase II from pdbid: 2CBA |
201
|
|
|
|
|
|
|
#some lines for reference that did not translate well into POD |
202
|
|
|
|
|
|
|
#my $lines_H64_2cba = ' |
203
|
|
|
|
|
|
|
# 1 2 3 4 5 6 7 8 |
204
|
|
|
|
|
|
|
#12345678901234567890123456789012345678901234567890123456789012345678901234567890 |
205
|
|
|
|
|
|
|
#ATOM 504 N HIS A 64 -0.822 -1.995 6.439 1.00 10.63 N |
206
|
|
|
|
|
|
|
#ATOM 505 CA HIS A 64 -0.847 -2.773 7.721 1.00 10.22 C |
207
|
|
|
|
|
|
|
#ATOM 506 C HIS A 64 -2.270 -3.278 7.949 1.00 9.51 C |
208
|
|
|
|
|
|
|
#ATOM 507 O HIS A 64 -2.449 -4.225 8.736 1.00 11.94 O |
209
|
|
|
|
|
|
|
#ATOM 508 CB AHIS A 64 -0.335 -2.173 8.991 0.70 10.98 C |
210
|
|
|
|
|
|
|
#ATOM 509 CB BHIS A 64 -0.409 -1.888 8.917 0.20 9.21 C |
211
|
|
|
|
|
|
|
#ATOM 510 CG AHIS A 64 -0.736 -0.782 9.258 0.70 12.16 C |
212
|
|
|
|
|
|
|
#ATOM 511 CG BHIS A 64 0.714 -0.964 8.521 0.20 8.70 C |
213
|
|
|
|
|
|
|
#ATOM 512 ND1AHIS A 64 -1.795 -0.353 10.014 0.70 14.34 N |
214
|
|
|
|
|
|
|
#ATOM 513 ND1BHIS A 64 0.513 0.338 8.162 0.20 8.57 N |
215
|
|
|
|
|
|
|
#ATOM 514 CD2AHIS A 64 -0.117 0.344 8.805 0.70 12.79 C |
216
|
|
|
|
|
|
|
#ATOM 515 CD2BHIS A 64 2.037 -1.198 8.364 0.20 8.90 C |
217
|
|
|
|
|
|
|
#ATOM 516 CE1AHIS A 64 -1.809 0.971 10.061 0.70 13.80 C |
218
|
|
|
|
|
|
|
#ATOM 517 CE1BHIS A 64 1.691 0.868 7.814 0.20 8.65 C |
219
|
|
|
|
|
|
|
#ATOM 518 NE2AHIS A 64 -0.844 1.403 9.281 0.70 15.45 N |
220
|
|
|
|
|
|
|
#ATOM 519 NE2BHIS A 64 2.615 -0.026 7.936 0.20 6.94 N |
221
|
|
|
|
|
|
|
#'; |
222
|
|
|
|
|
|
|
# |
223
|
|
|
|
|
|
|
#my $ATOM_record_format = ' |
224
|
|
|
|
|
|
|
#Record Format: http://www.wwpdb.org/documentation/format23/sect9.html |
225
|
|
|
|
|
|
|
#COLUMNS DATA TYPE FIELD DEFINITION |
226
|
|
|
|
|
|
|
#------------------------------------------------------ |
227
|
|
|
|
|
|
|
# 1 - 6 Record name "ATOM " |
228
|
|
|
|
|
|
|
# 7 - 11 Integer serial Atom serial number. |
229
|
|
|
|
|
|
|
#13 - 16 Atom name Atom name. |
230
|
|
|
|
|
|
|
#17 Character altLoc Alternate location indicator. |
231
|
|
|
|
|
|
|
#18 - 20 Residue name resName Residue name. |
232
|
|
|
|
|
|
|
#22 Character chainID Chain identifier. |
233
|
|
|
|
|
|
|
#23 - 26 Integer resSeq Residue sequence number. |
234
|
|
|
|
|
|
|
#27 AChar iCode Code for insertion of residues. |
235
|
|
|
|
|
|
|
#31 - 38 Real(8.3) x Orthogonal coordinates for X in |
236
|
|
|
|
|
|
|
# Angstroms |
237
|
|
|
|
|
|
|
#39 - 46 Real(8.3) y Orthogonal coordinates for Y in |
238
|
|
|
|
|
|
|
# Angstroms |
239
|
|
|
|
|
|
|
#47 - 54 Real(8.3) z Orthogonal coordinates for Z in |
240
|
|
|
|
|
|
|
# Angstroms |
241
|
|
|
|
|
|
|
#55 - 60 Real(6.2) occupancy Occupancy. |
242
|
|
|
|
|
|
|
#61 - 66 Real(6.2) tempFactor Temperature factor. |
243
|
|
|
|
|
|
|
#77 - 78 LString(2) element Element symbol, right-justified. |
244
|
|
|
|
|
|
|
#79 - 80 LString(2) charge Charge on the atom. |
245
|
|
|
|
|
|
|
#'; |
246
|
|
|
|
|
|
|
# |
247
|
|
|
|
|
|
|
# we will add support for reading two code chains using column 21 |
248
|
|
|
|
|
|
|
# |
249
|
|
|
|
|
|
|
|
250
|
|
|
|
|
|
|
|
251
|
|
|
|
|
|
|
=pod |
252
|
|
|
|
|
|
|
|
253
|
|
|
|
|
|
|
=head1 NAME |
254
|
|
|
|
|
|
|
|
255
|
|
|
|
|
|
|
HackaMol::Roles::PdbRole - PdbRole of lazy attributes for HackaMol atoms |
256
|
|
|
|
|
|
|
|
257
|
|
|
|
|
|
|
=head1 VERSION |
258
|
|
|
|
|
|
|
|
259
|
|
|
|
|
|
|
version 0.052 |
260
|
|
|
|
|
|
|
|
261
|
|
|
|
|
|
|
=head1 SYNOPSIS |
262
|
|
|
|
|
|
|
|
263
|
|
|
|
|
|
|
use HackaMol::Atom; |
264
|
|
|
|
|
|
|
|
265
|
|
|
|
|
|
|
my $atom = Atom->new(Z=>6); |
266
|
|
|
|
|
|
|
|
267
|
|
|
|
|
|
|
print $atom->$_ foreach ( qw( |
268
|
|
|
|
|
|
|
record_name |
269
|
|
|
|
|
|
|
serial |
270
|
|
|
|
|
|
|
occ |
271
|
|
|
|
|
|
|
bfact |
272
|
|
|
|
|
|
|
resname |
273
|
|
|
|
|
|
|
chain |
274
|
|
|
|
|
|
|
altloc |
275
|
|
|
|
|
|
|
resid |
276
|
|
|
|
|
|
|
iatom |
277
|
|
|
|
|
|
|
pdbid |
278
|
|
|
|
|
|
|
segid |
279
|
|
|
|
|
|
|
) |
280
|
|
|
|
|
|
|
); |
281
|
|
|
|
|
|
|
|
282
|
|
|
|
|
|
|
foreach my $resn (qw(TRP TYR GLN ASN ETC)){ |
283
|
|
|
|
|
|
|
$atom->resname($resn); |
284
|
|
|
|
|
|
|
print $atom->aa321; |
285
|
|
|
|
|
|
|
} |
286
|
|
|
|
|
|
|
|
287
|
|
|
|
|
|
|
=head1 DESCRIPTION |
288
|
|
|
|
|
|
|
|
289
|
|
|
|
|
|
|
PdbRole provides atom attributes for PDB parsing. All attributes are 'rw' and |
290
|
|
|
|
|
|
|
lazy, so they will not contaminate the namespace unless called upon. The |
291
|
|
|
|
|
|
|
functionality of the PdbRole may be extended in the future. An extension |
292
|
|
|
|
|
|
|
(HackaMolX::PDB or HackaMol::X::PDB) will be released soon. |
293
|
|
|
|
|
|
|
|
294
|
|
|
|
|
|
|
=head1 METHODS |
295
|
|
|
|
|
|
|
|
296
|
|
|
|
|
|
|
=head2 pdb_rename |
297
|
|
|
|
|
|
|
|
298
|
|
|
|
|
|
|
no arguments. Returns the current name. Renames the atom based on names used by the PDB (if exists). This is useful for programs that render the secondary structure of molecules. |
299
|
|
|
|
|
|
|
|
300
|
|
|
|
|
|
|
=head2 aa321 |
301
|
|
|
|
|
|
|
|
302
|
|
|
|
|
|
|
returns 1 letter code for amino acid. Generated from resname attribute. throws a warning and returns 'X' if residue name is unrecognized. |
303
|
|
|
|
|
|
|
|
304
|
|
|
|
|
|
|
=head1 ATTRIBUTES |
305
|
|
|
|
|
|
|
|
306
|
|
|
|
|
|
|
=head2 record_name |
307
|
|
|
|
|
|
|
|
308
|
|
|
|
|
|
|
pdb cols 1-6: ATOM|HETATM. default = 'HETATM' |
309
|
|
|
|
|
|
|
|
310
|
|
|
|
|
|
|
=head2 serial |
311
|
|
|
|
|
|
|
|
312
|
|
|
|
|
|
|
pdb cols 7-11: index. default = 0 |
313
|
|
|
|
|
|
|
|
314
|
|
|
|
|
|
|
=head2 occ |
315
|
|
|
|
|
|
|
|
316
|
|
|
|
|
|
|
pdb cols 55-60: occupancy. range 0 to 1. default = 1.0 (all there) |
317
|
|
|
|
|
|
|
|
318
|
|
|
|
|
|
|
=head2 bfact |
319
|
|
|
|
|
|
|
|
320
|
|
|
|
|
|
|
pdb cols 61-66: temperature factor. see Willis and Pryor. default = 20.0 |
321
|
|
|
|
|
|
|
|
322
|
|
|
|
|
|
|
=head2 altloc |
323
|
|
|
|
|
|
|
|
324
|
|
|
|
|
|
|
pdb col 17. is AHIS and BHIS above. default = ' ' |
325
|
|
|
|
|
|
|
|
326
|
|
|
|
|
|
|
=head2 resname |
327
|
|
|
|
|
|
|
|
328
|
|
|
|
|
|
|
pdb cols 18-20: residue name. defaults to 'ALA' |
329
|
|
|
|
|
|
|
|
330
|
|
|
|
|
|
|
=head2 chain |
331
|
|
|
|
|
|
|
|
332
|
|
|
|
|
|
|
pdb cols 22. protein chain. cols 22 is the pdb specification cols 21-22 is supported by hackamol |
333
|
|
|
|
|
|
|
default = ' ' |
334
|
|
|
|
|
|
|
|
335
|
|
|
|
|
|
|
=head2 resid |
336
|
|
|
|
|
|
|
|
337
|
|
|
|
|
|
|
pdb cols 23-26. residue index. PDB calls is resSeq, but resid is more familiar |
338
|
|
|
|
|
|
|
(to me). default = 64 |
339
|
|
|
|
|
|
|
|
340
|
|
|
|
|
|
|
=head2 icode |
341
|
|
|
|
|
|
|
|
342
|
|
|
|
|
|
|
pdb cols 27. see code comments or |
343
|
|
|
|
|
|
|
L<http://www.wwpdb.org/documentation/format23/sect9.html> |
344
|
|
|
|
|
|
|
|
345
|
|
|
|
|
|
|
=head2 pdbid |
346
|
|
|
|
|
|
|
|
347
|
|
|
|
|
|
|
a place to store which PDB it came from |
348
|
|
|
|
|
|
|
|
349
|
|
|
|
|
|
|
=head2 segid |
350
|
|
|
|
|
|
|
|
351
|
|
|
|
|
|
|
a CHARMMish parameter that may not belong here. default = 'TIP3' |
352
|
|
|
|
|
|
|
|
353
|
|
|
|
|
|
|
=head2 iatom |
354
|
|
|
|
|
|
|
|
355
|
|
|
|
|
|
|
this is a place for the actual index. Segid does not have to start from 0 (cut |
356
|
|
|
|
|
|
|
and paste as above, etc). |
357
|
|
|
|
|
|
|
|
358
|
|
|
|
|
|
|
=head2 sasa |
359
|
|
|
|
|
|
|
|
360
|
|
|
|
|
|
|
Solvent accessible surface area; isa 'Num'. A place for storing results from such calculations. |
361
|
|
|
|
|
|
|
|
362
|
|
|
|
|
|
|
=head1 SEE ALSO |
363
|
|
|
|
|
|
|
|
364
|
|
|
|
|
|
|
=over 4 |
365
|
|
|
|
|
|
|
|
366
|
|
|
|
|
|
|
=item * |
367
|
|
|
|
|
|
|
|
368
|
|
|
|
|
|
|
L<http://www.pdb.org> |
369
|
|
|
|
|
|
|
|
370
|
|
|
|
|
|
|
=item * |
371
|
|
|
|
|
|
|
|
372
|
|
|
|
|
|
|
L<Bio::PDB::Structure::Atom> |
373
|
|
|
|
|
|
|
|
374
|
|
|
|
|
|
|
=back |
375
|
|
|
|
|
|
|
|
376
|
|
|
|
|
|
|
=head1 AUTHOR |
377
|
|
|
|
|
|
|
|
378
|
|
|
|
|
|
|
Demian Riccardi <demianriccardi@gmail.com> |
379
|
|
|
|
|
|
|
|
380
|
|
|
|
|
|
|
=head1 COPYRIGHT AND LICENSE |
381
|
|
|
|
|
|
|
|
382
|
|
|
|
|
|
|
This software is copyright (c) 2017 by Demian Riccardi. |
383
|
|
|
|
|
|
|
|
384
|
|
|
|
|
|
|
This is free software; you can redistribute it and/or modify it under |
385
|
|
|
|
|
|
|
the same terms as the Perl 5 programming language system itself. |
386
|
|
|
|
|
|
|
|
387
|
|
|
|
|
|
|
=cut |