From a37872ee31cbf6b1de382cf3ad65dec2f8155ad7 Mon Sep 17 00:00:00 2001 From: marco <marco@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Mon, 28 Jun 2010 07:04:23 +0000 Subject: [PATCH] protect PDBReader against immature end of line git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2465 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- modules/io/src/mol/pdb_reader.cc | 39 ++- modules/io/src/mol/pdb_reader.hh | 1 + modules/io/tests/testfiles/pdb/faulty.pdb | 398 +++++++++------------- 3 files changed, 194 insertions(+), 244 deletions(-) diff --git a/modules/io/src/mol/pdb_reader.cc b/modules/io/src/mol/pdb_reader.cc index 21db6adf0..2beabcb98 100644 --- a/modules/io/src/mol/pdb_reader.cc +++ b/modules/io/src/mol/pdb_reader.cc @@ -279,17 +279,30 @@ void PDBReader::ClearState() strand_list_.clear(); } +bool PDBReader::EnsureLineLength(const StringRef& line, size_t size) +{ + if (line.length()<size) { + if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { + return false; + } + throw IOException(str(format("premature end of line %d") %line_num_)); + } + return true; +} + bool PDBReader::ParseAtomIdent(const StringRef& line, int line_num, char& chain_name, StringRef& res_name, mol::ResNum& resnum, StringRef& atom_name, char& alt_loc, const StringRef& record_type) { + if (!this->EnsureLineLength(line, 27)) { + return false; + } chain_name=line[21]; if (restrict_chains_.size()>0 && restrict_chains_.find(chain_name)==String::npos) { return false; } - std::pair<bool, int> a_num=line.substr(6, 5).ltrim().to_int(); if (!a_num.first) { if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { @@ -325,6 +338,9 @@ bool PDBReader::ParseAtomIdent(const StringRef& line, int line_num, void PDBReader::ParseAnisou(const StringRef& line, int line_num, mol::EntityHandle& ent) { + if (!this->EnsureLineLength(line, 77)) { + return; + } char chain_name=0; char alt_loc=0; StringRef res_name, atom_name; @@ -372,13 +388,15 @@ void PDBReader::ParseAnisou(const StringRef& line, int line_num, aprop.anisou/=10000; aprop.has_anisou=true; atom.SetAtomProps(aprop); - return; } void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, mol::EntityHandle& ent, const StringRef& record_type) { + if (!this->EnsureLineLength(line, 59)) { + return; + } mol::XCSEditor editor=ent.RequestXCSEditor(mol::BUFFERED_EDIT); char alt_loc=0; char chain_name=0; @@ -558,9 +576,15 @@ void PDBReader::ParseAndAddAtom(const StringRef& line, int line_num, void PDBReader::ParseHelixEntry(const StringRef& line) { + if (!this->EnsureLineLength(line, 38)) { + return; + } std::pair<bool, int> start_num=line.substr(21, 4).ltrim().to_int(); std::pair<bool, int> end_num=line.substr(33, 4).ltrim().to_int(); if (!start_num.first || !end_num.first) { + if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { + return; + } throw IOException(str(format("invalid helix entry on line %d") % line_num_)); } LOGN_DEBUG("making helix entry: " << start_num.second << ", " @@ -577,12 +601,19 @@ void PDBReader::ParseHelixEntry(const StringRef& line) void PDBReader::ParseStrandEntry(const StringRef& line) { + if (!this->EnsureLineLength(line, 38)) { + return; + } std::pair<bool, int> start_num=line.substr(22, 4).ltrim().to_int(); std::pair<bool, int> end_num=line.substr(33, 4).ltrim().to_int(); if (!start_num.first || !end_num.first) { - throw IOException(str(format("invalid strand entry on line %d") % line_num_)); + if (PDB::Flags() & PDB::SKIP_FAULTY_RECORDS) { + return; + } + throw IOException(str(format("invalid strand entry on line %d")%line_num_)); } - LOGN_DEBUG("making strand entry: " << start_num.second << ", " << line[26] << " " << end_num.second << " " << line[37]); + LOGN_DEBUG("making strand entry: " << start_num.second << ", " << line[26] + << " " << end_num.second << " " << line[37]); HSEntry hse = {to_res_num(start_num.second, line[26]), to_res_num(end_num.second, line[37]), line.substr(21,1).str()}; diff --git a/modules/io/src/mol/pdb_reader.hh b/modules/io/src/mol/pdb_reader.hh index 41f7ffb21..c2a624105 100644 --- a/modules/io/src/mol/pdb_reader.hh +++ b/modules/io/src/mol/pdb_reader.hh @@ -65,6 +65,7 @@ private: void ParseHelixEntry(const StringRef& line); void ParseStrandEntry(const StringRef& line); void Init(const boost::filesystem::path& loc); + bool EnsureLineLength(const StringRef& line, size_t size); mol::ChainHandle curr_chain_; mol::ResidueHandle curr_residue_; int chain_count_; diff --git a/modules/io/tests/testfiles/pdb/faulty.pdb b/modules/io/tests/testfiles/pdb/faulty.pdb index 508c1adeb..5264ddde2 100644 --- a/modules/io/tests/testfiles/pdb/faulty.pdb +++ b/modules/io/tests/testfiles/pdb/faulty.pdb @@ -1,243 +1,161 @@ -ATOM 1 N GLU A 7 6.454 -37.820 25.751 1.00 96.94 N -ATOM 2 CA GLU A 7 5.179 -37.470 26.444 1.00 97.55 C -ATOM 3 C GLU A 7 4.114 -38.549 26.169 1.00 95.35 C -ATOM 4 O GLU A 7 2.935 -38.208 26.124 1.00 96.69 O -ATOM 5 CB GLU A 7 4.634 -36.100 25.944 1.00 0.67 C -ATOM 6 CG GLU A 7 5.358 -34.778 26.389 1.00 0.49 C -ATOM 7 CD GLU A 7 6.885 -34.761 26.247 1.00 0.50 C -ATOM 8 OE1 GLU A 7 7.463 -34.965 25.124 1.00 0.37 O -ATOM 9 OE2 GLU A 7 7.497 -34.485 27.300 1.00 0.26 O -ATOM 10 N THR A 8 4.492 -39.827 26.028 1.00 90.05 N -ATOM 11 CA THR A 8 3.484 -40.849 25.744 1.00 83.73 C -ATOM 12 C THR A 8 3.735 -42.304 26.157 1.00 78.84 C -ATOM 13 O THR A 8 4.703 -42.665 26.840 1.00 78.68 O -ATOM 14 CB THR A 8 3.187 -40.947 24.253 1.00 84.56 C -ATOM 15 OG1 THR A 8 4.298 -41.584 23.614 1.00 85.69 O -ATOM 16 CG2 THR A 8 2.970 -39.552 23.612 1.00 85.14 C -ATOM 17 N LEU A 9 2.811 -43.122 25.656 1.00 72.64 N -ATOM 18 CA LEU A 9 2.703 -44.568 25.834 1.00 66.76 C -ATOM 19 C LEU A 9 3.546 -45.368 24.842 1.00 64.33 C -ATOM 20 O LEU A 9 3.905 -46.508 25.121 1.00 62.09 O -ATOM 21 CB LEU A 9 1.223 -44.963 25.657 1.00 65.80 C -ATOM 22 CG LEU A 9 0.610 -46.358 25.903 1.00 64.44 C -ATOM 23 CD1 LEU A 9 -0.843 -46.338 25.384 1.00 63.51 C -ATOM 24 CD2 LEU A 9 1.381 -47.478 25.214 1.00 61.51 C -ATOM 25 N GLY A 10 3.816 -44.793 23.670 1.00 62.12 N -ATOM 26 CA GLY A 10 4.629 -45.474 22.675 1.00 58.01 C -ATOM 27 C GLY A 10 6.062 -45.502 23.162 1.00 56.36 C -ATOM 28 O GLY A 10 6.898 -46.270 22.681 1.00 54.65 O -ATOM 29 N GLU A 11 6.340 -44.653 24.141 1.00 56.33 N -ATOM 30 CA GLU A 11 7.663 -44.579 24.722 1.00 55.95 C -ATOM 31 C GLU A 11 7.938 -45.806 25.579 1.00 55.88 C -ATOM 32 O GLU A 11 9.094 -46.232 25.716 1.00 55.08 O -ATOM 33 CB GLU A 11 7.770 -43.327 25.553 1.00 57.29 C -ATOM 34 CG GLU A 11 7.705 -42.070 24.740 1.00 57.86 C -ATOM 35 CD GLU A 11 7.798 -40.866 25.626 1.00 58.56 C -ATOM 36 OE1 GLU A 11 6.764 -40.526 26.238 1.00 60.29 O -ATOM 37 OE2 GLU A 11 8.901 -40.287 25.734 1.00 56.40 O -ATOM 38 N LYS A 12 6.873 -46.363 26.157 1.00 55.11 N -ATOM 39 CA LYS A 12 6.983 -47.575 26.970 1.00 55.08 C -ATOM 40 C LYS A 12 7.337 -48.712 26.015 1.00 54.46 C -ATOM 41 O LYS A 12 8.163 -49.577 26.329 1.00 53.65 O -ATOM 42 CB LYS A 12 5.654 -47.906 27.665 1.00 56.31 C -ATOM 43 CG LYS A 12 5.691 -49.231 28.437 1.00 59.45 C -ATOM 44 CD LYS A 12 4.301 -49.761 28.797 1.00 62.66 C -ATOM 45 CE LYS A 12 3.671 -49.059 29.994 1.00 64.01 C -ATOM 46 NZ LYS A 12 2.255 -49.524 30.212 1.00 65.47 N -ATOM 47 N TRP A 13 6.698 -48.684 24.846 1.00 52.82 N -ATOM 48 CA TRP A 13 6.905 -49.681 23.809 1.00 51.62 C -ATOM 49 C TRP A 13 8.347 -49.671 23.315 1.00 52.83 C -ATOM 50 O TRP A 13 8.982 -50.733 23.187 1.00 52.24 O -ATOM 51 CB TRP A 13 5.948 -49.419 22.634 1.00 50.03 C -ATOM 52 CG TRP A 13 6.316 -50.151 21.361 1.00 46.71 C -ATOM 53 CD1 TRP A 13 6.068 -51.463 21.066 1.00 45.25 C -ATOM 54 CD2 TRP A 13 7.087 -49.632 20.267 1.00 43.46 C -ATOM 55 NE1 TRP A 13 6.643 -51.792 19.862 1.00 45.10 N -ATOM 56 CE2 TRP A 13 7.276 -50.688 19.351 1.00 42.98 C -ATOM 57 CE3 TRP A 13 7.640 -48.379 19.977 1.00 43.38 C -ATOM 58 CZ2 TRP A 13 7.999 -50.531 18.167 1.00 41.50 C -ATOM 59 CZ3 TRP A 13 8.361 -48.222 18.798 1.00 42.28 C -ATOM 60 CH2 TRP A 13 8.533 -49.295 17.908 1.00 42.13 C -ATOM 61 N LYS A 14 8.863 -48.472 23.046 1.00 53.47 N -ATOM 62 CA LYS A 14 10.228 -48.320 22.537 1.00 54.31 C -ATOM 63 C LYS A 14 11.280 -48.867 23.508 1.00 54.74 C -ATOM 64 O LYS A 14 12.215 -49.573 23.109 1.00 52.47 O -ATOM 65 CB LYS A 14 10.514 -46.846 22.230 1.00 54.16 C -ATOM 66 CG LYS A 14 11.794 -46.600 21.439 1.00 54.10 C -ATOM 67 CD LYS A 14 11.672 -47.066 19.990 1.00 54.49 C -ATOM 68 CE LYS A 14 12.933 -46.721 19.198 1.00 54.62 C -ATOM 69 NZ LYS A 14 12.876 -47.120 17.759 1.00 55.24 N -ATOM 70 N SER A 15 11.120 -48.549 24.786 1.00 55.42 N -ATOM 71 CA SER A 15 12.061 -49.020 25.787 1.00 57.62 C -ATOM 72 C SER A 15 12.004 -50.536 25.852 1.00 57.91 C -ATOM 73 O SER A 15 13.036 -51.214 25.885 1.00 57.62 O -ATOM 74 CB SER A 15 11.713 -48.432 27.146 1.00 57.98 C -ATOM 75 OG SER A 15 11.610 -47.022 27.052 1.00 61.01 O -ATOM 76 N ARG A 16 10.788 -51.070 25.858 1.00 58.35 N -ATOM 77 CA ARG A 16 10.640 -52.507 25.916 1.00 58.65 C -ATOM 78 C ARG A 16 11.337 -53.084 24.705 1.00 57.82 C -ATOM 79 O ARG A 16 12.108 -54.026 24.828 1.00 58.53 O -ATOM 80 CB ARG A 16 9.165 -52.908 25.945 1.00 60.32 C -ATOM 81 CG ARG A 16 9.003 -54.364 26.300 1.00 64.12 C -ATOM 82 CD ARG A 16 7.604 -54.750 26.757 1.00 67.72 C -ATOM 83 NE ARG A 16 7.552 -56.206 26.885 1.00 70.70 N -ATOM 84 CZ ARG A 16 6.446 -56.920 27.077 1.00 71.55 C -ATOM 85 NH1 ARG A 16 5.261 -56.322 27.179 1.00 70.60 N -ATOM 86 NH2 ARG A 16 6.529 -58.246 27.124 1.00 70.94 N -ATOM 87 N LEU A 17 11.078 -52.500 23.539 1.00 56.70 N -ATOM 88 CA LEU A 17 11.705 -52.948 22.304 1.00 56.56 C -ATOM 89 C LEU A 17 13.237 -52.963 22.448 1.00 57.65 C -ATOM 90 O LEU A 17 13.878 -53.992 22.234 1.00 56.98 O -ATOM 91 CB LEU A 17 11.301 -52.021 21.151 1.00 54.98 C -ATOM 92 CG LEU A 17 12.001 -52.268 19.810 1.00 53.12 C -ATOM 93 CD1 LEU A 17 11.640 -53.642 19.288 1.00 51.84 C -ATOM 94 CD2 LEU A 17 11.606 -51.196 18.811 1.00 51.17 C -ATOM 95 N ASN A 18 13.814 -51.815 22.812 1.00 58.96 N -ATOM 96 CA ASN A 18 15.266 -51.685 22.996 1.00 60.57 C -ATOM 97 C ASN A 18 15.822 -52.727 23.969 1.00 61.50 C -ATOM 98 O ASN A 18 16.930 -53.251 23.778 1.00 62.00 O -ATOM 99 CB ASN A 18 15.627 -50.299 23.548 1.00 61.49 C -ATOM 100 CG ASN A 18 15.347 -49.175 22.568 1.00 61.94 C -ATOM 101 OD1 ASN A 18 15.587 -49.304 21.371 1.00 62.22 O -ATOM 102 ND2 ASN A 18 14.858 -48.051 23.083 1.00 62.68 N -ATOM 103 N ALA A 19 15.048 -53.006 25.017 1.00 61.30 N -ATOM 104 CA ALA A 19 15.428 -53.959 26.055 1.00 61.43 C -ATOM 105 C ALA A 19 15.415 -55.420 25.617 1.00 61.91 C -ATOM 106 O ALA A 19 15.821 -56.295 26.377 1.00 62.49 O -ATOM 107 CB ALA A 19 14.519 -53.791 27.258 1.00 60.59 C -ATOM 108 N LEU A 20 14.948 -55.683 24.403 1.00 62.10 N -ATOM 109 CA LEU A 20 14.877 -57.048 23.896 1.00 62.72 C -ATOM 110 C LEU A 20 16.237 -57.645 23.558 1.00 63.39 C -ATOM 111 O LEU A 20 17.183 -56.925 23.236 1.00 64.48 O -ATOM 112 CB LEU A 20 13.975 -57.101 22.653 1.00 61.55 C -ATOM 113 CG LEU A 20 12.526 -57.588 22.792 1.00 60.24 C -ATOM 114 CD1 LEU A 20 11.852 -56.953 23.996 1.00 59.76 C -ATOM 115 CD2 LEU A 20 11.770 -57.260 21.508 1.00 59.38 C -ATOM 116 N GLY A 21 16.327 -58.970 23.650 1.00 63.68 N -ATOM 117 CA GLY A 21 17.558 -59.652 23.303 1.00 64.00 C -ATOM 118 C GLY A 21 17.614 -59.701 21.786 1.00 65.03 C -ATOM 119 O GLY A 21 16.583 -59.620 21.121 1.00 64.86 O -ATOM 120 N LYS A 22 18.806 -59.831 21.222 1.00 66.35 N -ATOM 121 CA LYS A 22 18.933 -59.869 19.773 1.00 67.91 C -ATOM 122 C LYS A 22 18.007 -60.890 19.136 1.00 67.14 C -ATOM 123 O LYS A 22 17.352 -60.612 18.135 1.00 67.57 O -ATOM 124 CB LYS A 22 20.379 -60.153 19.366 1.00 69.87 C -ATOM 125 CG LYS A 22 21.318 -58.980 19.634 1.00 74.37 C -ATOM 126 CD LYS A 22 22.506 -58.961 18.666 1.00 77.88 C -ATOM 127 CE LYS A 22 23.170 -57.586 18.646 1.00 79.43 C -ATOM 128 NZ LYS A 22 22.177 -56.491 18.334 1.00 80.61 N -ATOM 129 N SER A 23 17.953 -62.073 19.729 1.00 66.45 N -ATOM 130 CA SER A 23 17.119 -63.149 19.219 1.00 65.20 C -ATOM 131 C SER A 23 15.637 -62.814 19.419 1.00 63.72 C -ATOM 132 O SER A 23 14.827 -62.947 18.500 1.00 62.52 O -ATOM 133 CB SER A 23 17.485 -64.448 19.939 1.00 66.47 C -ATOM 134 OG SER A 23 16.898 -65.574 19.310 1.00 69.50 O -ATOM 135 N GLU A 24 15.291 -62.379 20.625 1.00 62.62 N -ATOM 136 CA GLU A 24 13.915 -62.014 20.945 1.00 62.53 C -ATOM 137 C GLU A 24 13.435 -60.990 19.916 1.00 60.48 C -ATOM 138 O GLU A 24 12.334 -61.105 19.367 1.00 59.43 O -ATOM 139 CB GLU A 24 13.844 -61.393 22.348 1.00 65.58 C -ATOM 140 CG GLU A 24 14.189 -62.341 23.504 1.00 71.04 C -ATOM 141 CD GLU A 24 14.427 -61.606 24.832 1.00 73.84 C -ATOM 142 OE1 GLU A 24 15.569 -61.142 25.075 1.00 74.67 O -ATOM 143 OE2 GLU A 24 13.468 -61.482 25.630 1.00 74.26 O -ATOM 144 N PHE A 25 14.288 -60.000 19.660 1.00 57.78 N -ATOM 145 CA PHE A 25 14.017 -58.921 18.720 1.00 54.47 C -ATOM 146 C PHE A 25 13.617 -59.356 17.320 1.00 54.56 C -ATOM 147 O PHE A 25 12.612 -58.892 16.787 1.00 55.48 O -ATOM 148 CB PHE A 25 15.231 -58.013 18.600 1.00 52.50 C -ATOM 149 CG PHE A 25 15.030 -56.880 17.653 1.00 48.01 C -ATOM 150 CD1 PHE A 25 14.326 -55.757 18.045 1.00 44.37 C -ATOM 151 CD2 PHE A 25 15.487 -56.965 16.344 1.00 47.94 C -ATOM 152 CE1 PHE A 25 14.072 -54.728 17.155 1.00 45.25 C -ATOM 153 CE2 PHE A 25 15.236 -55.936 15.440 1.00 48.17 C -ATOM 154 CZ PHE A 25 14.523 -54.812 15.851 1.00 45.51 C -ATOM 155 N GLN A 26 14.406 -60.221 16.702 1.00 54.81 N -ATOM 156 CA GLN A 26 14.069 -60.675 15.354 1.00 56.62 C -ATOM 157 C GLN A 26 12.709 -61.369 15.299 1.00 55.95 C -ATOM 158 O GLN A 26 11.930 -61.142 14.369 1.00 56.22 O -ATOM 159 CB GLN A 26 15.149 -61.618 14.812 1.00 56.74 C -ATOM 160 CG GLN A 26 16.439 -60.911 14.453 1.00 59.77 C -ATOM 161 CD GLN A 26 16.238 -59.840 13.397 1.00 61.16 C -ATOM 162 OE1 GLN A 26 16.867 -58.771 13.451 1.00 62.66 O -ATOM 163 NE2 GLN A 26 15.367 -60.117 12.425 1.00 60.14 N -ATOM 164 N ILE A 27 12.443 -62.218 16.291 1.00 54.93 N -ATOM 165 CA ILE A 27 11.186 -62.952 16.381 1.00 53.33 C -ATOM 166 C ILE A 27 10.042 -61.957 16.462 1.00 52.36 C -ATOM 167 O ILE A 27 9.065 -62.051 15.714 1.00 53.26 O -ATOM 168 CB ILE A 27 11.146 -63.859 17.652 1.00 54.56 C -ATOM 169 CG1 ILE A 27 12.023 -65.096 17.439 1.00 54.91 C -ATOM 170 CG2 ILE A 27 9.701 -64.267 17.981 1.00 53.13 C -ATOM 171 CD1 ILE A 27 11.984 -66.086 18.603 1.00 54.48 C -ATOM 172 N TYR A 28 10.176 -61.000 17.372 1.00 49.67 N -ATOM 173 CA TYR A 28 9.151 -59.994 17.561 1.00 48.25 C -ATOM 174 C TYR A 28 8.911 -59.169 16.305 1.00 48.03 C -ATOM 175 O TYR A 28 7.773 -59.014 15.864 1.00 49.18 O -ATOM 176 CB TYR A 28 9.528 -59.073 18.714 1.00 46.01 C -ATOM 177 CG TYR A 28 8.594 -57.898 18.857 1.00 46.44 C -ATOM 178 CD1 TYR A 28 9.019 -56.602 18.539 1.00 47.32 C -ATOM 179 CD2 TYR A 28 7.280 -58.078 19.295 1.00 44.93 C -ATOM 180 CE1 TYR A 28 8.158 -55.513 18.654 1.00 45.43 C -ATOM 181 CE2 TYR A 28 6.408 -56.998 19.413 1.00 45.02 C -ATOM 182 CZ TYR A 28 6.854 -55.718 19.094 1.00 46.59 C -ATOM 183 OH TYR A 28 6.008 -54.640 19.245 1.00 47.02 O -ATOM 184 N LYS A 29 9.989 -58.650 15.729 1.00 46.50 N -ATOM 185 CA LYS A 29 9.916 -57.822 14.531 1.00 46.77 C -ATOM 186 C LYS A 29 8.982 -58.352 13.431 1.00 48.08 C -ATOM 187 O LYS A 29 8.412 -57.583 12.645 1.00 48.13 O -ATOM 188 CB LYS A 29 11.325 -57.627 13.971 1.00 45.75 C -ATOM 189 CG LYS A 29 11.386 -56.763 12.744 1.00 45.83 C -ATOM 190 CD LYS A 29 12.814 -56.549 12.299 1.00 47.30 C -ATOM 191 CE LYS A 29 12.846 -55.834 10.964 1.00 50.92 C -ATOM 192 NZ LYS A 29 14.225 -55.467 10.550 1.00 54.78 N -ATOM 193 N LYS A 30 8.811 -59.664 13.367 1.00 48.15 N -ATOM 194 CA LYS A 30 7.947 -60.205 12.339 1.00 48.84 C -ATOM 195 C LYS A 30 6.761 -60.996 12.881 1.00 48.11 C -ATOM 196 O LYS A 30 6.147 -61.773 12.151 1.00 49.27 O -ATOM 197 CB LYS A 30 8.774 -61.068 11.390 1.00 49.21 C -ATOM 198 CG LYS A 30 9.923 -60.315 10.757 1.00 54.01 C -ATOM 199 CD LYS A 30 10.145 -60.794 9.333 1.00 59.17 C -ATOM 200 CE LYS A 30 11.184 -59.969 8.597 1.00 61.01 C -ATOM 201 NZ LYS A 30 11.316 -60.461 7.188 1.00 64.26 N -ATOM 202 N SER A 31 6.417 -60.793 14.147 1.00 45.08 N -ATOM 203 CA SER A 31 5.304 -61.531 14.718 1.00 44.39 C -ATOM 204 C SER A 31 3.942 -61.084 14.224 1.00 44.10 C -ATOM 205 O SER A 31 3.526 -59.950 14.460 1.00 44.46 O -ATOM 206 CB SER A 31 5.322 -61.440 16.236 1.00 43.25 C -ATOM 207 OG SER A 31 6.464 -62.073 16.762 1.00 47.60 O -ATOM 208 N GLY A 32 3.247 -61.992 13.548 1.00 42.16 N -ATOM 209 CA GLY A 32 1.919 -61.695 13.058 1.00 41.22 C -ATOM 210 C GLY A 32 1.821 -60.534 12.096 1.00 42.88 C -ATOM 211 O GLY A 32 0.758 -59.930 11.969 1.00 43.49 O -ATOM 212 N ILE A 33 2.906 -60.199 11.410 1.00 43.54 N -ATOM 213 CA ILE A 33 2.820 -59.092 10.470 1.00 43.84 C -ATOM 214 C ILE A 33 2.488 -59.658 9.099 1.00 44.87 C -ATOM 215 O ILE A 33 2.280 -60.863 8.947 1.00 45.15 O -ATOM 216 CB ILE A 33 4.144 -58.278 10.382 1.00 42.67 C -ATOM 217 CG1 ILE A 33 5.234 -59.091 9.689 1.00 40.85 C -ATOM 218 CG2 ILE A 33 4.600 -57.881 11.774 1.00 43.10 C -ATOM 219 CD1 ILE A 33 6.504 -58.313 9.461 1.00 39.17 C -ATOM 220 N GLN A 34 2.428 -58.784 8.107 1.00 45.91 N -ATOM 221 CA GLN A 34 2.140 -59.197 6.749 1.00 47.95 C -ATOM 222 C GLN A 34 3.456 -59.060 6.014 1.00 48.80 C -ATOM 223 O GLN A 34 4.146 -58.043 6.147 1.00 49.79 O -ATOM 224 CB GLN A 34 1.091 -58.281 6.132 1.00 49.55 C -ATOM 225 CG GLN A 34 -0.018 -59.017 5.416 1.00 54.33 C -ATOM 226 CD GLN A 34 -1.197 -58.110 5.091 1.00 56.69 C -ATOM 227 OE1 GLN A 34 -1.835 -57.569 5.998 1.00 57.02 O -ATOM 228 NE2 GLN A 34 -1.491 -57.934 3.795 1.00 55.48 N -ATOM 229 N GLU A 35 3.809 -60.094 5.259 1.00 48.55 N -ATOM 230 CA GLU A 35 5.050 -60.118 4.491 1.00 47.79 C -ATOM 231 C GLU A 35 4.782 -60.258 3.000 1.00 46.91 C -ATOM 232 O GLU A 35 3.712 -60.715 2.589 1.00 47.83 O -ATOM 233 CB GLU A 35 5.910 -61.293 4.932 1.00 47.12 C -ATOM 234 CG GLU A 35 6.762 -61.031 6.132 1.00 51.25 C -ATOM 235 CD GLU A 35 7.906 -60.086 5.827 1.00 54.45 C -ATOM 236 OE1 GLU A 35 8.855 -60.015 6.644 1.00 52.88 O -ATOM 237 OE2 GLU A 35 7.849 -59.411 4.772 1.00 56.73 O -ATOM 238 N VAL A 36 5.766 -59.871 2.199 1.00 45.46 N -ATOM 239 CA VAL A 36 5.687 -59.976 0.744 1.00 44.41 C -ATOM 240 C VAL A 36 6.674 -61.063 0.344 1.00 43.54 C +S +SH +SHE +SHEE +SHEET +SHEET +SHEET +SHEET +SHEET +SHEET 1 +SHEET 1 +SHEET 1 +SHEET 1 +SHEET 1 A +SHEET 1 A +SHEET 1 A 7 +SHEET 1 A 7 +SHEET 1 A 7 A +SHEET 1 A 7 AL +SHEET 1 A 7 ALA +SHEET 1 A 7 ALA +SHEET 1 A 7 ALA A +SHEET 1 A 7 ALA A +SHEET 1 A 7 ALA A +SHEET 1 A 7 ALA A 5 +SHEET 1 A 7 ALA A 53 +SHEET 1 A 7 ALA A 53 +SHEET 1 A 7 ALA A 53 +SHEET 1 A 7 ALA A 53 A +SHEET 1 A 7 ALA A 53 AL +SHEET 1 A 7 ALA A 53 ALA +SHEET 1 A 7 ALA A 53 ALA +SHEET 1 A 7 ALA A 53 ALA A +SHEET 1 A 7 ALA A 53 ALA A +SHEET 1 A 7 ALA A 53 ALA A +SHEET 1 A 7 ALA A 53 ALA A 5 +SHEET 1 A 7 ALA A 53 ALA A 57 +SHEET 1 A 7 ALA A 53 ALA A 57 +SHEET 1 A 7 ALA A 53 ALA A 57 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +SHEET 1 A 7 ALA A 53 ALA A 57 0 +H +HE +HEL +HELI +HELIX +HELIX +HELIX +HELIX +HELIX +HELIX 1 +HELIX 1 +HELIX 1 +HELIX 1 +HELIX 1 1 +HELIX 1 1 +HELIX 1 1 A +HELIX 1 1 AR +HELIX 1 1 ARG +HELIX 1 1 ARG +HELIX 1 1 ARG A +HELIX 1 1 ARG A +HELIX 1 1 ARG A +HELIX 1 1 ARG A +HELIX 1 1 ARG A 1 +HELIX 1 1 ARG A 15 +HELIX 1 1 ARG A 15 +HELIX 1 1 ARG A 15 +HELIX 1 1 ARG A 15 G +HELIX 1 1 ARG A 15 GL +HELIX 1 1 ARG A 15 GLU +HELIX 1 1 ARG A 15 GLU +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A +HELIX 1 1 ARG A 15 GLU A 2 +HELIX 1 1 ARG A 15 GLU A 28 +HELIX 1 1 ARG A 15 GLU A 28 +HELIX 1 1 ARG A 15 GLU A 28 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 +HELIX 1 1 ARG A 15 GLU A 28 1 1 +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 1 1 ARG A 15 GLU A 28 1 14 +HELIX 1 1 ARG A 15 GLU A 28 1 14 ATOM 241 O VAL A 36 7.822 -61.026 0.770 1.00 44.33 O ATOM 242 CB VAL A 36 6.125 -58.659 0.048 1.00 45.53 C ATOM 243 CG1 VAL A 36 6.258 -58.879 -1.447 1.00 44.30 C -- GitLab