Skip to content

Instantly share code, notes, and snippets.

@leeping
Last active July 5, 2023 14:28
Show Gist options
  • Select an option

  • Save leeping/4127562 to your computer and use it in GitHub Desktop.

Select an option

Save leeping/4127562 to your computer and use it in GitHub Desktop.
General purpose OpenMM NPT/NVT script
CRYST1 30.571 30.571 30.571 90.00 90.00 90.00 P 1 1
ATOM 1 S dms 1 3.840 13.360 6.210
ATOM 2 C dms 1 2.690 11.920 6.530
ATOM 3 H dms 1 3.240 11.020 6.240
ATOM 4 H1 dms 1 2.310 11.790 7.540
ATOM 5 H2 dms 1 1.810 12.070 5.890
ATOM 6 C1 dms 1 5.350 12.830 7.030
ATOM 7 H3 dms 1 5.290 11.770 7.310
ATOM 8 H4 dms 1 6.200 13.040 6.390
ATOM 9 H5 dms 1 5.420 13.310 8.000
ATOM 10 S dms 2 12.430 17.240 29.110
ATOM 11 C dms 2 11.560 15.730 29.580
ATOM 12 H dms 2 10.850 16.070 30.350
ATOM 13 H1 dms 2 11.050 15.260 28.740
ATOM 14 H2 dms 2 12.280 15.040 30.030
ATOM 15 C1 dms 2 13.900 16.600 28.110
ATOM 16 H3 dms 2 14.720 17.310 28.290
ATOM 17 H4 dms 2 14.100 15.590 28.450
ATOM 18 H5 dms 2 13.540 16.600 27.080
ATOM 19 S dms 3 6.170 17.190 3.920
ATOM 20 C dms 3 6.440 15.510 4.700
ATOM 21 H dms 3 6.310 15.570 5.780
ATOM 22 H1 dms 3 5.780 14.790 4.220
ATOM 23 H2 dms 3 7.480 15.170 4.600
ATOM 24 C1 dms 3 4.370 17.360 4.070
ATOM 25 H3 dms 3 4.270 17.980 4.970
ATOM 26 H4 dms 3 3.960 17.970 3.260
ATOM 27 H5 dms 3 3.900 16.380 4.160
ATOM 28 S dms 4 8.250 21.320 14.510
ATOM 29 C dms 4 8.640 22.970 13.900
ATOM 30 H dms 4 8.310 23.690 14.650
ATOM 31 H1 dms 4 9.720 23.090 13.810
ATOM 32 H2 dms 4 8.230 23.120 12.890
ATOM 33 C1 dms 4 9.100 21.130 16.120
ATOM 34 H3 dms 4 8.670 20.270 16.650
ATOM 35 H4 dms 4 10.170 20.940 16.000
ATOM 36 H5 dms 4 8.900 21.970 16.800
ATOM 37 S dms 5 23.730 19.610 16.720
ATOM 38 C dms 5 23.870 21.360 16.450
ATOM 39 H dms 5 23.650 21.470 15.380
ATOM 40 H1 dms 5 23.150 21.910 17.060
ATOM 41 H2 dms 5 24.850 21.740 16.730
ATOM 42 C1 dms 5 21.950 19.370 16.530
ATOM 43 H3 dms 5 21.500 19.900 17.370
ATOM 44 H4 dms 5 21.770 19.740 15.520
ATOM 45 H5 dms 5 21.710 18.310 16.590
ATOM 46 S dms 6 7.660 18.060 26.580
ATOM 47 C dms 6 9.360 17.420 26.870
ATOM 48 H dms 6 10.040 17.990 26.230
ATOM 49 H1 dms 6 9.630 17.540 27.930
ATOM 50 H2 dms 6 9.270 16.370 26.590
ATOM 51 C1 dms 6 7.370 17.620 24.830
ATOM 52 H3 dms 6 6.280 17.560 24.730
ATOM 53 H4 dms 6 7.810 18.360 24.160
ATOM 54 H5 dms 6 7.870 16.690 24.570
ATOM 55 S dms 7 9.410 11.380 6.620
ATOM 56 C dms 7 10.350 10.960 8.110
ATOM 57 H dms 7 10.340 9.880 8.270
ATOM 58 H1 dms 7 11.370 11.340 8.020
ATOM 59 H2 dms 7 9.920 11.470 8.970
ATOM 60 C1 dms 7 8.010 10.310 6.260
ATOM 61 H3 dms 7 7.870 10.170 5.190
ATOM 62 H4 dms 7 8.240 9.350 6.730
ATOM 63 H5 dms 7 7.130 10.740 6.750
ATOM 64 S dms 8 29.490 28.890 21.700
ATOM 65 C dms 8 29.800 30.591 22.380
ATOM 66 H dms 8 28.820 31.081 22.470
ATOM 67 H1 dms 8 30.220 30.450 23.380
ATOM 68 H2 dms 8 30.440 31.171 21.710
ATOM 69 C1 dms 8 30.130 28.930 19.980
ATOM 70 H3 dms 8 31.201 29.130 19.970
ATOM 71 H4 dms 8 30.050 27.900 19.620
ATOM 72 H5 dms 8 29.570 29.620 19.340
ATOM 73 S dms 9 4.730 15.290 23.440
ATOM 74 C dms 9 5.370 16.290 22.100
ATOM 75 H dms 9 4.550 16.920 21.730
ATOM 76 H1 dms 9 6.280 16.840 22.340
ATOM 77 H2 dms 9 5.600 15.730 21.200
ATOM 78 C1 dms 9 4.050 13.930 22.430
ATOM 79 H3 dms 9 4.880 13.440 21.910
ATOM 80 H4 dms 9 3.470 13.250 23.060
ATOM 81 H5 dms 9 3.440 14.450 21.690
ATOM 82 S dms 10 3.970 11.660 19.980
ATOM 83 C dms 10 3.100 10.430 18.900
ATOM 84 H dms 10 3.060 10.890 17.910
ATOM 85 H1 dms 10 3.740 9.540 18.860
ATOM 86 H2 dms 10 2.130 10.180 19.340
ATOM 87 C1 dms 10 4.250 10.500 21.350
ATOM 88 H3 dms 10 3.390 9.830 21.470
ATOM 89 H4 dms 10 5.110 9.870 21.120
ATOM 90 H5 dms 10 4.380 11.100 22.250
ATOM 91 S dms 11 9.270 2.740 19.520
ATOM 92 C dms 11 7.900 3.890 20.060
ATOM 93 H dms 11 7.280 4.200 19.210
ATOM 94 H1 dms 11 7.250 3.410 20.790
ATOM 95 H2 dms 11 8.320 4.780 20.540
ATOM 96 C1 dms 11 8.300 1.160 19.550
ATOM 97 H3 dms 11 7.600 1.130 20.390
ATOM 98 H4 dms 11 7.630 1.060 18.690
ATOM 99 H5 dms 11 8.850 0.220 19.570
ATOM 100 S dms 12 16.740 19.580 0.200
ATOM 101 C dms 12 17.440 20.040 1.790
ATOM 102 H dms 12 16.950 20.980 2.060
ATOM 103 H1 dms 12 17.270 19.330 2.600
ATOM 104 H2 dms 12 18.490 20.360 1.760
ATOM 105 C1 dms 12 14.990 19.850 0.580
ATOM 106 H3 dms 12 14.400 19.660 -0.321
ATOM 107 H4 dms 12 14.770 19.210 1.440
ATOM 108 H5 dms 12 14.720 20.870 0.890
ATOM 109 S dms 13 0.240 17.710 22.480
ATOM 110 C dms 13 1.350 16.350 22.030
ATOM 111 H dms 13 2.190 16.800 21.510
ATOM 112 H1 dms 13 1.720 15.730 22.860
ATOM 113 H2 dms 13 0.860 15.740 21.260
ATOM 114 C1 dms 13 1.190 18.500 23.850
ATOM 115 H3 dms 13 0.830 19.490 24.150
ATOM 116 H4 dms 13 1.230 17.970 24.800
ATOM 117 H5 dms 13 2.210 18.580 23.470
ATOM 118 S dms 14 14.790 23.330 14.570
ATOM 119 C dms 14 13.580 24.540 15.250
ATOM 120 H dms 14 13.220 25.190 14.450
ATOM 121 H1 dms 14 12.680 24.040 15.610
ATOM 122 H2 dms 14 14.080 25.070 16.060
ATOM 123 C1 dms 14 15.460 24.420 13.310
ATOM 124 H3 dms 14 16.180 23.910 12.660
ATOM 125 H4 dms 14 14.670 24.720 12.620
ATOM 126 H5 dms 14 16.020 25.220 13.800
ATOM 127 S dms 15 7.480 17.680 11.420
ATOM 128 C dms 15 6.950 17.640 9.680
ATOM 129 H dms 15 7.830 17.340 9.120
ATOM 130 H1 dms 15 6.120 16.950 9.520
ATOM 131 H2 dms 15 6.760 18.670 9.360
ATOM 132 C1 dms 15 5.870 17.590 12.280
ATOM 133 H3 dms 15 6.020 17.070 13.230
ATOM 134 H4 dms 15 5.550 18.610 12.510
ATOM 135 H5 dms 15 5.140 17.040 11.690
ATOM 136 S dms 16 22.320 10.940 3.540
ATOM 137 C dms 16 21.060 11.930 4.320
ATOM 138 H dms 16 20.120 11.720 3.800
ATOM 139 H1 dms 16 21.080 11.640 5.370
ATOM 140 H2 dms 16 21.330 12.990 4.240
ATOM 141 C1 dms 16 22.580 11.760 2.010
ATOM 142 H3 dms 16 22.620 12.830 2.230
ATOM 143 H4 dms 16 23.540 11.470 1.570
ATOM 144 H5 dms 16 21.780 11.480 1.320
ATOM 145 S dms 17 24.830 27.870 14.910
ATOM 146 C dms 17 24.630 29.450 14.130
ATOM 147 H dms 17 24.770 29.230 13.060
ATOM 148 H1 dms 17 23.620 29.830 14.250
ATOM 149 H2 dms 17 25.460 30.080 14.460
ATOM 150 C1 dms 17 26.620 27.700 14.890
ATOM 151 H3 dms 17 27.020 28.700 15.100
ATOM 152 H4 dms 17 26.920 26.930 15.610
ATOM 153 H5 dms 17 26.910 27.370 13.890
ATOM 154 S dms 18 14.390 5.850 13.170
ATOM 155 C dms 18 14.580 7.430 12.240
ATOM 156 H dms 18 15.470 7.320 11.620
ATOM 157 H1 dms 18 13.740 7.680 11.580
ATOM 158 H2 dms 18 14.830 8.230 12.940
ATOM 159 C1 dms 18 13.560 4.910 11.920
ATOM 160 H3 dms 18 12.530 5.220 11.760
ATOM 161 H4 dms 18 14.110 4.990 10.970
ATOM 162 H5 dms 18 13.490 3.890 12.310
ATOM 163 S dms 19 15.510 5.340 3.180
ATOM 164 C dms 19 13.680 5.670 3.620
ATOM 165 H dms 19 13.580 5.570 4.700
ATOM 166 H1 dms 19 13.520 6.690 3.250
ATOM 167 H2 dms 19 13.030 5.030 3.020
ATOM 168 C1 dms 19 15.290 3.630 3.520
ATOM 169 H3 dms 19 16.150 3.210 4.040
ATOM 170 H4 dms 19 14.460 3.430 4.200
ATOM 171 H5 dms 19 15.190 3.090 2.570
ATOM 172 S dms 20 22.770 0.160 17.040
ATOM 173 C dms 20 21.980 -1.031 18.130
ATOM 174 H dms 20 22.730 -1.741 18.490
ATOM 175 H1 dms 20 21.710 -0.401 18.980
ATOM 176 H2 dms 20 21.110 -1.521 17.690
ATOM 177 C1 dms 20 22.880 1.650 18.200
ATOM 178 H3 dms 20 23.110 1.260 19.190
ATOM 179 H4 dms 20 23.680 2.270 17.790
ATOM 180 H5 dms 20 21.960 2.250 18.110
ATOM 181 S dms 21 24.890 7.670 20.570
ATOM 182 C dms 21 23.190 7.230 21.080
ATOM 183 H dms 21 22.730 7.960 21.750
ATOM 184 H1 dms 21 22.480 7.100 20.260
ATOM 185 H2 dms 21 23.310 6.280 21.610
ATOM 186 C1 dms 21 25.380 6.230 19.530
ATOM 187 H3 dms 21 25.190 5.310 20.090
ATOM 188 H4 dms 21 24.770 6.160 18.630
ATOM 189 H5 dms 21 26.440 6.420 19.340
ATOM 190 S dms 22 18.710 3.840 20.640
ATOM 191 C dms 22 17.380 4.880 20.000
ATOM 192 H dms 22 16.530 4.200 19.900
ATOM 193 H1 dms 22 17.190 5.690 20.710
ATOM 194 H2 dms 22 17.680 5.290 19.030
ATOM 195 C1 dms 22 17.910 3.120 22.110
ATOM 196 H3 dms 22 17.080 2.510 21.770
ATOM 197 H4 dms 22 18.650 2.430 22.510
ATOM 198 H5 dms 22 17.610 3.940 22.770
ATOM 199 S dms 23 20.790 11.930 9.510
ATOM 200 C dms 23 22.470 11.610 8.880
ATOM 201 H dms 23 22.460 10.730 8.240
ATOM 202 H1 dms 23 22.760 12.450 8.230
ATOM 203 H2 dms 23 23.240 11.460 9.650
ATOM 204 C1 dms 23 20.480 10.310 10.300
ATOM 205 H3 dms 23 21.340 10.190 10.960
ATOM 206 H4 dms 23 19.600 10.230 10.940
ATOM 207 H5 dms 23 20.530 9.600 9.470
ATOM 208 S dms 24 17.700 18.640 24.570
ATOM 209 C dms 24 17.480 20.080 23.470
ATOM 210 H dms 24 16.860 20.800 24.010
ATOM 211 H1 dms 24 18.460 20.560 23.370
ATOM 212 H2 dms 24 17.120 19.900 22.450
ATOM 213 C1 dms 24 16.020 17.760 24.510
ATOM 214 H3 dms 24 15.810 17.350 25.500
ATOM 215 H4 dms 24 15.250 18.470 24.190
ATOM 216 H5 dms 24 16.120 17.000 23.730
ATOM 217 S dms 25 0.570 23.660 29.670
ATOM 218 C dms 25 1.090 24.780 30.981
ATOM 219 H dms 25 2.150 25.030 30.991
ATOM 220 H1 dms 25 0.510 25.710 30.911
ATOM 221 H2 dms 25 0.880 24.390 31.981
ATOM 222 C1 dms 25 1.120 24.560 28.190
ATOM 223 H3 dms 25 1.030 25.640 28.300
ATOM 224 H4 dms 25 2.160 24.330 27.970
ATOM 225 H5 dms 25 0.400 24.340 27.390
ATOM 226 S dms 26 16.080 29.040 16.170
ATOM 227 C dms 26 14.420 28.320 16.270
ATOM 228 H dms 26 14.270 27.760 15.350
ATOM 229 H1 dms 26 14.300 27.640 17.120
ATOM 230 H2 dms 26 13.750 29.180 16.370
ATOM 231 C1 dms 26 17.120 27.670 15.810
ATOM 232 H3 dms 26 16.580 26.900 15.240
ATOM 233 H4 dms 26 18.000 28.040 15.270
ATOM 234 H5 dms 26 17.490 27.220 16.740
ATOM 235 S dms 27 7.380 10.420 2.080
ATOM 236 C dms 27 6.950 9.930 0.340
ATOM 237 H dms 27 7.710 10.250 -0.361
ATOM 238 H1 dms 27 6.840 8.840 0.360
ATOM 239 H2 dms 27 5.940 10.280 0.110
ATOM 240 C1 dms 27 7.890 12.110 1.830
ATOM 241 H3 dms 27 7.070 12.780 1.570
ATOM 242 H4 dms 27 8.290 12.510 2.770
ATOM 243 H5 dms 27 8.570 12.210 0.980
ATOM 244 S dms 28 26.570 28.950 19.150
ATOM 245 C dms 28 26.320 29.690 20.800
ATOM 246 H dms 28 26.930 30.601 20.880
ATOM 247 H1 dms 28 25.250 29.900 20.920
ATOM 248 H2 dms 28 26.690 29.000 21.560
ATOM 249 C1 dms 28 25.610 27.450 19.460
ATOM 250 H3 dms 28 25.670 26.820 18.570
ATOM 251 H4 dms 28 26.080 26.830 20.230
ATOM 252 H5 dms 28 24.630 27.830 19.750
ATOM 253 S dms 29 29.870 29.170 12.540
ATOM 254 C dms 29 29.350 30.751 13.420
ATOM 255 H dms 29 30.210 31.411 13.330
ATOM 256 H1 dms 29 28.450 31.241 13.040
ATOM 257 H2 dms 29 29.210 30.530 14.480
ATOM 258 C1 dms 29 30.911 29.940 11.250
ATOM 259 H3 dms 29 30.460 30.871 10.920
ATOM 260 H4 dms 29 31.821 30.240 11.790
ATOM 261 H5 dms 29 31.161 29.240 10.450
ATOM 262 S dms 30 26.510 18.630 25.510
ATOM 263 C dms 30 25.480 17.170 25.630
ATOM 264 H dms 30 26.060 16.250 25.590
ATOM 265 H1 dms 30 24.950 17.230 26.590
ATOM 266 H2 dms 30 24.790 17.070 24.790
ATOM 267 C1 dms 30 27.630 18.220 24.150
ATOM 268 H3 dms 30 28.660 18.440 24.450
ATOM 269 H4 dms 30 27.530 17.150 23.980
ATOM 270 H5 dms 30 27.370 18.650 23.180
ATOM 271 S dms 31 6.550 29.090 4.670
ATOM 272 C dms 31 7.830 29.890 3.580
ATOM 273 H dms 31 7.760 30.971 3.550
ATOM 274 H1 dms 31 8.790 29.480 3.900
ATOM 275 H2 dms 31 7.670 29.590 2.540
ATOM 276 C1 dms 31 4.970 29.800 3.980
ATOM 277 H3 dms 31 4.770 30.831 4.280
ATOM 278 H4 dms 31 4.930 29.890 2.890
ATOM 279 H5 dms 31 4.120 29.220 4.330
ATOM 280 S dms 32 8.270 24.920 27.150
ATOM 281 C dms 32 7.390 24.560 28.630
ATOM 282 H dms 32 7.850 23.930 29.390
ATOM 283 H1 dms 32 7.330 25.530 29.140
ATOM 284 H2 dms 32 6.370 24.280 28.370
ATOM 285 C1 dms 32 8.590 23.260 26.470
ATOM 286 H3 dms 32 9.310 23.320 25.660
ATOM 287 H4 dms 32 8.900 22.560 27.250
ATOM 288 H5 dms 32 7.580 23.010 26.100
ATOM 289 S dms 33 23.540 18.110 20.790
ATOM 290 C dms 33 24.910 18.810 21.780
ATOM 291 H dms 33 25.610 18.060 22.160
ATOM 292 H1 dms 33 25.570 19.380 21.110
ATOM 293 H2 dms 33 24.470 19.510 22.490
ATOM 294 C1 dms 33 24.380 16.640 20.140
ATOM 295 H3 dms 33 24.770 16.050 20.970
ATOM 296 H4 dms 33 23.690 15.970 19.620
ATOM 297 H5 dms 33 25.200 16.990 19.510
ATOM 298 S dms 34 23.730 3.870 22.970
ATOM 299 C dms 34 23.700 4.400 24.700
ATOM 300 H dms 34 23.290 3.590 25.310
ATOM 301 H1 dms 34 24.700 4.610 25.070
ATOM 302 H2 dms 34 22.980 5.230 24.750
ATOM 303 C1 dms 34 21.900 3.580 22.720
ATOM 304 H3 dms 34 21.450 2.970 23.510
ATOM 305 H4 dms 34 21.350 4.520 22.760
ATOM 306 H5 dms 34 21.540 3.170 21.780
ATOM 307 S dms 35 19.450 8.560 7.010
ATOM 308 C dms 35 20.310 7.320 8.150
ATOM 309 H dms 35 19.680 7.220 9.040
ATOM 310 H1 dms 35 20.360 6.410 7.560
ATOM 311 H2 dms 35 21.290 7.680 8.470
ATOM 312 C1 dms 35 20.840 8.490 5.790
ATOM 313 H3 dms 35 21.160 7.470 5.550
ATOM 314 H4 dms 35 20.510 8.990 4.880
ATOM 315 H5 dms 35 21.680 9.090 6.160
ATOM 316 S dms 36 15.840 23.710 3.500
ATOM 317 C dms 36 16.290 24.560 5.100
ATOM 318 H dms 36 16.360 23.830 5.910
ATOM 319 H1 dms 36 17.290 24.960 4.870
ATOM 320 H2 dms 36 15.520 25.320 5.250
ATOM 321 C1 dms 36 14.250 22.890 3.900
ATOM 322 H3 dms 36 13.830 22.510 2.970
ATOM 323 H4 dms 36 14.570 22.060 4.540
ATOM 324 H5 dms 36 13.530 23.570 4.360
ATOM 325 S dms 37 23.850 10.560 17.240
ATOM 326 C dms 37 25.290 10.930 18.380
ATOM 327 H dms 37 25.300 11.960 18.750
ATOM 328 H1 dms 37 25.180 10.260 19.240
ATOM 329 H2 dms 37 26.240 10.690 17.890
ATOM 330 C1 dms 37 24.310 8.770 16.870
ATOM 331 H3 dms 37 23.980 8.020 17.600
ATOM 332 H4 dms 37 23.900 8.510 15.890
ATOM 333 H5 dms 37 25.400 8.750 16.810
ATOM 334 S dms 38 30.851 5.370 7.310
ATOM 335 C dms 38 30.691 4.350 5.830
ATOM 336 H dms 38 30.801 4.950 4.920
ATOM 337 H1 dms 38 31.461 3.570 5.860
ATOM 338 H2 dms 38 29.680 3.940 5.870
ATOM 339 C1 dms 38 29.250 6.220 7.070
ATOM 340 H3 dms 38 28.480 5.450 6.990
ATOM 341 H4 dms 38 28.970 6.840 7.930
ATOM 342 H5 dms 38 29.330 6.800 6.150
ATOM 343 S dms 39 21.020 3.490 7.750
ATOM 344 C dms 39 19.940 2.850 6.480
ATOM 345 H dms 39 20.490 2.820 5.530
ATOM 346 H1 dms 39 19.510 1.920 6.860
ATOM 347 H2 dms 39 19.090 3.530 6.410
ATOM 348 C1 dms 39 22.390 2.240 7.710
ATOM 349 H3 dms 39 23.280 2.520 8.280
ATOM 350 H4 dms 39 21.950 1.290 7.990
ATOM 351 H5 dms 39 22.650 2.150 6.650
ATOM 352 S dms 40 12.140 27.380 23.470
ATOM 353 C dms 40 12.260 26.400 21.900
ATOM 354 H dms 40 12.500 27.030 21.040
ATOM 355 H1 dms 40 13.110 25.720 21.990
ATOM 356 H2 dms 40 11.280 25.950 21.670
ATOM 357 C1 dms 40 11.660 26.130 24.620
ATOM 358 H3 dms 40 11.860 26.570 25.600
ATOM 359 H4 dms 40 10.570 26.020 24.530
ATOM 360 H5 dms 40 12.170 25.180 24.490
ATOM 361 S dms 41 11.070 27.450 11.050
ATOM 362 C dms 41 11.760 27.110 12.720
ATOM 363 H dms 41 11.130 26.310 13.130
ATOM 364 H1 dms 41 12.750 26.680 12.540
ATOM 365 H2 dms 41 11.760 28.000 13.360
ATOM 366 C1 dms 41 12.480 28.180 10.110
ATOM 367 H3 dms 41 12.370 29.270 10.070
ATOM 368 H4 dms 41 13.360 28.040 10.750
ATOM 369 H5 dms 41 12.560 27.710 9.130
ATOM 370 S dms 42 13.460 30.601 7.340
ATOM 371 C dms 42 14.490 29.190 6.990
ATOM 372 H dms 42 14.890 28.840 7.950
ATOM 373 H1 dms 42 13.850 28.430 6.530
ATOM 374 H2 dms 42 15.260 29.530 6.290
ATOM 375 C1 dms 42 14.420 31.451 8.630
ATOM 376 H3 dms 42 13.900 32.391 8.830
ATOM 377 H4 dms 42 14.620 30.851 9.520
ATOM 378 H5 dms 42 15.440 31.551 8.260
ATOM 379 S dms 43 4.840 28.140 30.410
ATOM 380 C dms 43 4.530 27.100 28.890
ATOM 381 H dms 43 5.300 26.330 28.840
ATOM 382 H1 dms 43 3.600 26.560 29.090
ATOM 383 H2 dms 43 4.440 27.660 27.960
ATOM 384 C1 dms 43 6.410 28.890 29.970
ATOM 385 H3 dms 43 7.100 28.900 30.821
ATOM 386 H4 dms 43 6.870 28.350 29.150
ATOM 387 H5 dms 43 6.190 29.920 29.680
ATOM 388 S dms 44 27.840 19.800 8.560
ATOM 389 C dms 44 28.450 20.610 10.060
ATOM 390 H dms 44 29.520 20.400 10.170
ATOM 391 H1 dms 44 28.290 21.680 9.920
ATOM 392 H2 dms 44 27.950 20.320 10.990
ATOM 393 C1 dms 44 28.540 20.730 7.180
ATOM 394 H3 dms 44 27.930 21.630 7.090
ATOM 395 H4 dms 44 29.610 20.940 7.140
ATOM 396 H5 dms 44 28.380 20.120 6.290
ATOM 397 S dms 45 4.710 3.280 4.050
ATOM 398 C dms 45 4.260 4.660 5.210
ATOM 399 H dms 45 5.160 5.170 5.560
ATOM 400 H1 dms 45 3.600 5.380 4.730
ATOM 401 H2 dms 45 3.680 4.260 6.040
ATOM 402 C1 dms 45 5.770 4.030 2.770
ATOM 403 H3 dms 45 5.770 3.390 1.890
ATOM 404 H4 dms 45 5.420 4.990 2.390
ATOM 405 H5 dms 45 6.820 4.090 3.070
ATOM 406 S dms 46 11.120 16.190 4.370
ATOM 407 C dms 46 11.450 14.390 4.170
ATOM 408 H dms 46 12.080 14.260 3.290
ATOM 409 H1 dms 46 11.910 13.940 5.060
ATOM 410 H2 dms 46 10.480 13.930 3.980
ATOM 411 C1 dms 46 10.290 16.490 2.790
ATOM 412 H3 dms 46 9.250 16.180 2.800
ATOM 413 H4 dms 46 10.440 17.570 2.690
ATOM 414 H5 dms 46 10.880 15.910 2.080
ATOM 415 S dms 47 20.980 24.580 25.670
ATOM 416 C dms 47 21.070 23.770 24.050
ATOM 417 H dms 47 20.110 23.820 23.540
ATOM 418 H1 dms 47 21.810 24.310 23.450
ATOM 419 H2 dms 47 21.260 22.710 24.210
ATOM 420 C1 dms 47 22.330 23.620 26.450
ATOM 421 H3 dms 47 22.420 24.090 27.430
ATOM 422 H4 dms 47 22.100 22.560 26.630
ATOM 423 H5 dms 47 23.220 23.730 25.820
ATOM 424 S dms 48 8.020 6.000 7.250
ATOM 425 C dms 48 8.310 6.220 9.010
ATOM 426 H dms 48 8.150 7.300 9.110
ATOM 427 H1 dms 48 7.750 5.520 9.640
ATOM 428 H2 dms 48 9.330 5.960 9.320
ATOM 429 C1 dms 48 9.600 6.890 6.710
ATOM 430 H3 dms 48 9.480 6.720 5.640
ATOM 431 H4 dms 48 9.650 7.950 6.970
ATOM 432 H5 dms 48 10.520 6.410 7.050
ATOM 433 S dms 49 27.450 12.380 15.510
ATOM 434 C dms 49 27.950 13.990 14.790
ATOM 435 H dms 49 27.030 14.560 14.640
ATOM 436 H1 dms 49 28.370 14.470 15.670
ATOM 437 H2 dms 49 28.590 13.990 13.910
ATOM 438 C1 dms 49 29.000 11.650 16.020
ATOM 439 H3 dms 49 29.630 11.300 15.200
ATOM 440 H4 dms 49 29.560 12.370 16.630
ATOM 441 H5 dms 49 28.760 10.760 16.610
ATOM 442 S dms 50 5.220 11.990 26.650
ATOM 443 C dms 50 6.700 12.030 25.540
ATOM 444 H dms 50 7.190 11.070 25.330
ATOM 445 H1 dms 50 6.400 12.480 24.590
ATOM 446 H2 dms 50 7.370 12.780 25.960
ATOM 447 C1 dms 50 5.030 10.190 26.830
ATOM 448 H3 dms 50 5.030 9.800 25.810
ATOM 449 H4 dms 50 5.880 9.830 27.430
ATOM 450 H5 dms 50 4.130 9.810 27.300
ATOM 451 S dms 51 25.800 29.190 7.970
ATOM 452 C dms 51 24.670 28.540 9.250
ATOM 453 H dms 51 25.110 27.590 9.560
ATOM 454 H1 dms 51 24.680 29.250 10.080
ATOM 455 H2 dms 51 23.660 28.440 8.830
ATOM 456 C1 dms 51 24.910 30.711 7.580
ATOM 457 H3 dms 51 24.860 31.371 8.460
ATOM 458 H4 dms 51 25.520 31.241 6.840
ATOM 459 H5 dms 51 23.940 30.500 7.140
ATOM 460 S dms 52 0.680 17.740 14.720
ATOM 461 C dms 52 -0.621 16.510 14.280
ATOM 462 H dms 52 -0.171 15.530 14.080
ATOM 463 H1 dms 52 -1.281 16.510 15.150
ATOM 464 H2 dms 52 -1.281 16.740 13.440
ATOM 465 C1 dms 52 1.300 18.150 13.060
ATOM 466 H3 dms 52 1.500 17.210 12.530
ATOM 467 H4 dms 52 0.580 18.810 12.590
ATOM 468 H5 dms 52 2.210 18.720 13.250
ATOM 469 S dms 53 6.430 4.410 14.410
ATOM 470 C dms 53 7.020 5.690 15.560
ATOM 471 H dms 53 6.310 6.520 15.620
ATOM 472 H1 dms 53 7.190 5.260 16.560
ATOM 473 H2 dms 53 8.010 6.020 15.250
ATOM 474 C1 dms 53 6.090 5.530 12.980
ATOM 475 H3 dms 53 6.870 6.290 12.960
ATOM 476 H4 dms 53 6.200 4.990 12.040
ATOM 477 H5 dms 53 5.110 5.990 13.150
ATOM 478 S dms 54 6.660 20.040 21.730
ATOM 479 C dms 54 6.300 21.460 20.610
ATOM 480 H dms 54 6.430 21.250 19.550
ATOM 481 H1 dms 54 5.250 21.760 20.630
ATOM 482 H2 dms 54 6.870 22.350 20.890
ATOM 483 C1 dms 54 6.160 20.860 23.240
ATOM 484 H3 dms 54 6.290 20.240 24.120
ATOM 485 H4 dms 54 6.750 21.770 23.410
ATOM 486 H5 dms 54 5.090 21.060 23.130
ATOM 487 S dms 55 24.000 12.580 12.650
ATOM 488 C dms 55 23.190 13.650 13.870
ATOM 489 H dms 55 23.970 14.040 14.530
ATOM 490 H1 dms 55 22.710 14.460 13.320
ATOM 491 H2 dms 55 22.510 13.150 14.560
ATOM 492 C1 dms 55 24.510 11.120 13.570
ATOM 493 H3 dms 55 25.210 11.490 14.330
ATOM 494 H4 dms 55 23.680 10.670 14.130
ATOM 495 H5 dms 55 24.800 10.290 12.920
ATOM 496 S dms 56 9.290 23.480 21.640
ATOM 497 C dms 56 8.500 25.130 21.940
ATOM 498 H dms 56 9.260 25.910 21.930
ATOM 499 H1 dms 56 7.770 25.380 21.160
ATOM 500 H2 dms 56 7.970 25.180 22.890
ATOM 501 C1 dms 56 9.760 23.470 19.870
ATOM 502 H3 dms 56 8.950 23.720 19.190
ATOM 503 H4 dms 56 10.620 24.140 19.800
ATOM 504 H5 dms 56 10.160 22.500 19.550
ATOM 505 S dms 57 3.050 30.090 20.710
ATOM 506 C dms 57 3.340 29.710 22.460
ATOM 507 H dms 57 3.140 30.641 22.990
ATOM 508 H1 dms 57 2.640 28.940 22.780
ATOM 509 H2 dms 57 4.410 29.490 22.500
ATOM 510 C1 dms 57 4.530 31.161 20.360
ATOM 511 H3 dms 57 4.560 31.541 19.330
ATOM 512 H4 dms 57 4.430 32.031 21.020
ATOM 513 H5 dms 57 5.470 30.641 20.560
ATOM 514 S dms 58 22.500 12.490 22.140
ATOM 515 C dms 58 23.450 10.990 21.540
ATOM 516 H dms 58 23.210 10.670 20.530
ATOM 517 H1 dms 58 24.540 11.150 21.520
ATOM 518 H2 dms 58 23.290 10.220 22.300
ATOM 519 C1 dms 58 23.630 13.890 22.310
ATOM 520 H3 dms 58 24.220 13.970 21.400
ATOM 521 H4 dms 58 23.080 14.830 22.270
ATOM 522 H5 dms 58 24.290 13.790 23.170
ATOM 523 S dms 59 10.700 19.870 23.180
ATOM 524 C dms 59 11.560 21.120 22.120
ATOM 525 H dms 59 11.780 22.070 22.620
ATOM 526 H1 dms 59 12.550 20.700 21.920
ATOM 527 H2 dms 59 10.930 21.210 21.230
ATOM 528 C1 dms 59 12.040 18.960 23.970
ATOM 529 H3 dms 59 11.740 18.030 24.460
ATOM 530 H4 dms 59 12.840 18.690 23.280
ATOM 531 H5 dms 59 12.450 19.600 24.760
ATOM 532 S dms 60 10.430 8.270 12.930
ATOM 533 C dms 60 9.370 9.540 12.140
ATOM 534 H dms 60 8.940 9.260 11.180
ATOM 535 H1 dms 60 8.630 9.890 12.860
ATOM 536 H2 dms 60 10.050 10.390 12.080
ATOM 537 C1 dms 60 10.470 8.980 14.620
ATOM 538 H3 dms 60 9.440 9.070 14.980
ATOM 539 H4 dms 60 11.080 8.410 15.330
ATOM 540 H5 dms 60 10.860 9.990 14.580
ATOM 541 S dms 61 6.880 8.890 19.590
ATOM 542 C dms 61 7.590 8.050 18.170
ATOM 543 H dms 61 8.540 7.580 18.450
ATOM 544 H1 dms 61 6.930 7.260 17.800
ATOM 545 H2 dms 61 7.750 8.710 17.320
ATOM 546 C1 dms 61 8.290 9.890 20.210
ATOM 547 H3 dms 61 8.020 10.290 21.190
ATOM 548 H4 dms 61 9.150 9.250 20.440
ATOM 549 H5 dms 61 8.490 10.720 19.530
ATOM 550 S dms 62 7.520 2.480 30.661
ATOM 551 C dms 62 6.160 2.740 29.470
ATOM 552 H dms 62 6.590 2.830 28.470
ATOM 553 H1 dms 62 5.430 1.930 29.570
ATOM 554 H2 dms 62 5.660 3.670 29.770
ATOM 555 C1 dms 62 8.130 4.140 30.540
ATOM 556 H3 dms 62 8.750 4.380 31.411
ATOM 557 H4 dms 62 8.570 4.230 29.540
ATOM 558 H5 dms 62 7.230 4.760 30.530
ATOM 559 S dms 63 22.260 0.370 1.670
ATOM 560 C dms 63 21.060 1.210 0.630
ATOM 561 H dms 63 20.480 1.960 1.180
ATOM 562 H1 dms 63 21.540 1.740 -0.201
ATOM 563 H2 dms 63 20.400 0.440 0.240
ATOM 564 C1 dms 63 22.810 -1.051 0.720
ATOM 565 H3 dms 63 22.280 -1.921 1.110
ATOM 566 H4 dms 63 22.780 -1.001 -0.371
ATOM 567 H5 dms 63 23.870 -1.111 0.980
ATOM 568 S dms 64 23.330 21.290 10.130
ATOM 569 C dms 64 24.160 21.580 11.660
ATOM 570 H dms 64 24.020 22.590 12.040
ATOM 571 H1 dms 64 23.930 20.890 12.480
ATOM 572 H2 dms 64 25.220 21.380 11.490
ATOM 573 C1 dms 64 24.310 19.900 9.440
ATOM 574 H3 dms 64 24.090 19.750 8.380
ATOM 575 H4 dms 64 25.380 20.050 9.560
ATOM 576 H5 dms 64 24.030 18.930 9.870
ATOM 577 S dms 65 23.110 14.400 17.580
ATOM 578 C dms 65 21.820 15.550 16.850
ATOM 579 H dms 65 20.930 14.940 16.660
ATOM 580 H1 dms 65 21.720 16.330 17.600
ATOM 581 H2 dms 65 22.100 15.920 15.860
ATOM 582 C1 dms 65 22.080 13.510 18.890
ATOM 583 H3 dms 65 22.730 12.690 19.210
ATOM 584 H4 dms 65 21.890 14.270 19.650
ATOM 585 H5 dms 65 21.210 12.910 18.630
ATOM 586 S dms 66 15.030 26.380 28.390
ATOM 587 C dms 66 14.330 24.880 29.090
ATOM 588 H dms 66 14.850 23.950 28.800
ATOM 589 H1 dms 66 14.460 25.000 30.160
ATOM 590 H2 dms 66 13.300 24.740 28.760
ATOM 591 C1 dms 66 13.710 27.650 28.190
ATOM 592 H3 dms 66 14.090 28.530 27.680
ATOM 593 H4 dms 66 12.850 27.320 27.600
ATOM 594 H5 dms 66 13.220 27.870 29.150
ATOM 595 S dms 67 28.950 6.790 30.290
ATOM 596 C dms 67 28.230 8.450 30.070
ATOM 597 H dms 67 28.890 9.200 30.520
ATOM 598 H1 dms 67 28.200 8.640 29.000
ATOM 599 H2 dms 67 27.280 8.590 30.591
ATOM 600 C1 dms 67 30.110 6.690 28.780
ATOM 601 H3 dms 67 30.631 7.620 28.560
ATOM 602 H4 dms 67 30.821 5.860 28.880
ATOM 603 H5 dms 67 29.430 6.370 27.990
ATOM 604 S dms 68 4.910 22.580 16.690
ATOM 605 C dms 68 4.830 20.780 16.530
ATOM 606 H dms 68 4.240 20.440 15.670
ATOM 607 H1 dms 68 5.840 20.360 16.510
ATOM 608 H2 dms 68 4.430 20.440 17.480
ATOM 609 C1 dms 68 4.930 22.960 14.880
ATOM 610 H3 dms 68 4.930 24.040 14.710
ATOM 611 H4 dms 68 5.890 22.690 14.430
ATOM 612 H5 dms 68 4.030 22.610 14.370
ATOM 613 S dms 69 11.170 7.640 1.160
ATOM 614 C dms 69 9.580 7.320 1.980
ATOM 615 H dms 69 8.940 6.620 1.450
ATOM 616 H1 dms 69 9.900 6.910 2.940
ATOM 617 H2 dms 69 9.020 8.250 2.090
ATOM 618 C1 dms 69 10.950 6.570 -0.301
ATOM 619 H3 dms 69 11.950 6.540 -0.741
ATOM 620 H4 dms 69 10.590 5.560 -0.051
ATOM 621 H5 dms 69 10.290 7.030 -1.051
ATOM 622 S dms 70 21.600 20.330 25.050
ATOM 623 C dms 70 23.350 20.230 25.400
ATOM 624 H dms 70 24.030 20.520 24.600
ATOM 625 H1 dms 70 23.650 20.880 26.230
ATOM 626 H2 dms 70 23.560 19.210 25.730
ATOM 627 C1 dms 70 21.370 19.060 23.760
ATOM 628 H3 dms 70 21.900 19.340 22.840
ATOM 629 H4 dms 70 21.650 18.060 24.070
ATOM 630 H5 dms 70 20.330 18.990 23.430
ATOM 631 S dms 71 2.620 18.990 0.910
ATOM 632 C dms 71 3.400 18.120 -0.471
ATOM 633 H dms 71 3.110 17.080 -0.611
ATOM 634 H1 dms 71 3.220 18.620 -1.431
ATOM 635 H2 dms 71 4.490 18.120 -0.411
ATOM 636 C1 dms 71 2.760 20.790 0.480
ATOM 637 H3 dms 71 2.070 20.990 -0.351
ATOM 638 H4 dms 71 2.380 21.380 1.310
ATOM 639 H5 dms 71 3.810 21.050 0.310
ATOM 640 S dms 72 11.710 7.140 17.940
ATOM 641 C dms 72 10.510 5.810 17.670
ATOM 642 H dms 72 10.090 5.820 16.660
ATOM 643 H1 dms 72 11.200 4.970 17.790
ATOM 644 H2 dms 72 9.760 5.760 18.460
ATOM 645 C1 dms 72 12.890 6.880 16.530
ATOM 646 H3 dms 72 13.610 6.090 16.750
ATOM 647 H4 dms 72 12.260 6.540 15.700
ATOM 648 H5 dms 72 13.410 7.830 16.410
ATOM 649 S dms 73 4.570 24.970 23.910
ATOM 650 C dms 73 4.670 24.750 25.710
ATOM 651 H dms 73 3.810 24.110 25.930
ATOM 652 H1 dms 73 5.620 24.270 25.940
ATOM 653 H2 dms 73 4.630 25.770 26.110
ATOM 654 C1 dms 73 3.390 26.250 23.850
ATOM 655 H3 dms 73 3.260 26.420 22.780
ATOM 656 H4 dms 73 2.380 25.970 24.180
ATOM 657 H5 dms 73 3.790 27.120 24.390
ATOM 658 S dms 74 6.800 6.240 28.420
ATOM 659 C dms 74 7.230 6.290 26.700
ATOM 660 H dms 74 6.830 7.220 26.280
ATOM 661 H1 dms 74 8.320 6.390 26.570
ATOM 662 H2 dms 74 6.930 5.460 26.050
ATOM 663 C1 dms 74 4.980 6.240 28.590
ATOM 664 H3 dms 74 4.550 7.220 28.380
ATOM 665 H4 dms 74 4.530 5.500 27.920
ATOM 666 H5 dms 74 4.770 6.040 29.650
ATOM 667 S dms 75 21.490 19.690 1.610
ATOM 668 C dms 75 20.850 21.120 0.500
ATOM 669 H dms 75 20.010 21.690 0.910
ATOM 670 H1 dms 75 21.720 21.760 0.320
ATOM 671 H2 dms 75 20.590 20.740 -0.491
ATOM 672 C1 dms 75 22.290 18.750 0.330
ATOM 673 H3 dms 75 22.150 17.730 0.720
ATOM 674 H4 dms 75 21.770 18.870 -0.631
ATOM 675 H5 dms 75 23.350 18.940 0.190
ATOM 676 S dms 76 12.110 26.600 5.810
ATOM 677 C dms 76 10.370 27.080 5.430
ATOM 678 H dms 76 10.310 28.170 5.430
ATOM 679 H1 dms 76 10.190 26.810 4.390
ATOM 680 H2 dms 76 9.630 26.630 6.110
ATOM 681 C1 dms 76 11.750 25.110 6.780
ATOM 682 H3 dms 76 12.630 24.470 6.840
ATOM 683 H4 dms 76 11.350 25.290 7.780
ATOM 684 H5 dms 76 11.130 24.460 6.160
ATOM 685 S dms 77 28.890 15.280 19.810
ATOM 686 C dms 77 29.040 13.660 18.990
ATOM 687 H dms 77 28.380 13.760 18.120
ATOM 688 H1 dms 77 30.120 13.610 18.830
ATOM 689 H2 dms 77 28.740 12.790 19.570
ATOM 690 C1 dms 77 29.050 16.510 18.450
ATOM 691 H3 dms 77 29.210 17.510 18.850
ATOM 692 H4 dms 77 29.960 16.300 17.880
ATOM 693 H5 dms 77 28.160 16.490 17.830
ATOM 694 S dms 78 8.180 21.070 6.670
ATOM 695 C dms 78 8.480 19.400 6.050
ATOM 696 H dms 78 7.930 19.280 5.110
ATOM 697 H1 dms 78 9.540 19.110 5.980
ATOM 698 H2 dms 78 8.120 18.690 6.790
ATOM 699 C1 dms 78 6.360 21.100 6.570
ATOM 700 H3 dms 78 5.920 20.530 7.390
ATOM 701 H4 dms 78 6.150 22.170 6.540
ATOM 702 H5 dms 78 5.920 20.700 5.650
ATOM 703 S dms 79 22.590 16.160 8.320
ATOM 704 C dms 79 21.470 17.590 8.760
ATOM 705 H dms 79 21.400 18.240 7.880
ATOM 706 H1 dms 79 20.530 17.200 9.160
ATOM 707 H2 dms 79 21.890 18.190 9.570
ATOM 708 C1 dms 79 22.640 15.140 9.840
ATOM 709 H3 dms 79 22.660 15.780 10.720
ATOM 710 H4 dms 79 21.720 14.570 9.920
ATOM 711 H5 dms 79 23.550 14.540 9.820
ATOM 712 S dms 80 11.030 12.910 17.880
ATOM 713 C dms 80 11.030 14.170 16.600
ATOM 714 H dms 80 10.830 15.130 17.080
ATOM 715 H1 dms 80 12.020 14.170 16.130
ATOM 716 H2 dms 80 10.210 13.900 15.930
ATOM 717 C1 dms 80 11.850 11.530 17.030
ATOM 718 H3 dms 80 11.400 10.570 17.300
ATOM 719 H4 dms 80 11.770 11.680 15.950
ATOM 720 H5 dms 80 12.900 11.600 17.310
ATOM 721 S dms 81 2.110 10.000 29.600
ATOM 722 C dms 81 3.120 11.190 30.571
ATOM 723 H dms 81 3.880 11.650 29.930
ATOM 724 H1 dms 81 2.460 11.930 31.041
ATOM 725 H2 dms 81 3.670 10.540 31.251
ATOM 726 C1 dms 81 1.040 10.990 28.580
ATOM 727 H3 dms 81 1.570 11.870 28.210
ATOM 728 H4 dms 81 0.760 10.340 27.740
ATOM 729 H5 dms 81 0.210 11.350 29.190
ATOM 730 S dms 82 7.090 10.710 14.870
ATOM 731 C dms 82 6.030 10.650 13.320
ATOM 732 H dms 82 5.140 11.250 13.520
ATOM 733 H1 dms 82 6.620 11.060 12.500
ATOM 734 H2 dms 82 5.810 9.600 13.110
ATOM 735 C1 dms 82 6.210 11.400 16.280
ATOM 736 H3 dms 82 6.990 11.790 16.940
ATOM 737 H4 dms 82 5.560 12.180 15.880
ATOM 738 H5 dms 82 5.610 10.630 16.790
ATOM 739 S dms 83 23.600 12.560 28.250
ATOM 740 C dms 83 22.570 11.090 28.360
ATOM 741 H dms 83 21.590 11.190 28.830
ATOM 742 H1 dms 83 22.460 10.730 27.330
ATOM 743 H2 dms 83 23.130 10.340 28.920
ATOM 744 C1 dms 83 22.530 13.670 27.220
ATOM 745 H3 dms 83 22.560 13.320 26.190
ATOM 746 H4 dms 83 21.490 13.670 27.570
ATOM 747 H5 dms 83 22.920 14.690 27.330
ATOM 748 S dms 84 18.250 22.550 28.840
ATOM 749 C dms 84 19.350 23.980 29.010
ATOM 750 H dms 84 19.360 24.410 30.020
ATOM 751 H1 dms 84 20.380 23.660 28.830
ATOM 752 H2 dms 84 19.000 24.700 28.270
ATOM 753 C1 dms 84 18.330 22.380 27.000
ATOM 754 H3 dms 84 18.020 23.360 26.630
ATOM 755 H4 dms 84 19.350 22.190 26.670
ATOM 756 H5 dms 84 17.650 21.560 26.740
ATOM 757 S dms 85 7.300 1.770 23.070
ATOM 758 C dms 85 6.810 3.300 23.750
ATOM 759 H dms 85 7.480 4.100 23.410
ATOM 760 H1 dms 85 5.770 3.510 23.500
ATOM 761 H2 dms 85 6.950 3.250 24.840
ATOM 762 C1 dms 85 9.070 1.730 23.350
ATOM 763 H3 dms 85 9.680 1.170 22.640
ATOM 764 H4 dms 85 9.480 2.730 23.540
ATOM 765 H5 dms 85 9.200 1.090 24.220
ATOM 766 S dms 86 15.730 25.200 23.160
ATOM 767 C dms 86 15.560 25.250 24.940
ATOM 768 H dms 86 15.390 24.240 25.310
ATOM 769 H1 dms 86 16.480 25.570 25.420
ATOM 770 H2 dms 86 14.770 25.970 25.180
ATOM 771 C1 dms 86 17.450 24.700 23.120
ATOM 772 H3 dms 86 17.850 24.930 22.130
ATOM 773 H4 dms 86 18.010 25.270 23.870
ATOM 774 H5 dms 86 17.570 23.660 23.450
ATOM 775 S dms 87 5.860 28.710 25.290
ATOM 776 C dms 87 6.200 30.200 26.260
ATOM 777 H dms 87 6.330 29.930 27.310
ATOM 778 H1 dms 87 7.150 30.661 25.980
ATOM 779 H2 dms 87 5.440 30.971 26.080
ATOM 780 C1 dms 87 7.510 28.030 25.050
ATOM 781 H3 dms 87 8.060 28.800 24.510
ATOM 782 H4 dms 87 7.980 27.810 26.010
ATOM 783 H5 dms 87 7.290 27.090 24.530
ATOM 784 S dms 88 11.160 19.320 19.200
ATOM 785 C dms 88 10.330 17.660 18.730
ATOM 786 H dms 88 10.630 16.870 19.420
ATOM 787 H1 dms 88 9.260 17.830 18.790
ATOM 788 H2 dms 88 10.650 17.440 17.700
ATOM 789 C1 dms 88 12.810 18.750 19.690
ATOM 790 H3 dms 88 13.450 18.400 18.870
ATOM 791 H4 dms 88 13.250 19.670 20.090
ATOM 792 H5 dms 88 12.690 17.980 20.460
ATOM 793 S dms 89 2.240 4.370 -0.051
ATOM 794 C dms 89 2.820 2.740 0.590
ATOM 795 H dms 89 2.090 2.280 1.260
ATOM 796 H1 dms 89 2.910 2.000 -0.211
ATOM 797 H2 dms 89 3.800 2.870 1.070
ATOM 798 C1 dms 89 2.260 5.510 1.320
ATOM 799 H3 dms 89 1.700 6.400 1.030
ATOM 800 H4 dms 89 1.590 5.050 2.050
ATOM 801 H5 dms 89 3.290 5.670 1.650
ATOM 802 S dms 90 14.290 23.530 18.420
ATOM 803 C dms 90 13.170 22.660 19.560
ATOM 804 H dms 90 13.740 22.000 20.220
ATOM 805 H1 dms 90 12.420 23.320 20.020
ATOM 806 H2 dms 90 12.490 22.080 18.930
ATOM 807 C1 dms 90 15.030 24.790 19.450
ATOM 808 H3 dms 90 15.430 24.390 20.380
ATOM 809 H4 dms 90 15.860 25.250 18.900
ATOM 810 H5 dms 90 14.350 25.610 19.700
ATOM 811 S dms 91 1.090 0.340 16.380
ATOM 812 C dms 91 1.940 1.830 15.790
ATOM 813 H dms 91 1.250 2.460 15.230
ATOM 814 H1 dms 91 2.320 2.410 16.640
ATOM 815 H2 dms 91 2.770 1.530 15.160
ATOM 816 C1 dms 91 2.460 -0.721 16.720
ATOM 817 H3 dms 91 2.160 -1.641 17.240
ATOM 818 H4 dms 91 2.930 -0.931 15.750
ATOM 819 H5 dms 91 3.110 -0.151 17.390
ATOM 820 S dms 92 16.220 25.740 8.600
ATOM 821 C dms 92 14.720 24.770 8.450
ATOM 822 H dms 92 14.920 24.280 7.490
ATOM 823 H1 dms 92 14.630 24.000 9.210
ATOM 824 H2 dms 92 13.850 25.430 8.390
ATOM 825 C1 dms 92 16.160 25.860 10.420
ATOM 826 H3 dms 92 16.900 26.580 10.790
ATOM 827 H4 dms 92 15.160 26.080 10.800
ATOM 828 H5 dms 92 16.430 24.880 10.820
ATOM 829 S dms 93 2.590 12.020 11.170
ATOM 830 C dms 93 4.340 12.300 10.750
ATOM 831 H dms 93 4.730 11.480 10.130
ATOM 832 H1 dms 93 4.450 13.160 10.090
ATOM 833 H2 dms 93 4.910 12.400 11.670
ATOM 834 C1 dms 93 2.590 12.950 12.720
ATOM 835 H3 dms 93 3.110 13.910 12.650
ATOM 836 H4 dms 93 1.570 13.130 13.070
ATOM 837 H5 dms 93 3.130 12.360 13.470
ATOM 838 S dms 94 24.030 5.720 14.660
ATOM 839 C dms 94 25.060 4.460 15.420
ATOM 840 H dms 94 26.100 4.570 15.080
ATOM 841 H1 dms 94 24.810 4.540 16.480
ATOM 842 H2 dms 94 24.640 3.510 15.090
ATOM 843 C1 dms 94 22.520 5.680 15.660
ATOM 844 H3 dms 94 21.770 6.450 15.460
ATOM 845 H4 dms 94 22.010 4.730 15.450
ATOM 846 H5 dms 94 22.770 5.890 16.700
ATOM 847 S dms 95 14.890 18.390 5.110
ATOM 848 C dms 95 15.320 17.140 3.950
ATOM 849 H dms 95 16.010 17.530 3.200
ATOM 850 H1 dms 95 15.750 16.300 4.500
ATOM 851 H2 dms 95 14.490 16.870 3.300
ATOM 852 C1 dms 95 13.580 19.240 4.160
ATOM 853 H3 dms 95 14.030 19.780 3.320
ATOM 854 H4 dms 95 12.820 18.570 3.760
ATOM 855 H5 dms 95 13.040 20.000 4.740
ATOM 856 S dms 96 26.330 8.150 25.450
ATOM 857 C dms 96 26.010 7.070 26.910
ATOM 858 H dms 96 26.880 6.460 27.160
ATOM 859 H1 dms 96 25.780 7.710 27.760
ATOM 860 H2 dms 96 25.100 6.480 26.710
ATOM 861 C1 dms 96 24.760 9.090 25.500
ATOM 862 H3 dms 96 23.990 8.560 24.940
ATOM 863 H4 dms 96 24.530 9.480 26.500
ATOM 864 H5 dms 96 24.890 9.960 24.840
ATOM 865 S dms 97 19.290 29.380 24.400
ATOM 866 C dms 97 17.560 28.770 24.330
ATOM 867 H dms 97 17.070 29.240 25.190
ATOM 868 H1 dms 97 17.110 29.160 23.410
ATOM 869 H2 dms 97 17.510 27.680 24.360
ATOM 870 C1 dms 97 19.930 28.190 23.200
ATOM 871 H3 dms 97 19.450 28.340 22.230
ATOM 872 H4 dms 97 21.010 28.300 23.240
ATOM 873 H5 dms 97 19.680 27.200 23.590
ATOM 874 S dms 98 26.920 6.230 12.620
ATOM 875 C dms 98 28.260 6.650 13.780
ATOM 876 H dms 98 27.860 6.980 14.750
ATOM 877 H1 dms 98 28.940 5.850 14.080
ATOM 878 H2 dms 98 28.800 7.500 13.340
ATOM 879 C1 dms 98 26.000 7.820 12.500
ATOM 880 H3 dms 98 25.530 8.050 13.460
ATOM 881 H4 dms 98 26.710 8.640 12.330
ATOM 882 H5 dms 98 25.240 7.840 11.720
ATOM 883 S dms 99 23.890 1.210 11.280
ATOM 884 C dms 99 24.390 2.800 10.630
ATOM 885 H dms 99 25.020 2.590 9.760
ATOM 886 H1 dms 99 23.510 3.320 10.260
ATOM 887 H2 dms 99 24.880 3.340 11.440
ATOM 888 C1 dms 99 23.010 1.810 12.820
ATOM 889 H3 dms 99 22.110 1.230 13.030
ATOM 890 H4 dms 99 23.680 1.630 13.660
ATOM 891 H5 dms 99 22.820 2.870 12.660
ATOM 892 S dms 100 2.280 27.330 12.530
ATOM 893 C dms 100 3.390 25.930 12.110
ATOM 894 H dms 100 2.820 25.010 12.300
ATOM 895 H1 dms 100 3.810 26.140 11.130
ATOM 896 H2 dms 100 4.180 25.930 12.870
ATOM 897 C1 dms 100 1.580 26.760 14.040
ATOM 898 H3 dms 100 2.260 26.960 14.870
ATOM 899 H4 dms 100 0.640 27.270 14.260
ATOM 900 H5 dms 100 1.480 25.670 14.040
ATOM 901 S dms 101 8.270 16.180 30.711
ATOM 902 C dms 101 7.670 17.890 30.641
ATOM 903 H dms 101 7.000 17.960 31.501
ATOM 904 H1 dms 101 8.480 18.610 30.701
ATOM 905 H2 dms 101 7.010 17.980 29.770
ATOM 906 C1 dms 101 6.830 15.410 29.710
ATOM 907 H3 dms 101 6.710 15.890 28.730
ATOM 908 H4 dms 101 7.010 14.340 29.610
ATOM 909 H5 dms 101 5.900 15.540 30.260
ATOM 910 S dms 102 12.810 8.880 7.400
ATOM 911 C dms 102 13.920 9.770 6.180
ATOM 912 H dms 102 14.930 9.770 6.590
ATOM 913 H1 dms 102 13.990 9.360 5.170
ATOM 914 H2 dms 102 13.610 10.800 6.030
ATOM 915 C1 dms 102 13.410 9.820 8.870
ATOM 916 H3 dms 102 12.810 9.570 9.750
ATOM 917 H4 dms 102 14.450 9.560 9.080
ATOM 918 H5 dms 102 13.200 10.880 8.720
ATOM 919 S dms 103 18.200 30.110 6.770
ATOM 920 C dms 103 18.830 29.220 5.320
ATOM 921 H dms 103 18.550 29.720 4.390
ATOM 922 H1 dms 103 19.920 29.270 5.340
ATOM 923 H2 dms 103 18.560 28.160 5.260
ATOM 924 C1 dms 103 18.620 29.110 8.270
ATOM 925 H3 dms 103 17.910 28.290 8.430
ATOM 926 H4 dms 103 19.630 28.700 8.180
ATOM 927 H5 dms 103 18.650 29.720 9.170
ATOM 928 S dms 104 15.040 21.630 25.970
ATOM 929 C dms 104 13.340 22.320 26.170
ATOM 930 H dms 104 13.350 22.790 27.160
ATOM 931 H1 dms 104 13.040 23.020 25.390
ATOM 932 H2 dms 104 12.700 21.440 26.190
ATOM 933 C1 dms 104 14.960 20.680 27.500
ATOM 934 H3 dms 104 15.940 20.180 27.460
ATOM 935 H4 dms 104 14.900 21.380 28.340
ATOM 936 H5 dms 104 14.050 20.080 27.440
ATOM 937 S dms 105 11.730 21.810 0.860
ATOM 938 C dms 105 11.440 20.070 0.350
ATOM 939 H dms 105 10.450 19.720 0.660
ATOM 940 H1 dms 105 11.560 20.020 -0.731
ATOM 941 H2 dms 105 12.150 19.430 0.860
ATOM 942 C1 dms 105 10.500 22.530 -0.191
ATOM 943 H3 dms 105 9.560 21.960 -0.131
ATOM 944 H4 dms 105 10.340 23.580 0.060
ATOM 945 H5 dms 105 10.950 22.540 -1.181
ATOM 946 S dms 106 18.870 25.210 18.210
ATOM 947 C dms 106 20.630 25.780 17.880
ATOM 948 H dms 106 21.240 24.900 17.700
ATOM 949 H1 dms 106 20.500 26.280 16.910
ATOM 950 H2 dms 106 21.010 26.380 18.710
ATOM 951 C1 dms 106 19.030 24.050 19.590
ATOM 952 H3 dms 106 18.130 24.000 20.200
ATOM 953 H4 dms 106 19.280 23.020 19.290
ATOM 954 H5 dms 106 19.730 24.430 20.330
ATOM 955 S dms 107 28.070 24.770 24.130
ATOM 956 C dms 107 27.280 26.290 23.750
ATOM 957 H dms 107 26.330 26.450 24.270
ATOM 958 H1 dms 107 27.820 27.200 24.020
ATOM 959 H2 dms 107 27.100 26.310 22.670
ATOM 960 C1 dms 107 26.640 23.740 23.670
ATOM 961 H3 dms 107 26.910 22.690 23.530
ATOM 962 H4 dms 107 25.880 23.790 24.460
ATOM 963 H5 dms 107 26.190 24.090 22.740
ATOM 964 S dms 108 1.530 3.500 19.500
ATOM 965 C dms 108 0.340 2.080 19.510
ATOM 966 H dms 108 -0.471 2.250 20.220
ATOM 967 H1 dms 108 -0.071 1.930 18.510
ATOM 968 H2 dms 108 0.890 1.140 19.680
ATOM 969 C1 dms 108 1.530 3.950 21.240
ATOM 970 H3 dms 108 0.510 4.000 21.630
ATOM 971 H4 dms 108 2.050 3.110 21.720
ATOM 972 H5 dms 108 2.040 4.880 21.500
ATOM 973 S dms 109 15.020 13.020 27.560
ATOM 974 C dms 109 15.520 12.580 29.230
ATOM 975 H dms 109 15.610 11.490 29.210
ATOM 976 H1 dms 109 16.400 13.130 29.560
ATOM 977 H2 dms 109 14.730 12.700 29.970
ATOM 978 C1 dms 109 16.100 11.840 26.650
ATOM 979 H3 dms 109 17.150 12.010 26.910
ATOM 980 H4 dms 109 15.840 10.810 26.930
ATOM 981 H5 dms 109 15.860 11.970 25.590
ATOM 982 S dms 110 11.970 14.670 9.500
ATOM 983 C dms 110 12.470 14.190 7.820
ATOM 984 H dms 110 11.600 14.130 7.170
ATOM 985 H1 dms 110 13.030 15.050 7.440
ATOM 986 H2 dms 110 13.090 13.290 7.880
ATOM 987 C1 dms 110 11.500 16.490 9.300
ATOM 988 H3 dms 110 12.430 17.010 9.080
ATOM 989 H4 dms 110 10.700 16.630 8.570
ATOM 990 H5 dms 110 11.090 16.760 10.270
ATOM 991 S dms 111 13.840 11.440 1.640
ATOM 992 C dms 111 15.010 10.160 2.090
ATOM 993 H dms 111 14.460 9.260 2.370
ATOM 994 H1 dms 111 15.770 9.980 1.320
ATOM 995 H2 dms 111 15.600 10.450 2.970
ATOM 996 C1 dms 111 12.360 10.910 2.640
ATOM 997 H3 dms 111 12.120 9.870 2.430
ATOM 998 H4 dms 111 12.610 11.120 3.690
ATOM 999 H5 dms 111 11.540 11.550 2.320
ATOM 1000 S dms 112 15.220 29.330 12.180
ATOM 1001 C dms 112 16.780 30.030 12.760
ATOM 1002 H dms 112 17.160 30.621 11.910
ATOM 1003 H1 dms 112 16.620 30.651 13.640
ATOM 1004 H2 dms 112 17.440 29.220 13.100
ATOM 1005 C1 dms 112 14.260 30.851 12.540
ATOM 1006 H3 dms 112 14.100 31.011 13.600
ATOM 1007 H4 dms 112 14.840 31.691 12.160
ATOM 1008 H5 dms 112 13.380 30.831 11.890
ATOM 1009 S dms 113 20.410 16.770 28.690
ATOM 1010 C dms 113 19.190 15.490 28.290
ATOM 1011 H dms 113 18.320 15.560 28.950
ATOM 1012 H1 dms 113 18.890 15.540 27.240
ATOM 1013 H2 dms 113 19.520 14.470 28.540
ATOM 1014 C1 dms 113 19.630 18.200 27.890
ATOM 1015 H3 dms 113 20.180 19.080 28.230
ATOM 1016 H4 dms 113 19.540 18.090 26.810
ATOM 1017 H5 dms 113 18.590 18.340 28.200
ATOM 1018 S dms 114 7.920 16.120 16.190
ATOM 1019 C dms 114 9.030 17.090 15.100
ATOM 1020 H dms 114 9.300 18.020 15.620
ATOM 1021 H1 dms 114 9.960 16.630 14.760
ATOM 1022 H2 dms 114 8.470 17.450 14.230
ATOM 1023 C1 dms 114 6.640 17.390 16.550
ATOM 1024 H3 dms 114 7.130 18.300 16.910
ATOM 1025 H4 dms 114 6.060 17.720 15.690
ATOM 1026 H5 dms 114 5.940 16.930 17.250
ATOM 1027 S dms 115 7.200 1.750 8.690
ATOM 1028 C dms 115 8.270 2.000 7.220
ATOM 1029 H dms 115 9.160 1.390 7.350
ATOM 1030 H1 dms 115 7.670 1.700 6.360
ATOM 1031 H2 dms 115 8.480 3.070 7.230
ATOM 1032 C1 dms 115 7.220 -0.101 8.550
ATOM 1033 H3 dms 115 7.080 -0.561 9.530
ATOM 1034 H4 dms 115 6.580 -0.311 7.690
ATOM 1035 H5 dms 115 8.250 -0.401 8.360
ATOM 1036 S dms 116 20.120 8.120 26.860
ATOM 1037 C dms 116 19.560 9.790 26.410
ATOM 1038 H dms 116 19.570 10.420 27.310
ATOM 1039 H1 dms 116 20.260 10.190 25.670
ATOM 1040 H2 dms 116 18.610 9.690 25.880
ATOM 1041 C1 dms 116 19.790 7.430 25.150
ATOM 1042 H3 dms 116 18.710 7.450 24.970
ATOM 1043 H4 dms 116 20.320 8.060 24.430
ATOM 1044 H5 dms 116 20.160 6.400 25.080
ATOM 1045 S dms 117 4.160 8.130 5.170
ATOM 1046 C dms 117 3.150 9.000 3.810
ATOM 1047 H dms 117 2.890 8.230 3.080
ATOM 1048 H1 dms 117 2.170 9.260 4.200
ATOM 1049 H2 dms 117 3.690 9.790 3.270
ATOM 1050 C1 dms 117 5.710 7.650 4.280
ATOM 1051 H3 dms 117 6.210 6.860 4.840
ATOM 1052 H4 dms 117 5.590 7.340 3.240
ATOM 1053 H5 dms 117 6.370 8.520 4.310
ATOM 1054 S dms 118 23.380 6.980 0.850
ATOM 1055 C dms 118 24.680 6.290 -0.251
ATOM 1056 H dms 118 25.140 7.090 -0.841
ATOM 1057 H1 dms 118 25.460 5.780 0.320
ATOM 1058 H2 dms 118 24.200 5.570 -0.911
ATOM 1059 C1 dms 118 24.280 8.230 1.720
ATOM 1060 H3 dms 118 25.170 7.760 2.140
ATOM 1061 H4 dms 118 24.610 9.040 1.060
ATOM 1062 H5 dms 118 23.650 8.620 2.520
ATOM 1063 S dms 119 10.360 13.420 25.140
ATOM 1064 C dms 119 11.710 14.270 25.930
ATOM 1065 H dms 119 12.390 13.660 26.540
ATOM 1066 H1 dms 119 12.340 14.630 25.110
ATOM 1067 H2 dms 119 11.320 15.120 26.500
ATOM 1068 C1 dms 119 11.260 12.110 24.340
ATOM 1069 H3 dms 119 11.800 11.520 25.090
ATOM 1070 H4 dms 119 10.690 11.380 23.760
ATOM 1071 H5 dms 119 11.950 12.600 23.640
ATOM 1072 S dms 120 30.721 28.680 26.490
ATOM 1073 C dms 120 30.621 27.700 24.940
ATOM 1074 H dms 120 29.610 27.530 24.580
ATOM 1075 H1 dms 120 31.201 28.090 24.090
ATOM 1076 H2 dms 120 31.041 26.700 25.060
ATOM 1077 C1 dms 120 29.630 27.720 27.420
ATOM 1078 H3 dms 120 29.960 26.680 27.500
ATOM 1079 H4 dms 120 29.550 28.140 28.430
ATOM 1080 H5 dms 120 28.610 27.670 27.040
ATOM 1081 S dms 121 20.290 28.130 12.200
ATOM 1082 C dms 121 21.900 28.590 11.380
ATOM 1083 H dms 121 21.910 28.070 10.420
ATOM 1084 H1 dms 121 21.820 29.670 11.230
ATOM 1085 H2 dms 121 22.760 28.410 12.040
ATOM 1086 C1 dms 121 20.450 28.990 13.800
ATOM 1087 H3 dms 121 21.230 28.520 14.410
ATOM 1088 H4 dms 121 20.800 30.000 13.560
ATOM 1089 H5 dms 121 19.500 29.130 14.320
ATOM 1090 S dms 122 29.010 9.640 4.620
ATOM 1091 C dms 122 30.410 9.700 5.850
ATOM 1092 H dms 122 30.040 10.230 6.730
ATOM 1093 H1 dms 122 30.671 8.720 6.270
ATOM 1094 H2 dms 122 31.261 10.260 5.450
ATOM 1095 C1 dms 122 29.710 8.550 3.340
ATOM 1096 H3 dms 122 30.000 7.620 3.840
ATOM 1097 H4 dms 122 28.940 8.290 2.620
ATOM 1098 H5 dms 122 30.520 9.030 2.790
ATOM 1099 S dms 123 15.060 2.690 30.310
ATOM 1100 C dms 123 13.540 1.840 29.660
ATOM 1101 H dms 123 13.920 1.210 28.850
ATOM 1102 H1 dms 123 13.070 1.280 30.470
ATOM 1103 H2 dms 123 12.920 2.590 29.170
ATOM 1104 C1 dms 123 15.860 1.250 31.061
ATOM 1105 H3 dms 123 15.410 1.040 32.031
ATOM 1106 H4 dms 123 15.820 0.350 30.430
ATOM 1107 H5 dms 123 16.910 1.530 31.191
ATOM 1108 S dms 124 26.630 13.830 29.770
ATOM 1109 C dms 124 27.780 12.630 30.510
ATOM 1110 H dms 124 27.430 11.610 30.330
ATOM 1111 H1 dms 124 28.740 12.860 30.050
ATOM 1112 H2 dms 124 27.920 12.770 31.581
ATOM 1113 C1 dms 124 25.790 14.310 31.251
ATOM 1114 H3 dms 124 25.680 13.460 31.931
ATOM 1115 H4 dms 124 26.470 14.960 31.811
ATOM 1116 H5 dms 124 24.900 14.890 31.031
ATOM 1117 S dms 125 24.420 27.200 3.390
ATOM 1118 C dms 125 24.400 28.120 4.950
ATOM 1119 H dms 125 23.550 28.800 5.040
ATOM 1120 H1 dms 125 24.280 27.440 5.800
ATOM 1121 H2 dms 125 25.360 28.640 5.050
ATOM 1122 C1 dms 125 25.390 25.630 3.780
ATOM 1123 H3 dms 125 24.650 24.990 4.270
ATOM 1124 H4 dms 125 25.810 25.120 2.910
ATOM 1125 H5 dms 125 26.250 25.890 4.410
ATOM 1126 S dms 126 17.640 27.960 20.170
ATOM 1127 C dms 126 17.990 29.770 20.220
ATOM 1128 H dms 126 17.560 30.180 19.300
ATOM 1129 H1 dms 126 17.410 30.160 21.060
ATOM 1130 H2 dms 126 19.080 29.770 20.210
ATOM 1131 C1 dms 126 15.840 28.090 20.320
ATOM 1132 H3 dms 126 15.480 28.410 19.340
ATOM 1133 H4 dms 126 15.370 27.140 20.600
ATOM 1134 H5 dms 126 15.570 28.820 21.090
ATOM 1135 S dms 127 0.740 28.970 2.530
ATOM 1136 C dms 127 0.480 29.100 0.740
ATOM 1137 H dms 127 1.490 29.060 0.330
ATOM 1138 H1 dms 127 -0.101 28.300 0.270
ATOM 1139 H2 dms 127 0.040 30.070 0.500
ATOM 1140 C1 dms 127 -0.841 28.330 3.200
ATOM 1141 H3 dms 127 -1.681 28.590 2.540
ATOM 1142 H4 dms 127 -0.791 27.250 3.330
ATOM 1143 H5 dms 127 -0.991 28.800 4.170
ATOM 1144 S dms 128 17.840 4.070 25.810
ATOM 1145 C dms 128 18.690 2.840 26.940
ATOM 1146 H dms 128 17.960 2.530 27.690
ATOM 1147 H1 dms 128 19.010 2.020 26.290
ATOM 1148 H2 dms 128 19.490 3.330 27.500
ATOM 1149 C1 dms 128 17.200 5.390 26.900
ATOM 1150 H3 dms 128 17.990 6.010 27.330
ATOM 1151 H4 dms 128 16.590 5.990 26.220
ATOM 1152 H5 dms 128 16.440 4.940 27.550
ATOM 1153 S dms 129 1.050 6.410 14.560
ATOM 1154 C dms 129 2.360 5.520 15.460
ATOM 1155 H dms 129 3.120 6.230 15.800
ATOM 1156 H1 dms 129 1.940 4.970 16.310
ATOM 1157 H2 dms 129 2.930 4.860 14.790
ATOM 1158 C1 dms 129 1.910 7.920 13.910
ATOM 1159 H3 dms 129 2.530 8.410 14.670
ATOM 1160 H4 dms 129 2.590 7.680 13.090
ATOM 1161 H5 dms 129 1.120 8.610 13.610
ATOM 1162 S dms 130 20.830 26.350 7.090
ATOM 1163 C dms 130 19.700 25.040 7.560
ATOM 1164 H dms 130 19.840 24.770 8.610
ATOM 1165 H1 dms 130 18.690 25.380 7.320
ATOM 1166 H2 dms 130 19.900 24.170 6.940
ATOM 1167 C1 dms 130 22.450 25.770 7.610
ATOM 1168 H3 dms 130 22.680 24.910 6.970
ATOM 1169 H4 dms 130 23.180 26.530 7.330
ATOM 1170 H5 dms 130 22.670 25.550 8.650
ATOM 1171 S dms 131 18.530 9.050 22.360
ATOM 1172 C dms 131 18.400 8.540 20.600
ATOM 1173 H dms 131 18.230 9.470 20.060
ATOM 1174 H1 dms 131 19.340 8.090 20.260
ATOM 1175 H2 dms 131 17.530 7.910 20.440
ATOM 1176 C1 dms 131 20.030 10.020 22.420
ATOM 1177 H3 dms 131 20.030 10.660 21.530
ATOM 1178 H4 dms 131 20.040 10.680 23.300
ATOM 1179 H5 dms 131 20.860 9.310 22.460
ATOM 1180 S dms 132 5.480 8.040 9.900
ATOM 1181 C dms 132 5.500 9.150 8.550
ATOM 1182 H dms 132 6.080 8.640 7.770
ATOM 1183 H1 dms 132 4.480 9.200 8.140
ATOM 1184 H2 dms 132 5.910 10.150 8.710
ATOM 1185 C1 dms 132 4.470 6.600 9.310
ATOM 1186 H3 dms 132 4.320 5.960 10.180
ATOM 1187 H4 dms 132 3.480 6.870 8.940
ATOM 1188 H5 dms 132 5.010 5.930 8.630
ATOM 1189 S dms 133 25.320 22.880 27.880
ATOM 1190 C dms 133 24.200 22.030 28.960
ATOM 1191 H dms 133 23.840 21.190 28.370
ATOM 1192 H1 dms 133 24.830 21.700 29.790
ATOM 1193 H2 dms 133 23.420 22.780 29.130
ATOM 1194 C1 dms 133 26.790 21.780 27.900
ATOM 1195 H3 dms 133 26.570 20.840 27.390
ATOM 1196 H4 dms 133 27.430 22.310 27.190
ATOM 1197 H5 dms 133 27.290 21.630 28.850
ATOM 1198 S dms 134 20.260 21.610 13.640
ATOM 1199 C dms 134 19.780 22.910 14.750
ATOM 1200 H dms 134 19.280 23.630 14.100
ATOM 1201 H1 dms 134 19.060 22.520 15.480
ATOM 1202 H2 dms 134 20.650 23.390 15.200
ATOM 1203 C1 dms 134 18.620 21.180 13.000
ATOM 1204 H3 dms 134 18.720 20.250 12.430
ATOM 1205 H4 dms 134 17.880 21.040 13.800
ATOM 1206 H5 dms 134 18.130 21.950 12.400
ATOM 1207 S dms 135 25.540 21.160 3.320
ATOM 1208 C dms 135 25.820 20.370 4.990
ATOM 1209 H dms 135 26.770 19.830 4.880
ATOM 1210 H1 dms 135 25.970 21.230 5.640
ATOM 1211 H2 dms 135 24.960 19.750 5.240
ATOM 1212 C1 dms 135 25.400 19.510 2.440
ATOM 1213 H3 dms 135 24.520 19.070 2.930
ATOM 1214 H4 dms 135 25.320 19.710 1.370
ATOM 1215 H5 dms 135 26.350 18.990 2.590
ATOM 1216 S dms 136 3.580 28.670 7.660
ATOM 1217 C dms 136 3.390 28.800 9.420
ATOM 1218 H dms 136 2.850 27.940 9.820
ATOM 1219 H1 dms 136 4.340 28.900 9.960
ATOM 1220 H2 dms 136 2.820 29.710 9.630
ATOM 1221 C1 dms 136 4.420 27.120 7.580
ATOM 1222 H3 dms 136 4.940 26.860 6.650
ATOM 1223 H4 dms 136 5.290 27.080 8.250
ATOM 1224 H5 dms 136 3.700 26.310 7.740
ATOM 1225 S dms 137 24.110 2.710 28.620
ATOM 1226 C dms 137 25.330 2.010 29.620
ATOM 1227 H dms 137 26.140 1.740 28.950
ATOM 1228 H1 dms 137 25.750 2.800 30.240
ATOM 1229 H2 dms 137 25.070 1.230 30.340
ATOM 1230 C1 dms 137 23.220 1.230 28.000
ATOM 1231 H3 dms 137 22.510 1.480 27.210
ATOM 1232 H4 dms 137 23.990 0.660 27.480
ATOM 1233 H5 dms 137 22.740 0.750 28.860
ATOM 1234 S dms 138 7.120 25.050 10.450
ATOM 1235 C dms 138 7.410 26.230 11.810
ATOM 1236 H dms 138 7.370 27.250 11.420
ATOM 1237 H1 dms 138 6.530 26.210 12.460
ATOM 1238 H2 dms 138 8.320 26.040 12.380
ATOM 1239 C1 dms 138 8.770 25.280 9.540
ATOM 1240 H3 dms 138 8.730 26.330 9.240
ATOM 1241 H4 dms 138 9.490 25.100 10.350
ATOM 1242 H5 dms 138 8.940 24.580 8.720
ATOM 1243 S dms 139 28.420 4.030 18.160
ATOM 1244 C dms 139 27.260 2.550 18.200
ATOM 1245 H dms 139 26.630 2.620 19.100
ATOM 1246 H1 dms 139 26.720 2.560 17.250
ATOM 1247 H2 dms 139 27.940 1.690 18.260
ATOM 1248 C1 dms 139 29.400 3.670 16.640
ATOM 1249 H3 dms 139 29.370 4.570 16.020
ATOM 1250 H4 dms 139 30.460 3.660 16.920
ATOM 1251 H5 dms 139 28.980 2.870 16.040
ATOM 1252 S dms 140 30.280 9.390 11.030
ATOM 1253 C dms 140 31.411 8.210 10.100
ATOM 1254 H dms 140 31.611 8.570 9.090
ATOM 1255 H1 dms 140 32.361 8.140 10.640
ATOM 1256 H2 dms 140 31.011 7.200 10.090
ATOM 1257 C1 dms 140 28.720 8.800 10.130
ATOM 1258 H3 dms 140 28.760 7.710 10.160
ATOM 1259 H4 dms 140 27.950 9.160 10.810
ATOM 1260 H5 dms 140 28.580 9.280 9.160
ATOM 1261 S dms 141 19.360 13.580 24.680
ATOM 1262 C dms 141 20.420 15.000 24.710
ATOM 1263 H dms 141 21.100 14.750 25.530
ATOM 1264 H1 dms 141 21.000 15.080 23.780
ATOM 1265 H2 dms 141 19.860 15.900 24.960
ATOM 1266 C1 dms 141 17.830 14.220 23.830
ATOM 1267 H3 dms 141 17.270 14.870 24.510
ATOM 1268 H4 dms 141 18.180 14.880 23.040
ATOM 1269 H5 dms 141 17.220 13.390 23.470
ATOM 1270 S dms 142 0.790 7.000 25.120
ATOM 1271 C dms 142 2.020 7.900 26.250
ATOM 1272 H dms 142 3.000 7.460 26.100
ATOM 1273 H1 dms 142 2.140 8.900 25.810
ATOM 1274 H2 dms 142 1.760 7.970 27.310
ATOM 1275 C1 dms 142 -0.441 8.370 24.750
ATOM 1276 H3 dms 142 -0.031 8.990 23.940
ATOM 1277 H4 dms 142 -1.361 8.020 24.280
ATOM 1278 H5 dms 142 -0.571 8.950 25.660
ATOM 1279 S dms 143 10.860 2.480 15.530
ATOM 1280 C dms 143 9.790 1.230 14.830
ATOM 1281 H dms 143 8.970 1.610 14.200
ATOM 1282 H1 dms 143 10.350 0.550 14.190
ATOM 1283 H2 dms 143 9.450 0.670 15.700
ATOM 1284 C1 dms 143 11.550 3.480 14.200
ATOM 1285 H3 dms 143 10.700 3.890 13.650
ATOM 1286 H4 dms 143 12.260 4.190 14.640
ATOM 1287 H5 dms 143 12.030 2.740 13.550
ATOM 1288 S dms 144 14.720 0.540 25.430
ATOM 1289 C dms 144 14.240 0.350 23.660
ATOM 1290 H dms 144 13.270 0.830 23.510
ATOM 1291 H1 dms 144 14.980 0.800 22.990
ATOM 1292 H2 dms 144 14.170 -0.701 23.380
ATOM 1293 C1 dms 144 14.840 2.310 25.700
ATOM 1294 H3 dms 144 13.860 2.750 25.480
ATOM 1295 H4 dms 144 14.960 2.410 26.780
ATOM 1296 H5 dms 144 15.700 2.670 25.130
ATOM 1297 S dms 145 19.800 16.230 5.470
ATOM 1298 C dms 145 20.130 17.770 4.630
ATOM 1299 H dms 145 19.200 18.240 4.290
ATOM 1300 H1 dms 145 20.550 18.460 5.360
ATOM 1301 H2 dms 145 20.790 17.580 3.780
ATOM 1302 C1 dms 145 18.700 16.950 6.740
ATOM 1303 H3 dms 145 18.400 16.230 7.500
ATOM 1304 H4 dms 145 19.210 17.810 7.200
ATOM 1305 H5 dms 145 17.830 17.210 6.120
ATOM 1306 S dms 146 28.570 1.320 0.960
ATOM 1307 C dms 146 29.060 1.490 2.670
ATOM 1308 H dms 146 29.020 0.530 3.190
ATOM 1309 H1 dms 146 30.050 1.950 2.600
ATOM 1310 H2 dms 146 28.410 2.210 3.170
ATOM 1311 C1 dms 146 28.690 2.970 0.180
ATOM 1312 H3 dms 146 27.780 3.530 0.430
ATOM 1313 H4 dms 146 29.540 3.560 0.520
ATOM 1314 H5 dms 146 28.790 2.630 -0.861
ATOM 1315 S dms 147 1.390 11.700 23.860
ATOM 1316 C dms 147 1.110 13.090 25.010
ATOM 1317 H dms 147 1.680 13.980 24.760
ATOM 1318 H1 dms 147 0.090 13.490 24.990
ATOM 1319 H2 dms 147 1.260 12.640 26.000
ATOM 1320 C1 dms 147 0.770 12.190 22.250
ATOM 1321 H3 dms 147 -0.271 12.500 22.350
ATOM 1322 H4 dms 147 1.270 13.060 21.830
ATOM 1323 H5 dms 147 0.790 11.330 21.570
ATOM 1324 S dms 148 6.830 28.970 14.140
ATOM 1325 C dms 148 6.260 30.591 13.640
ATOM 1326 H dms 148 5.850 30.621 12.630
ATOM 1327 H1 dms 148 5.610 31.031 14.400
ATOM 1328 H2 dms 148 7.170 31.181 13.530
ATOM 1329 C1 dms 148 5.220 28.260 14.480
ATOM 1330 H3 dms 148 5.350 27.180 14.550
ATOM 1331 H4 dms 148 4.810 28.570 15.440
ATOM 1332 H5 dms 148 4.480 28.510 13.710
ATOM 1333 S dms 149 11.200 1.480 10.990
ATOM 1334 C dms 149 9.790 0.350 10.830
ATOM 1335 H dms 149 9.750 -0.401 11.620
ATOM 1336 H1 dms 149 8.820 0.840 10.940
ATOM 1337 H2 dms 149 9.880 -0.171 9.870
ATOM 1338 C1 dms 149 10.990 2.550 9.540
ATOM 1339 H3 dms 149 11.260 1.950 8.670
ATOM 1340 H4 dms 149 9.970 2.940 9.430
ATOM 1341 H5 dms 149 11.770 3.310 9.590
ATOM 1342 S dms 150 18.200 14.270 2.330
ATOM 1343 C dms 150 19.240 15.680 1.790
ATOM 1344 H dms 150 20.180 15.670 2.350
ATOM 1345 H1 dms 150 19.370 15.470 0.730
ATOM 1346 H2 dms 150 18.590 16.530 1.980
ATOM 1347 C1 dms 150 16.670 14.450 1.310
ATOM 1348 H3 dms 150 16.100 15.250 1.770
ATOM 1349 H4 dms 150 16.880 14.670 0.260
ATOM 1350 H5 dms 150 16.010 13.580 1.420
ATOM 1351 S dms 151 3.520 17.730 8.670
ATOM 1352 C dms 151 3.410 18.870 10.040
ATOM 1353 H dms 151 4.390 19.140 10.450
ATOM 1354 H1 dms 151 2.930 19.820 9.780
ATOM 1355 H2 dms 151 2.890 18.420 10.880
ATOM 1356 C1 dms 151 1.840 16.960 8.740
ATOM 1357 H3 dms 151 1.040 17.620 9.110
ATOM 1358 H4 dms 151 1.650 16.510 7.760
ATOM 1359 H5 dms 151 1.950 16.120 9.430
ATOM 1360 S dms 152 9.860 9.310 28.040
ATOM 1361 C dms 152 10.720 8.850 26.430
ATOM 1362 H dms 152 10.840 7.770 26.460
ATOM 1363 H1 dms 152 10.140 9.120 25.540
ATOM 1364 H2 dms 152 11.730 9.280 26.430
ATOM 1365 C1 dms 152 9.580 11.030 27.740
ATOM 1366 H3 dms 152 8.620 11.160 27.240
ATOM 1367 H4 dms 152 9.460 11.410 28.760
ATOM 1368 H5 dms 152 10.400 11.600 27.300
ATOM 1369 S dms 153 18.160 17.350 11.700
ATOM 1370 C dms 153 17.890 15.670 12.110
ATOM 1371 H dms 153 18.460 15.090 11.380
ATOM 1372 H1 dms 153 18.300 15.510 13.110
ATOM 1373 H2 dms 153 16.830 15.410 12.080
ATOM 1374 C1 dms 153 19.940 17.640 12.190
ATOM 1375 H3 dms 153 20.610 16.940 11.690
ATOM 1376 H4 dms 153 20.250 18.680 12.080
ATOM 1377 H5 dms 153 19.850 17.320 13.230
ATOM 1378 S dms 154 12.270 1.920 2.590
ATOM 1379 C dms 154 11.910 1.570 4.340
ATOM 1380 H dms 154 12.620 0.910 4.850
ATOM 1381 H1 dms 154 11.670 2.470 4.920
ATOM 1382 H2 dms 154 11.000 0.970 4.430
ATOM 1383 C1 dms 154 10.780 2.740 2.180
ATOM 1384 H3 dms 154 10.810 3.080 1.140
ATOM 1385 H4 dms 154 9.990 2.020 2.400
ATOM 1386 H5 dms 154 10.620 3.510 2.950
ATOM 1387 S dms 155 28.720 20.400 13.930
ATOM 1388 C dms 155 29.480 21.150 15.330
ATOM 1389 H dms 155 28.940 22.050 15.650
ATOM 1390 H1 dms 155 29.420 20.530 16.230
ATOM 1391 H2 dms 155 30.500 21.390 15.040
ATOM 1392 C1 dms 155 26.990 20.160 14.540
ATOM 1393 H3 dms 155 26.590 21.130 14.850
ATOM 1394 H4 dms 155 26.420 19.730 13.710
ATOM 1395 H5 dms 155 27.010 19.410 15.340
ATOM 1396 S dms 156 1.000 13.830 1.690
ATOM 1397 C dms 156 2.560 14.760 1.430
ATOM 1398 H dms 156 2.880 14.720 0.390
ATOM 1399 H1 dms 156 2.360 15.810 1.680
ATOM 1400 H2 dms 156 3.390 14.370 2.020
ATOM 1401 C1 dms 156 0.950 14.080 3.470
ATOM 1402 H3 dms 156 0.560 15.020 3.880
ATOM 1403 H4 dms 156 0.380 13.230 3.850
ATOM 1404 H5 dms 156 1.990 14.050 3.800
ATOM 1405 S dms 157 29.000 1.330 6.380
ATOM 1406 C dms 157 30.651 0.940 7.190
ATOM 1407 H dms 157 30.901 1.860 7.730
ATOM 1408 H1 dms 157 30.550 0.100 7.890
ATOM 1409 H2 dms 157 31.291 0.540 6.400
ATOM 1410 C1 dms 157 28.010 2.070 7.690
ATOM 1411 H3 dms 157 27.150 2.610 7.260
ATOM 1412 H4 dms 157 27.620 1.310 8.370
ATOM 1413 H5 dms 157 28.650 2.790 8.200
ATOM 1414 S dms 158 8.710 15.300 20.340
ATOM 1415 C dms 158 9.070 14.790 21.990
ATOM 1416 H dms 158 9.860 14.040 21.990
ATOM 1417 H1 dms 158 9.420 15.600 22.650
ATOM 1418 H2 dms 158 8.150 14.410 22.440
ATOM 1419 C1 dms 158 8.090 13.830 19.540
ATOM 1420 H3 dms 158 8.530 12.930 19.990
ATOM 1421 H4 dms 158 7.010 13.800 19.720
ATOM 1422 H5 dms 158 8.270 13.960 18.470
ATOM 1423 S dms 159 28.290 19.940 0.080
ATOM 1424 C dms 159 29.970 19.800 0.680
ATOM 1425 H dms 159 30.520 18.930 0.330
ATOM 1426 H1 dms 159 30.450 20.760 0.490
ATOM 1427 H2 dms 159 29.850 19.570 1.740
ATOM 1428 C1 dms 159 27.810 18.200 -0.201
ATOM 1429 H3 dms 159 28.350 17.870 -1.091
ATOM 1430 H4 dms 159 28.060 17.570 0.660
ATOM 1431 H5 dms 159 26.750 18.110 -0.431
ATOM 1432 S dms 160 28.610 21.750 19.910
ATOM 1433 C dms 160 29.150 21.140 21.640
ATOM 1434 H dms 160 28.900 21.880 22.400
ATOM 1435 H1 dms 160 28.660 20.180 21.800
ATOM 1436 H2 dms 160 30.220 20.940 21.650
ATOM 1437 C1 dms 160 29.190 20.310 19.000
ATOM 1438 H3 dms 160 29.670 19.610 19.690
ATOM 1439 H4 dms 160 28.410 19.910 18.330
ATOM 1440 H5 dms 160 29.970 20.680 18.330
ATOM 1441 S dms 161 26.220 9.970 7.740
ATOM 1442 C dms 161 25.820 10.610 6.080
ATOM 1443 H dms 161 26.130 11.630 5.870
ATOM 1444 H1 dms 161 26.100 10.000 5.210
ATOM 1445 H2 dms 161 24.740 10.690 6.040
ATOM 1446 C1 dms 161 26.450 11.470 8.700
ATOM 1447 H3 dms 161 27.250 12.020 8.190
ATOM 1448 H4 dms 161 25.530 12.060 8.710
ATOM 1449 H5 dms 161 26.780 11.280 9.720
ATOM 1450 S dms 162 29.610 23.110 4.990
ATOM 1451 C dms 162 29.790 21.810 3.760
ATOM 1452 H dms 162 28.880 21.230 3.570
ATOM 1453 H1 dms 162 30.130 22.180 2.780
ATOM 1454 H2 dms 162 30.490 21.060 4.110
ATOM 1455 C1 dms 162 28.960 24.540 4.100
ATOM 1456 H3 dms 162 28.290 24.200 3.310
ATOM 1457 H4 dms 162 28.420 25.280 4.700
ATOM 1458 H5 dms 162 29.820 25.030 3.640
ATOM 1459 S dms 163 20.330 26.010 1.760
ATOM 1460 C dms 163 20.510 27.340 3.000
ATOM 1461 H dms 163 21.090 28.140 2.550
ATOM 1462 H1 dms 163 19.570 27.730 3.400
ATOM 1463 H2 dms 163 21.150 26.940 3.790
ATOM 1464 C1 dms 163 21.970 25.570 1.500
ATOM 1465 H3 dms 163 22.460 26.380 0.940
ATOM 1466 H4 dms 163 22.380 25.460 2.510
ATOM 1467 H5 dms 163 22.070 24.610 1.000
ATOM 1468 S dms 164 0.120 24.880 16.710
ATOM 1469 C dms 164 1.110 23.590 17.520
ATOM 1470 H dms 164 0.480 22.700 17.580
ATOM 1471 H1 dms 164 2.110 23.360 17.130
ATOM 1472 H2 dms 164 1.300 23.860 18.560
ATOM 1473 C1 dms 164 -1.061 25.340 18.020
ATOM 1474 H3 dms 164 -1.461 26.330 17.800
ATOM 1475 H4 dms 164 -1.831 24.570 18.150
ATOM 1476 H5 dms 164 -0.531 25.340 18.970
ATOM 1477 S dms 165 27.060 16.850 4.830
ATOM 1478 C dms 165 25.360 16.800 5.580
ATOM 1479 H dms 165 24.580 16.830 4.810
ATOM 1480 H1 dms 165 25.050 15.840 6.000
ATOM 1481 H2 dms 165 25.220 17.670 6.230
ATOM 1482 C1 dms 165 28.010 15.510 5.710
ATOM 1483 H3 dms 165 28.090 15.700 6.780
ATOM 1484 H4 dms 165 27.600 14.510 5.540
ATOM 1485 H5 dms 165 29.050 15.430 5.360
ATOM 1486 S dms 166 11.120 3.880 25.930
ATOM 1487 C dms 166 12.390 5.100 26.150
ATOM 1488 H dms 166 13.060 4.750 26.940
ATOM 1489 H1 dms 166 12.860 5.300 25.190
ATOM 1490 H2 dms 166 11.900 6.010 26.520
ATOM 1491 C1 dms 166 10.200 3.980 27.480
ATOM 1492 H3 dms 166 9.290 3.390 27.520
ATOM 1493 H4 dms 166 10.930 3.860 28.290
ATOM 1494 H5 dms 166 9.980 5.030 27.670
ATOM 1495 S dms 167 18.990 20.000 19.740
ATOM 1496 C dms 167 18.560 18.430 20.460
ATOM 1497 H dms 167 17.470 18.390 20.550
ATOM 1498 H1 dms 167 18.880 17.560 19.880
ATOM 1499 H2 dms 167 19.000 18.310 21.450
ATOM 1500 C1 dms 167 20.690 20.160 20.200
ATOM 1501 H3 dms 167 21.010 19.310 20.810
ATOM 1502 H4 dms 167 21.330 20.100 19.310
ATOM 1503 H5 dms 167 20.920 21.090 20.720
ATOM 1504 S dms 168 18.270 9.330 1.340
ATOM 1505 C dms 168 20.030 8.830 1.340
ATOM 1506 H dms 168 20.160 8.060 0.570
ATOM 1507 H1 dms 168 20.720 9.650 1.150
ATOM 1508 H2 dms 168 20.290 8.500 2.350
ATOM 1509 C1 dms 168 17.820 7.570 1.740
ATOM 1510 H3 dms 168 18.050 7.290 2.770
ATOM 1511 H4 dms 168 16.740 7.420 1.640
ATOM 1512 H5 dms 168 18.460 6.990 1.070
ATOM 1513 S dms 169 4.350 26.640 17.990
ATOM 1514 C dms 169 3.200 26.910 19.340
ATOM 1515 H dms 169 2.480 27.710 19.150
ATOM 1516 H1 dms 169 2.720 25.930 19.380
ATOM 1517 H2 dms 169 3.740 27.100 20.270
ATOM 1518 C1 dms 169 5.640 25.520 18.760
ATOM 1519 H3 dms 169 5.110 24.900 19.480
ATOM 1520 H4 dms 169 6.170 24.980 17.970
ATOM 1521 H5 dms 169 6.410 26.110 19.260
ATOM 1522 S dms 170 21.050 21.130 5.340
ATOM 1523 C dms 170 22.240 22.180 4.510
ATOM 1524 H dms 170 22.200 23.200 4.900
ATOM 1525 H1 dms 170 23.260 21.970 4.860
ATOM 1526 H2 dms 170 22.190 22.200 3.410
ATOM 1527 C1 dms 170 21.540 21.440 7.160
ATOM 1528 H3 dms 170 21.410 22.480 7.480
ATOM 1529 H4 dms 170 20.860 20.820 7.750
ATOM 1530 H5 dms 170 22.590 21.190 7.290
ATOM 1531 S dms 171 25.190 4.900 8.150
ATOM 1532 C dms 171 23.960 6.110 7.560
ATOM 1533 H dms 171 22.970 5.760 7.880
ATOM 1534 H1 dms 171 24.180 7.100 7.970
ATOM 1535 H2 dms 171 24.040 6.150 6.470
ATOM 1536 C1 dms 171 26.420 5.930 9.070
ATOM 1537 H3 dms 171 27.190 5.300 9.500
ATOM 1538 H4 dms 171 26.810 6.610 8.300
ATOM 1539 H5 dms 171 25.820 6.450 9.820
ATOM 1540 S dms 172 3.190 14.290 16.330
ATOM 1541 C dms 172 4.020 14.560 17.910
ATOM 1542 H dms 172 3.400 15.200 18.550
ATOM 1543 H1 dms 172 4.050 13.660 18.530
ATOM 1544 H2 dms 172 5.030 14.950 17.780
ATOM 1545 C1 dms 172 3.500 15.730 15.260
ATOM 1546 H3 dms 172 4.560 15.930 15.050
ATOM 1547 H4 dms 172 2.970 15.590 14.320
ATOM 1548 H5 dms 172 3.200 16.620 15.820
ATOM 1549 S dms 173 7.470 8.260 23.510
ATOM 1550 C dms 173 8.980 7.400 22.760
ATOM 1551 H dms 173 8.670 7.060 21.770
ATOM 1552 H1 dms 173 9.810 8.110 22.690
ATOM 1553 H2 dms 173 9.270 6.500 23.320
ATOM 1554 C1 dms 173 6.140 7.080 23.100
ATOM 1555 H3 dms 173 5.940 6.970 22.030
ATOM 1556 H4 dms 173 6.420 6.130 23.550
ATOM 1557 H5 dms 173 5.230 7.540 23.510
ATOM 1558 S dms 174 28.290 26.480 0.360
ATOM 1559 C dms 174 27.140 25.070 -0.281
ATOM 1560 H dms 174 26.970 25.200 -1.351
ATOM 1561 H1 dms 174 27.510 24.090 0.040
ATOM 1562 H2 dms 174 26.100 25.240 0.030
ATOM 1563 C1 dms 174 26.980 27.740 0.310
ATOM 1564 H3 dms 174 26.420 27.520 -0.601
ATOM 1565 H4 dms 174 26.340 27.610 1.180
ATOM 1566 H5 dms 174 27.510 28.700 0.250
ATOM 1567 S dms 175 26.490 24.090 6.940
ATOM 1568 C dms 175 26.820 25.780 7.540
ATOM 1569 H dms 175 27.460 26.370 6.860
ATOM 1570 H1 dms 175 25.850 26.270 7.620
ATOM 1571 H2 dms 175 27.300 25.650 8.510
ATOM 1572 C1 dms 175 25.420 23.420 8.180
ATOM 1573 H3 dms 175 24.980 22.460 7.890
ATOM 1574 H4 dms 175 25.900 23.310 9.160
ATOM 1575 H5 dms 175 24.540 24.070 8.180
ATOM 1576 S dms 176 19.790 29.460 28.270
ATOM 1577 C dms 176 18.050 29.990 28.400
ATOM 1578 H dms 176 17.530 29.460 29.190
ATOM 1579 H1 dms 176 18.130 31.071 28.540
ATOM 1580 H2 dms 176 17.510 29.770 27.480
ATOM 1581 C1 dms 176 19.620 27.640 28.260
ATOM 1582 H3 dms 176 18.690 27.460 27.720
ATOM 1583 H4 dms 176 20.500 27.240 27.760
ATOM 1584 H5 dms 176 19.460 27.280 29.280
ATOM 1585 S dms 177 7.050 14.180 11.050
ATOM 1586 C dms 177 8.520 13.760 10.060
ATOM 1587 H dms 177 9.310 13.200 10.580
ATOM 1588 H1 dms 177 8.300 13.190 9.150
ATOM 1589 H2 dms 177 8.940 14.690 9.670
ATOM 1590 C1 dms 177 7.760 14.620 12.620
ATOM 1591 H3 dms 177 8.140 13.680 13.010
ATOM 1592 H4 dms 177 8.590 15.330 12.510
ATOM 1593 H5 dms 177 7.060 15.000 13.370
ATOM 1594 S dms 178 11.010 27.950 0.730
ATOM 1595 C dms 178 11.670 28.640 2.300
ATOM 1596 H dms 178 12.580 29.130 1.940
ATOM 1597 H1 dms 178 10.920 29.380 2.580
ATOM 1598 H2 dms 178 11.870 27.900 3.080
ATOM 1599 C1 dms 178 9.610 27.050 1.530
ATOM 1600 H3 dms 178 9.110 27.850 2.090
ATOM 1601 H4 dms 178 8.980 26.610 0.750
ATOM 1602 H5 dms 178 10.020 26.340 2.250
ATOM 1603 S dms 179 28.850 3.930 23.490
ATOM 1604 C dms 179 27.930 5.100 24.460
ATOM 1605 H dms 179 28.280 5.130 25.490
ATOM 1606 H1 dms 179 27.930 6.100 24.010
ATOM 1607 H2 dms 179 26.860 4.880 24.440
ATOM 1608 C1 dms 179 28.030 3.890 21.830
ATOM 1609 H3 dms 179 28.370 4.760 21.260
ATOM 1610 H4 dms 179 28.180 2.950 21.280
ATOM 1611 H5 dms 179 26.960 3.870 22.040
ATOM 1612 S dms 180 1.950 4.560 11.120
ATOM 1613 C dms 180 2.160 3.160 9.960
ATOM 1614 H dms 180 1.830 2.190 10.340
ATOM 1615 H1 dms 180 1.540 3.260 9.070
ATOM 1616 H2 dms 180 3.240 3.170 9.750
ATOM 1617 C1 dms 180 0.130 4.720 11.320
ATOM 1618 H3 dms 180 -0.371 5.060 10.410
ATOM 1619 H4 dms 180 -0.291 3.810 11.760
ATOM 1620 H5 dms 180 -0.121 5.490 12.050
ATOM 1621 S dms 181 14.390 8.350 28.040
ATOM 1622 C dms 181 13.600 9.340 29.310
ATOM 1623 H dms 181 14.350 9.830 29.930
ATOM 1624 H1 dms 181 13.060 10.120 28.780
ATOM 1625 H2 dms 181 13.020 8.730 30.020
ATOM 1626 C1 dms 181 15.370 7.560 29.320
ATOM 1627 H3 dms 181 14.840 6.820 29.920
ATOM 1628 H4 dms 181 16.220 7.100 28.820
ATOM 1629 H5 dms 181 15.860 8.260 30.000
ATOM 1630 S dms 182 26.850 -0.001 25.890
ATOM 1631 C dms 182 26.710 1.210 24.570
ATOM 1632 H dms 182 26.050 0.830 23.790
ATOM 1633 H1 dms 182 26.330 2.140 25.030
ATOM 1634 H2 dms 182 27.650 1.490 24.110
ATOM 1635 C1 dms 182 27.940 0.770 27.160
ATOM 1636 H3 dms 182 28.940 1.080 26.820
ATOM 1637 H4 dms 182 27.440 1.720 27.380
ATOM 1638 H5 dms 182 27.810 0.020 27.940
ATOM 1639 S dms 183 19.140 2.880 16.360
ATOM 1640 C dms 183 19.470 1.110 16.400
ATOM 1641 H dms 183 19.190 0.570 17.310
ATOM 1642 H1 dms 183 18.930 0.630 15.580
ATOM 1643 H2 dms 183 20.510 0.810 16.300
ATOM 1644 C1 dms 183 17.330 2.720 16.470
ATOM 1645 H3 dms 183 16.780 3.660 16.530
ATOM 1646 H4 dms 183 16.960 2.330 15.520
ATOM 1647 H5 dms 183 17.000 2.080 17.290
ATOM 1648 S dms 184 13.200 9.450 22.610
ATOM 1649 C dms 184 13.450 7.690 22.820
ATOM 1650 H dms 184 13.750 7.610 23.870
ATOM 1651 H1 dms 184 12.580 7.080 22.570
ATOM 1652 H2 dms 184 14.320 7.410 22.210
ATOM 1653 C1 dms 184 14.820 10.040 23.180
ATOM 1654 H3 dms 184 14.800 9.720 24.230
ATOM 1655 H4 dms 184 15.640 9.660 22.560
ATOM 1656 H5 dms 184 14.890 11.120 23.130
ATOM 1657 S dms 185 15.820 4.180 7.240
ATOM 1658 C dms 185 16.200 5.980 7.000
ATOM 1659 H dms 185 17.250 6.050 6.700
ATOM 1660 H1 dms 185 15.500 6.340 6.240
ATOM 1661 H2 dms 185 15.950 6.560 7.890
ATOM 1662 C1 dms 185 16.850 3.820 8.700
ATOM 1663 H3 dms 185 17.820 4.280 8.500
ATOM 1664 H4 dms 185 16.450 4.270 9.610
ATOM 1665 H5 dms 185 16.920 2.740 8.870
ATOM 1666 S dms 186 15.620 10.710 17.550
ATOM 1667 C dms 186 15.740 12.040 18.840
ATOM 1668 H dms 186 16.400 11.710 19.650
ATOM 1669 H1 dms 186 16.240 12.900 18.380
ATOM 1670 H2 dms 186 14.750 12.290 19.220
ATOM 1671 C1 dms 186 15.050 9.330 18.580
ATOM 1672 H3 dms 186 15.050 8.420 17.980
ATOM 1673 H4 dms 186 15.710 9.280 19.450
ATOM 1674 H5 dms 186 14.030 9.540 18.910
ATOM 1675 S dms 187 2.920 20.840 5.470
ATOM 1676 C dms 187 1.870 19.810 6.540
ATOM 1677 H dms 187 0.830 20.120 6.490
ATOM 1678 H1 dms 187 2.000 18.760 6.270
ATOM 1679 H2 dms 187 2.190 19.900 7.580
ATOM 1680 C1 dms 187 2.870 22.560 5.880
ATOM 1681 H3 dms 187 1.880 23.010 5.940
ATOM 1682 H4 dms 187 3.330 22.650 6.870
ATOM 1683 H5 dms 187 3.380 23.070 5.050
ATOM 1684 S dms 188 4.820 21.820 11.440
ATOM 1685 C dms 188 4.020 22.680 10.060
ATOM 1686 H dms 188 3.790 21.960 9.270
ATOM 1687 H1 dms 188 3.060 23.080 10.400
ATOM 1688 H2 dms 188 4.630 23.550 9.810
ATOM 1689 C1 dms 188 6.360 21.370 10.460
ATOM 1690 H3 dms 188 7.110 21.110 11.210
ATOM 1691 H4 dms 188 6.260 20.480 9.830
ATOM 1692 H5 dms 188 6.770 22.200 9.880
ATOM 1693 S dms 189 20.180 5.080 2.120
ATOM 1694 C dms 189 18.890 4.100 2.860
ATOM 1695 H dms 189 19.240 3.070 2.950
ATOM 1696 H1 dms 189 18.680 4.640 3.790
ATOM 1697 H2 dms 189 18.090 4.210 2.120
ATOM 1698 C1 dms 189 21.610 4.600 3.130
ATOM 1699 H3 dms 189 21.560 3.590 3.550
ATOM 1700 H4 dms 189 22.550 4.790 2.590
ATOM 1701 H5 dms 189 21.660 5.180 4.050
ATOM 1702 S dms 190 19.800 12.430 16.040
ATOM 1703 C dms 190 19.790 12.560 14.210
ATOM 1704 H dms 190 20.780 12.380 13.770
ATOM 1705 H1 dms 190 19.110 11.870 13.700
ATOM 1706 H2 dms 190 19.600 13.610 13.980
ATOM 1707 C1 dms 190 18.010 12.410 16.270
ATOM 1708 H3 dms 190 17.550 13.300 15.830
ATOM 1709 H4 dms 190 17.740 11.490 15.740
ATOM 1710 H5 dms 190 17.860 12.270 17.340
ATOM 1711 S dms 191 3.080 18.470 19.350
ATOM 1712 C dms 191 2.770 19.740 20.680
ATOM 1713 H dms 191 1.720 19.720 20.980
ATOM 1714 H1 dms 191 3.410 19.580 21.560
ATOM 1715 H2 dms 191 2.940 20.740 20.280
ATOM 1716 C1 dms 191 1.880 18.810 18.140
ATOM 1717 H3 dms 191 2.030 18.200 17.250
ATOM 1718 H4 dms 191 0.890 18.800 18.600
ATOM 1719 H5 dms 191 2.020 19.870 17.910
ATOM 1720 S dms 192 25.070 17.860 12.130
ATOM 1721 C dms 192 24.420 17.330 13.710
ATOM 1722 H dms 192 25.230 17.180 14.430
ATOM 1723 H1 dms 192 23.760 18.010 14.250
ATOM 1724 H2 dms 192 23.790 16.430 13.640
ATOM 1725 C1 dms 192 26.040 16.420 11.560
ATOM 1726 H3 dms 192 26.610 15.970 12.380
ATOM 1727 H4 dms 192 25.410 15.630 11.150
ATOM 1728 H5 dms 192 26.740 16.710 10.770
ATOM 1729 S dms 193 16.550 13.470 7.390
ATOM 1730 C dms 193 16.840 13.530 5.630
ATOM 1731 H dms 193 17.890 13.700 5.370
ATOM 1732 H1 dms 193 16.500 12.600 5.170
ATOM 1733 H2 dms 193 16.270 14.360 5.200
ATOM 1734 C1 dms 193 17.400 11.930 7.860
ATOM 1735 H3 dms 193 17.370 11.610 8.900
ATOM 1736 H4 dms 193 16.960 11.140 7.240
ATOM 1737 H5 dms 193 18.460 12.020 7.620
ATOM 1738 S dms 194 16.220 28.270 1.900
ATOM 1739 C dms 194 16.990 26.910 0.880
ATOM 1740 H dms 194 17.710 27.320 0.170
ATOM 1741 H1 dms 194 17.500 26.250 1.590
ATOM 1742 H2 dms 194 16.230 26.360 0.320
ATOM 1743 C1 dms 194 15.060 27.310 2.810
ATOM 1744 H3 dms 194 15.570 26.520 3.360
ATOM 1745 H4 dms 194 14.400 27.840 3.500
ATOM 1746 H5 dms 194 14.480 26.730 2.100
ATOM 1747 S dms 195 23.990 28.390 23.160
ATOM 1748 C dms 195 23.740 29.350 24.720
ATOM 1749 H dms 195 23.860 30.420 24.560
ATOM 1750 H1 dms 195 22.710 29.230 25.060
ATOM 1751 H2 dms 195 24.480 29.110 25.490
ATOM 1752 C1 dms 195 23.450 26.700 23.660
ATOM 1753 H3 dms 195 23.980 26.340 24.540
ATOM 1754 H4 dms 195 22.400 26.670 23.960
ATOM 1755 H5 dms 195 23.650 26.050 22.810
ATOM 1756 S dms 196 29.750 9.520 19.330
ATOM 1757 C dms 196 30.040 7.910 18.480
ATOM 1758 H dms 196 29.040 7.540 18.250
ATOM 1759 H1 dms 196 30.581 7.970 17.530
ATOM 1760 H2 dms 196 30.570 7.180 19.100
ATOM 1761 C1 dms 196 28.760 8.940 20.790
ATOM 1762 H3 dms 196 28.780 9.650 21.620
ATOM 1763 H4 dms 196 27.730 8.760 20.480
ATOM 1764 H5 dms 196 29.170 8.040 21.260
ATOM 1765 S dms 197 16.620 16.690 18.110
ATOM 1766 C dms 197 17.950 16.940 16.820
ATOM 1767 H dms 197 18.170 16.050 16.220
ATOM 1768 H1 dms 197 17.410 17.670 16.210
ATOM 1769 H2 dms 197 18.810 17.420 17.290
ATOM 1770 C1 dms 197 15.420 15.600 17.240
ATOM 1771 H3 dms 197 14.440 15.400 17.690
ATOM 1772 H4 dms 197 15.180 16.110 16.300
ATOM 1773 H5 dms 197 15.910 14.630 17.110
ATOM 1774 S dms 198 27.250 23.650 12.430
ATOM 1775 C dms 198 26.190 24.220 13.800
ATOM 1776 H dms 198 26.360 23.570 14.670
ATOM 1777 H1 dms 198 26.430 25.270 13.980
ATOM 1778 H2 dms 198 25.170 24.060 13.450
ATOM 1779 C1 dms 198 28.850 24.350 12.660
ATOM 1780 H3 dms 198 29.510 23.680 12.090
ATOM 1781 H4 dms 198 28.910 25.400 12.360
ATOM 1782 H5 dms 198 29.110 24.260 13.720
ATOM 1783 S dms 199 26.810 13.060 24.600
ATOM 1784 C dms 199 27.030 13.710 22.840
ATOM 1785 H dms 199 28.070 13.970 22.620
ATOM 1786 H1 dms 199 26.730 12.900 22.170
ATOM 1787 H2 dms 199 26.460 14.640 22.740
ATOM 1788 C1 dms 199 27.860 11.650 24.490
ATOM 1789 H3 dms 199 27.320 10.860 23.970
ATOM 1790 H4 dms 199 28.790 11.890 23.980
ATOM 1791 H5 dms 199 28.080 11.220 25.480
ATOM 1792 S dms 200 17.770 2.720 11.950
ATOM 1793 C dms 200 19.510 2.350 11.740
ATOM 1794 H dms 200 19.570 1.290 11.460
ATOM 1795 H1 dms 200 19.920 2.950 10.920
ATOM 1796 H2 dms 200 20.090 2.530 12.640
ATOM 1797 C1 dms 200 18.120 4.440 12.580
ATOM 1798 H3 dms 200 18.870 4.390 13.380
ATOM 1799 H4 dms 200 18.570 4.980 11.750
ATOM 1800 H5 dms 200 17.170 4.830 12.960
ATOM 1801 S dms 201 24.750 3.040 4.600
ATOM 1802 C dms 201 25.220 4.380 3.380
ATOM 1803 H dms 201 26.180 4.810 3.660
ATOM 1804 H1 dms 201 25.160 3.980 2.360
ATOM 1805 H2 dms 201 24.470 5.170 3.490
ATOM 1806 C1 dms 201 25.240 1.560 3.640
ATOM 1807 H3 dms 201 24.760 1.680 2.670
ATOM 1808 H4 dms 201 26.330 1.500 3.530
ATOM 1809 H5 dms 201 24.840 0.670 4.140
ATOM 1810 S dms 202 13.140 16.510 13.610
ATOM 1811 C dms 202 13.220 18.120 14.450
ATOM 1812 H dms 202 12.630 18.870 13.920
ATOM 1813 H1 dms 202 12.890 18.000 15.490
ATOM 1814 H2 dms 202 14.220 18.590 14.490
ATOM 1815 C1 dms 202 13.670 16.920 11.910
ATOM 1816 H3 dms 202 14.590 17.510 11.960
ATOM 1817 H4 dms 202 13.840 16.040 11.290
ATOM 1818 H5 dms 202 12.910 17.530 11.400
ATOM 1819 S dms 203 10.210 26.700 18.440
ATOM 1820 C dms 203 9.370 26.170 16.870
ATOM 1821 H dms 203 8.770 26.950 16.390
ATOM 1822 H1 dms 203 10.190 25.860 16.220
ATOM 1823 H2 dms 203 8.730 25.280 16.970
ATOM 1824 C1 dms 203 10.560 28.360 17.810
ATOM 1825 H3 dms 203 11.300 28.370 17.000
ATOM 1826 H4 dms 203 9.650 28.780 17.390
ATOM 1827 H5 dms 203 10.860 29.050 18.600
ATOM 1828 S dms 204 30.120 19.960 26.610
ATOM 1829 C dms 204 30.921 20.540 28.140
ATOM 1830 H dms 204 31.811 21.120 27.910
ATOM 1831 H1 dms 204 30.170 21.190 28.600
ATOM 1832 H2 dms 204 31.121 19.690 28.810
ATOM 1833 C1 dms 204 29.970 21.600 25.730
ATOM 1834 H3 dms 204 29.620 22.360 26.430
ATOM 1835 H4 dms 204 30.871 22.150 25.450
ATOM 1836 H5 dms 204 29.260 21.490 24.900
ATOM 1837 S dms 205 11.850 22.610 11.360
ATOM 1838 C dms 205 11.860 22.820 9.530
ATOM 1839 H dms 205 12.110 23.810 9.140
ATOM 1840 H1 dms 205 12.530 22.100 9.060
ATOM 1841 H2 dms 205 10.860 22.660 9.110
ATOM 1842 C1 dms 205 10.870 21.090 11.620
ATOM 1843 H3 dms 205 10.640 21.010 12.680
ATOM 1844 H4 dms 205 9.930 21.060 11.060
ATOM 1845 H5 dms 205 11.350 20.190 11.230
ATOM 1846 S dms 206 0.890 25.090 9.350
ATOM 1847 C dms 206 0.360 23.490 8.820
ATOM 1848 H dms 206 0.830 23.280 7.860
ATOM 1849 H1 dms 206 0.620 22.680 9.500
ATOM 1850 H2 dms 206 -0.711 23.610 8.650
ATOM 1851 C1 dms 206 0.640 26.020 7.780
ATOM 1852 H3 dms 206 -0.401 25.950 7.470
ATOM 1853 H4 dms 206 0.730 27.100 7.910
ATOM 1854 H5 dms 206 1.310 25.660 7.000
ATOM 1855 S dms 207 9.740 30.520 27.480
ATOM 1856 C dms 207 10.590 30.911 29.040
ATOM 1857 H dms 207 11.250 30.080 29.280
ATOM 1858 H1 dms 207 11.040 31.881 28.820
ATOM 1859 H2 dms 207 9.750 30.921 29.740
ATOM 1860 C1 dms 207 11.130 30.300 26.370
ATOM 1861 H3 dms 207 11.770 29.590 26.900
ATOM 1862 H4 dms 207 10.830 29.820 25.440
ATOM 1863 H5 dms 207 11.760 31.181 26.300
ATOM 1864 S dms 208 29.850 14.000 27.630
ATOM 1865 C dms 208 30.811 15.110 28.710
ATOM 1866 H dms 208 30.110 15.740 29.260
ATOM 1867 H1 dms 208 31.491 14.540 29.340
ATOM 1868 H2 dms 208 31.501 15.730 28.120
ATOM 1869 C1 dms 208 28.670 15.160 26.810
ATOM 1870 H3 dms 208 28.330 15.880 27.560
ATOM 1871 H4 dms 208 28.940 15.630 25.860
ATOM 1872 H5 dms 208 27.800 14.570 26.500
ATOM 1873 S dms 209 4.130 21.350 27.850
ATOM 1874 C dms 209 5.590 20.380 28.330
ATOM 1875 H dms 209 5.630 19.380 27.910
ATOM 1876 H1 dms 209 6.500 20.870 27.990
ATOM 1877 H2 dms 209 5.550 20.110 29.390
ATOM 1878 C1 dms 209 3.900 20.740 26.120
ATOM 1879 H3 dms 209 4.890 20.800 25.660
ATOM 1880 H4 dms 209 3.610 19.690 26.070
ATOM 1881 H5 dms 209 3.220 21.440 25.620
ATOM 1882 S dms 210 2.060 23.450 21.660
ATOM 1883 C dms 210 2.140 22.360 23.150
ATOM 1884 H dms 210 2.310 22.900 24.090
ATOM 1885 H1 dms 210 1.290 21.680 23.220
ATOM 1886 H2 dms 210 2.980 21.670 23.040
ATOM 1887 C1 dms 210 0.540 24.340 22.020
ATOM 1888 H3 dms 210 -0.111 23.680 22.590
ATOM 1889 H4 dms 210 0.690 25.290 22.540
ATOM 1890 H5 dms 210 0.080 24.670 21.080
ATOM 1891 S dms 211 15.260 12.170 13.150
ATOM 1892 C dms 211 13.940 11.300 14.080
ATOM 1893 H dms 211 13.890 11.730 15.080
ATOM 1894 H1 dms 211 12.960 11.480 13.630
ATOM 1895 H2 dms 211 14.180 10.230 14.030
ATOM 1896 C1 dms 211 14.890 11.720 11.420
ATOM 1897 H3 dms 211 15.590 12.230 10.750
ATOM 1898 H4 dms 211 14.980 10.640 11.270
ATOM 1899 H5 dms 211 13.890 12.080 11.170
ATOM 1900 S dms 212 24.110 23.720 20.300
ATOM 1901 C dms 212 22.380 24.200 20.540
ATOM 1902 H dms 212 22.330 25.270 20.750
ATOM 1903 H1 dms 212 21.820 23.990 19.620
ATOM 1904 H2 dms 212 21.990 23.700 21.430
ATOM 1905 C1 dms 212 23.990 21.870 20.360
ATOM 1906 H3 dms 212 25.000 21.460 20.370
ATOM 1907 H4 dms 212 23.530 21.470 21.260
ATOM 1908 H5 dms 212 23.590 21.500 19.410
ATOM 1909 S dms 213 14.020 2.670 21.180
ATOM 1910 C dms 213 13.240 2.640 19.570
ATOM 1911 H dms 213 12.170 2.820 19.710
ATOM 1912 H1 dms 213 13.650 3.360 18.850
ATOM 1913 H2 dms 213 13.290 1.670 19.070
ATOM 1914 C1 dms 213 12.990 3.890 22.080
ATOM 1915 H3 dms 213 13.260 3.980 23.140
ATOM 1916 H4 dms 213 13.110 4.900 21.700
ATOM 1917 H5 dms 213 11.920 3.640 22.040
ATOM 1918 S dms 214 3.130 2.390 26.760
ATOM 1919 C dms 214 2.850 3.200 25.140
ATOM 1920 H dms 214 3.550 2.860 24.370
ATOM 1921 H1 dms 214 1.860 2.900 24.770
ATOM 1922 H2 dms 214 2.990 4.270 25.280
ATOM 1923 C1 dms 214 2.130 0.810 26.600
ATOM 1924 H3 dms 214 2.520 0.200 25.780
ATOM 1925 H4 dms 214 2.050 0.220 27.510
ATOM 1926 H5 dms 214 1.100 1.060 26.320
ATOM 1927 S dms 215 5.900 25.440 3.750
ATOM 1928 C dms 215 6.530 24.870 2.130
ATOM 1929 H dms 215 6.410 25.710 1.440
ATOM 1930 H1 dms 215 7.570 24.550 2.200
ATOM 1931 H2 dms 215 5.920 24.020 1.790
ATOM 1932 C1 dms 215 4.340 26.190 3.170
ATOM 1933 H3 dms 215 3.790 25.400 2.660
ATOM 1934 H4 dms 215 3.750 26.720 3.920
ATOM 1935 H5 dms 215 4.580 26.860 2.340
ATOM 1936 S dms 216 15.780 21.180 8.100
ATOM 1937 C dms 216 17.230 21.010 6.970
ATOM 1938 H dms 216 17.080 20.070 6.430
ATOM 1939 H1 dms 216 17.210 21.880 6.320
ATOM 1940 H2 dms 216 18.230 20.970 7.400
ATOM 1941 C1 dms 216 15.860 19.600 8.940
ATOM 1942 H3 dms 216 15.000 19.600 9.630
ATOM 1943 H4 dms 216 15.790 18.840 8.150
ATOM 1944 H5 dms 216 16.780 19.590 9.530
ENDMDL
CONECT 1 2 6
CONECT 2 3 4 5
CONECT 6 9 7 8
CONECT 10 11 15
CONECT 11 12 13 14
CONECT 15 17 18 16
CONECT 19 20 24
CONECT 20 21 22 23
CONECT 24 25 26 27
CONECT 28 33 29
CONECT 29 30 31 32
CONECT 33 34 35 36
CONECT 37 42 38
CONECT 38 41 39 40
CONECT 42 45 43 44
CONECT 46 51 47
CONECT 47 49 50 48
CONECT 51 52 53 54
CONECT 55 60 56
CONECT 56 57 58 59
CONECT 60 63 61 62
CONECT 64 65 69
CONECT 65 66 67 68
CONECT 69 72 70 71
CONECT 73 74 78
CONECT 74 75 76 77
CONECT 78 81 79 80
CONECT 82 83 87
CONECT 83 84 85 86
CONECT 87 89 90 88
CONECT 91 92 96
CONECT 92 93 94 95
CONECT 96 97 98 99
CONECT 100 105 101
CONECT 101 102 103 104
CONECT 105 108 106 107
CONECT 109 114 110
CONECT 110 113 111 112
CONECT 114 117 115 116
CONECT 118 123 119
CONECT 119 121 122 120
CONECT 123 124 125 126
CONECT 127 132 128
CONECT 128 129 130 131
CONECT 132 133 134 135
CONECT 136 137 141
CONECT 137 138 139 140
CONECT 141 144 142 143
CONECT 145 146 150
CONECT 146 147 148 149
CONECT 150 153 151 152
CONECT 154 155 159
CONECT 155 156 157 158
CONECT 159 161 162 160
CONECT 163 164 168
CONECT 164 165 166 167
CONECT 168 169 170 171
CONECT 172 177 173
CONECT 173 174 175 176
CONECT 177 178 179 180
CONECT 181 186 182
CONECT 182 185 183 184
CONECT 186 189 187 188
CONECT 190 195 191
CONECT 191 193 194 192
CONECT 195 196 197 198
CONECT 199 204 200
CONECT 200 201 202 203
CONECT 204 207 205 206
CONECT 208 209 213
CONECT 209 210 211 212
CONECT 213 216 214 215
CONECT 217 218 222
CONECT 218 219 220 221
CONECT 222 225 223 224
CONECT 226 227 231
CONECT 227 228 229 230
CONECT 231 233 234 232
CONECT 235 236 240
CONECT 236 237 238 239
CONECT 240 241 242 243
CONECT 244 249 245
CONECT 245 246 247 248
CONECT 249 250 251 252
CONECT 253 258 254
CONECT 254 257 255 256
CONECT 258 261 259 260
CONECT 262 267 263
CONECT 263 265 266 264
CONECT 267 268 269 270
CONECT 271 276 272
CONECT 272 273 274 275
CONECT 276 279 277 278
CONECT 280 281 285
CONECT 281 282 283 284
CONECT 285 288 286 287
CONECT 289 290 294
CONECT 290 291 292 293
CONECT 294 297 295 296
CONECT 298 299 303
CONECT 299 300 301 302
CONECT 303 305 306 304
CONECT 307 308 312
CONECT 308 309 310 311
CONECT 312 313 314 315
CONECT 316 321 317
CONECT 317 318 319 320
CONECT 321 324 322 323
CONECT 325 330 326
CONECT 326 329 327 328
CONECT 330 333 331 332
CONECT 334 339 335
CONECT 335 337 338 336
CONECT 339 340 341 342
CONECT 343 348 344
CONECT 344 345 346 347
CONECT 348 351 349 350
CONECT 352 353 357
CONECT 353 354 355 356
CONECT 357 360 358 359
CONECT 361 362 366
CONECT 362 363 364 365
CONECT 366 369 367 368
CONECT 370 371 375
CONECT 371 372 373 374
CONECT 375 377 378 376
CONECT 379 380 384
CONECT 380 381 382 383
CONECT 384 385 386 387
CONECT 388 393 389
CONECT 389 390 391 392
CONECT 393 394 395 396
CONECT 397 402 398
CONECT 398 401 399 400
CONECT 402 405 403 404
CONECT 406 411 407
CONECT 407 409 410 408
CONECT 411 412 413 414
CONECT 415 420 416
CONECT 416 417 418 419
CONECT 420 421 422 423
CONECT 424 425 429
CONECT 425 426 427 428
CONECT 429 432 430 431
CONECT 433 434 438
CONECT 434 435 436 437
CONECT 438 441 439 440
CONECT 442 443 447
CONECT 443 444 445 446
CONECT 447 449 450 448
CONECT 451 452 456
CONECT 452 453 454 455
CONECT 456 457 458 459
CONECT 460 465 461
CONECT 461 462 463 464
CONECT 465 466 467 468
CONECT 469 474 470
CONECT 470 473 471 472
CONECT 474 477 475 476
CONECT 478 483 479
CONECT 479 481 482 480
CONECT 483 484 485 486
CONECT 487 492 488
CONECT 488 489 490 491
CONECT 492 495 493 494
CONECT 496 497 501
CONECT 497 498 499 500
CONECT 501 504 502 503
CONECT 505 506 510
CONECT 506 507 508 509
CONECT 510 513 511 512
CONECT 514 515 519
CONECT 515 516 517 518
CONECT 519 521 522 520
CONECT 523 524 528
CONECT 524 525 526 527
CONECT 528 529 530 531
CONECT 532 537 533
CONECT 533 534 535 536
CONECT 537 540 538 539
CONECT 541 546 542
CONECT 542 545 543 544
CONECT 546 549 547 548
CONECT 550 555 551
CONECT 551 553 554 552
CONECT 555 556 557 558
CONECT 559 564 560
CONECT 560 561 562 563
CONECT 564 567 565 566
CONECT 568 569 573
CONECT 569 570 571 572
CONECT 573 576 574 575
CONECT 577 578 582
CONECT 578 579 580 581
CONECT 582 585 583 584
CONECT 586 587 591
CONECT 587 588 589 590
CONECT 591 593 594 592
CONECT 595 596 600
CONECT 596 597 598 599
CONECT 600 601 602 603
CONECT 604 609 605
CONECT 605 606 607 608
CONECT 609 612 610 611
CONECT 613 618 614
CONECT 614 617 615 616
CONECT 618 621 619 620
CONECT 622 627 623
CONECT 623 625 626 624
CONECT 627 628 629 630
CONECT 631 636 632
CONECT 632 633 634 635
CONECT 636 639 637 638
CONECT 640 641 645
CONECT 641 642 643 644
CONECT 645 648 646 647
CONECT 649 650 654
CONECT 650 651 652 653
CONECT 654 657 655 656
CONECT 658 659 663
CONECT 659 660 661 662
CONECT 663 665 666 664
CONECT 667 668 672
CONECT 668 669 670 671
CONECT 672 673 674 675
CONECT 676 681 677
CONECT 677 678 679 680
CONECT 681 682 683 684
CONECT 685 690 686
CONECT 686 689 687 688
CONECT 690 693 691 692
CONECT 694 699 695
CONECT 695 697 698 696
CONECT 699 700 701 702
CONECT 703 708 704
CONECT 704 705 706 707
CONECT 708 711 709 710
CONECT 712 713 717
CONECT 713 714 715 716
CONECT 717 720 718 719
CONECT 721 722 726
CONECT 722 723 724 725
CONECT 726 729 727 728
CONECT 730 731 735
CONECT 731 732 733 734
CONECT 735 737 738 736
CONECT 739 740 744
CONECT 740 741 742 743
CONECT 744 745 746 747
CONECT 748 753 749
CONECT 749 750 751 752
CONECT 753 754 755 756
CONECT 757 762 758
CONECT 758 761 759 760
CONECT 762 765 763 764
CONECT 766 771 767
CONECT 767 769 770 768
CONECT 771 772 773 774
CONECT 775 780 776
CONECT 776 777 778 779
CONECT 780 783 781 782
CONECT 784 785 789
CONECT 785 786 787 788
CONECT 789 792 790 791
CONECT 793 794 798
CONECT 794 795 796 797
CONECT 798 801 799 800
CONECT 802 803 807
CONECT 803 804 805 806
CONECT 807 809 810 808
CONECT 811 812 816
CONECT 812 813 814 815
CONECT 816 817 818 819
CONECT 820 825 821
CONECT 821 822 823 824
CONECT 825 826 827 828
CONECT 829 834 830
CONECT 830 833 831 832
CONECT 834 837 835 836
CONECT 838 843 839
CONECT 839 841 842 840
CONECT 843 844 845 846
CONECT 847 852 848
CONECT 848 849 850 851
CONECT 852 855 853 854
CONECT 856 857 861
CONECT 857 858 859 860
CONECT 861 864 862 863
CONECT 865 866 870
CONECT 866 867 868 869
CONECT 870 873 871 872
CONECT 874 875 879
CONECT 875 876 877 878
CONECT 879 881 882 880
CONECT 883 884 888
CONECT 884 885 886 887
CONECT 888 889 890 891
CONECT 892 897 893
CONECT 893 894 895 896
CONECT 897 898 899 900
CONECT 901 906 902
CONECT 902 905 903 904
CONECT 906 909 907 908
CONECT 910 915 911
CONECT 911 913 914 912
CONECT 915 916 917 918
CONECT 919 924 920
CONECT 920 921 922 923
CONECT 924 925 926 927
CONECT 928 929 933
CONECT 929 930 931 932
CONECT 933 936 934 935
CONECT 937 938 942
CONECT 938 939 940 941
CONECT 942 945 943 944
CONECT 946 947 951
CONECT 947 948 949 950
CONECT 951 953 954 952
CONECT 955 956 960
CONECT 956 957 958 959
CONECT 960 961 962 963
CONECT 964 969 965
CONECT 965 966 967 968
CONECT 969 970 971 972
CONECT 973 978 974
CONECT 974 977 975 976
CONECT 978 981 979 980
CONECT 982 987 983
CONECT 983 985 986 984
CONECT 987 988 989 990
CONECT 991 996 992
CONECT 992 993 994 995
CONECT 996 999 997 998
CONECT 1000 1001 1005
CONECT 1001 1002 1003 1004
CONECT 1005 1008 1006 1007
CONECT 1009 1010 1014
CONECT 1010 1011 1012 1013
CONECT 1014 1017 1015 1016
CONECT 1018 1019 1023
CONECT 1019 1020 1021 1022
CONECT 1023 1025 1026 1024
CONECT 1027 1028 1032
CONECT 1028 1029 1030 1031
CONECT 1032 1033 1034 1035
CONECT 1036 1041 1037
CONECT 1037 1038 1039 1040
CONECT 1041 1044 1042 1043
CONECT 1045 1050 1046
CONECT 1046 1049 1047 1048
CONECT 1050 1053 1051 1052
CONECT 1054 1059 1055
CONECT 1055 1057 1058 1056
CONECT 1059 1060 1061 1062
CONECT 1063 1068 1064
CONECT 1064 1065 1066 1067
CONECT 1068 1071 1069 1070
CONECT 1072 1073 1077
CONECT 1073 1074 1075 1076
CONECT 1077 1080 1078 1079
CONECT 1081 1082 1086
CONECT 1082 1083 1084 1085
CONECT 1086 1089 1087 1088
CONECT 1090 1091 1095
CONECT 1091 1092 1093 1094
CONECT 1095 1097 1098 1096
CONECT 1099 1100 1104
CONECT 1100 1101 1102 1103
CONECT 1104 1105 1106 1107
CONECT 1108 1113 1109
CONECT 1109 1110 1111 1112
CONECT 1113 1114 1115 1116
CONECT 1117 1122 1118
CONECT 1118 1121 1119 1120
CONECT 1122 1125 1123 1124
CONECT 1126 1131 1127
CONECT 1127 1129 1130 1128
CONECT 1131 1132 1133 1134
CONECT 1135 1140 1136
CONECT 1136 1137 1138 1139
CONECT 1140 1143 1141 1142
CONECT 1144 1145 1149
CONECT 1145 1146 1147 1148
CONECT 1149 1152 1150 1151
CONECT 1153 1154 1158
CONECT 1154 1155 1156 1157
CONECT 1158 1161 1159 1160
CONECT 1162 1163 1167
CONECT 1163 1164 1165 1166
CONECT 1167 1169 1170 1168
CONECT 1171 1172 1176
CONECT 1172 1173 1174 1175
CONECT 1176 1177 1178 1179
CONECT 1180 1185 1181
CONECT 1181 1182 1183 1184
CONECT 1185 1186 1187 1188
CONECT 1189 1194 1190
CONECT 1190 1193 1191 1192
CONECT 1194 1197 1195 1196
CONECT 1198 1203 1199
CONECT 1199 1201 1202 1200
CONECT 1203 1204 1205 1206
CONECT 1207 1212 1208
CONECT 1208 1209 1210 1211
CONECT 1212 1213 1214 1215
CONECT 1216 1217 1221
CONECT 1217 1218 1219 1220
CONECT 1221 1224 1222 1223
CONECT 1225 1226 1230
CONECT 1226 1227 1228 1229
CONECT 1230 1233 1231 1232
CONECT 1234 1235 1239
CONECT 1235 1236 1237 1238
CONECT 1239 1241 1242 1240
CONECT 1243 1244 1248
CONECT 1244 1245 1246 1247
CONECT 1248 1249 1250 1251
CONECT 1252 1257 1253
CONECT 1253 1254 1255 1256
CONECT 1257 1258 1259 1260
CONECT 1261 1266 1262
CONECT 1262 1265 1263 1264
CONECT 1266 1269 1267 1268
CONECT 1270 1275 1271
CONECT 1271 1273 1274 1272
CONECT 1275 1276 1277 1278
CONECT 1279 1284 1280
CONECT 1280 1281 1282 1283
CONECT 1284 1287 1285 1286
CONECT 1288 1289 1293
CONECT 1289 1290 1291 1292
CONECT 1293 1296 1294 1295
CONECT 1297 1298 1302
CONECT 1298 1299 1300 1301
CONECT 1302 1305 1303 1304
CONECT 1306 1307 1311
CONECT 1307 1308 1309 1310
CONECT 1311 1313 1314 1312
CONECT 1315 1316 1320
CONECT 1316 1317 1318 1319
CONECT 1320 1321 1322 1323
CONECT 1324 1329 1325
CONECT 1325 1326 1327 1328
CONECT 1329 1330 1331 1332
CONECT 1333 1338 1334
CONECT 1334 1337 1335 1336
CONECT 1338 1341 1339 1340
CONECT 1342 1347 1343
CONECT 1343 1345 1346 1344
CONECT 1347 1348 1349 1350
CONECT 1351 1356 1352
CONECT 1352 1353 1354 1355
CONECT 1356 1357 1358 1359
CONECT 1360 1361 1365
CONECT 1361 1362 1363 1364
CONECT 1365 1368 1366 1367
CONECT 1369 1370 1374
CONECT 1370 1371 1372 1373
CONECT 1374 1377 1375 1376
CONECT 1378 1379 1383
CONECT 1379 1380 1381 1382
CONECT 1383 1385 1386 1384
CONECT 1387 1388 1392
CONECT 1388 1389 1390 1391
CONECT 1392 1393 1394 1395
CONECT 1396 1401 1397
CONECT 1397 1398 1399 1400
CONECT 1401 1402 1403 1404
CONECT 1405 1410 1406
CONECT 1406 1409 1407 1408
CONECT 1410 1413 1411 1412
CONECT 1414 1419 1415
CONECT 1415 1417 1418 1416
CONECT 1419 1420 1421 1422
CONECT 1423 1428 1424
CONECT 1424 1425 1426 1427
CONECT 1428 1431 1429 1430
CONECT 1432 1433 1437
CONECT 1433 1434 1435 1436
CONECT 1437 1440 1438 1439
CONECT 1441 1442 1446
CONECT 1442 1443 1444 1445
CONECT 1446 1449 1447 1448
CONECT 1450 1451 1455
CONECT 1451 1452 1453 1454
CONECT 1455 1457 1458 1456
CONECT 1459 1460 1464
CONECT 1460 1461 1462 1463
CONECT 1464 1465 1466 1467
CONECT 1468 1473 1469
CONECT 1469 1470 1471 1472
CONECT 1473 1474 1475 1476
CONECT 1477 1482 1478
CONECT 1478 1481 1479 1480
CONECT 1482 1485 1483 1484
CONECT 1486 1491 1487
CONECT 1487 1489 1490 1488
CONECT 1491 1492 1493 1494
CONECT 1495 1500 1496
CONECT 1496 1497 1498 1499
CONECT 1500 1503 1501 1502
CONECT 1504 1505 1509
CONECT 1505 1506 1507 1508
CONECT 1509 1512 1510 1511
CONECT 1513 1514 1518
CONECT 1514 1515 1516 1517
CONECT 1518 1521 1519 1520
CONECT 1522 1523 1527
CONECT 1523 1524 1525 1526
CONECT 1527 1529 1530 1528
CONECT 1531 1532 1536
CONECT 1532 1533 1534 1535
CONECT 1536 1537 1538 1539
CONECT 1540 1545 1541
CONECT 1541 1542 1543 1544
CONECT 1545 1548 1546 1547
CONECT 1549 1554 1550
CONECT 1550 1553 1551 1552
CONECT 1554 1557 1555 1556
CONECT 1558 1563 1559
CONECT 1559 1561 1562 1560
CONECT 1563 1564 1565 1566
CONECT 1567 1572 1568
CONECT 1568 1569 1570 1571
CONECT 1572 1575 1573 1574
CONECT 1576 1577 1581
CONECT 1577 1578 1579 1580
CONECT 1581 1584 1582 1583
CONECT 1585 1586 1590
CONECT 1586 1587 1588 1589
CONECT 1590 1593 1591 1592
CONECT 1594 1595 1599
CONECT 1595 1596 1597 1598
CONECT 1599 1601 1602 1600
CONECT 1603 1604 1608
CONECT 1604 1605 1606 1607
CONECT 1608 1609 1610 1611
CONECT 1612 1617 1613
CONECT 1613 1614 1615 1616
CONECT 1617 1618 1619 1620
CONECT 1621 1626 1622
CONECT 1622 1625 1623 1624
CONECT 1626 1629 1627 1628
CONECT 1630 1635 1631
CONECT 1631 1633 1634 1632
CONECT 1635 1636 1637 1638
CONECT 1639 1644 1640
CONECT 1640 1641 1642 1643
CONECT 1644 1647 1645 1646
CONECT 1648 1649 1653
CONECT 1649 1650 1651 1652
CONECT 1653 1656 1654 1655
CONECT 1657 1658 1662
CONECT 1658 1659 1660 1661
CONECT 1662 1665 1663 1664
CONECT 1666 1667 1671
CONECT 1667 1668 1669 1670
CONECT 1671 1673 1674 1672
CONECT 1675 1676 1680
CONECT 1676 1677 1678 1679
CONECT 1680 1681 1682 1683
CONECT 1684 1689 1685
CONECT 1685 1686 1687 1688
CONECT 1689 1690 1691 1692
CONECT 1693 1698 1694
CONECT 1694 1697 1695 1696
CONECT 1698 1701 1699 1700
CONECT 1702 1707 1703
CONECT 1703 1705 1706 1704
CONECT 1707 1708 1709 1710
CONECT 1711 1716 1712
CONECT 1712 1713 1714 1715
CONECT 1716 1717 1718 1719
CONECT 1720 1721 1725
CONECT 1721 1722 1723 1724
CONECT 1725 1728 1726 1727
CONECT 1729 1730 1734
CONECT 1730 1731 1732 1733
CONECT 1734 1737 1735 1736
CONECT 1738 1739 1743
CONECT 1739 1740 1741 1742
CONECT 1743 1745 1746 1744
CONECT 1747 1748 1752
CONECT 1748 1749 1750 1751
CONECT 1752 1753 1754 1755
CONECT 1756 1761 1757
CONECT 1757 1758 1759 1760
CONECT 1761 1762 1763 1764
CONECT 1765 1770 1766
CONECT 1766 1769 1767 1768
CONECT 1770 1773 1771 1772
CONECT 1774 1779 1775
CONECT 1775 1777 1778 1776
CONECT 1779 1780 1781 1782
CONECT 1783 1788 1784
CONECT 1784 1785 1786 1787
CONECT 1788 1791 1789 1790
CONECT 1792 1793 1797
CONECT 1793 1794 1795 1796
CONECT 1797 1800 1798 1799
CONECT 1801 1802 1806
CONECT 1802 1803 1804 1805
CONECT 1806 1809 1807 1808
CONECT 1810 1811 1815
CONECT 1811 1812 1813 1814
CONECT 1815 1817 1818 1816
CONECT 1819 1820 1824
CONECT 1820 1821 1822 1823
CONECT 1824 1825 1826 1827
CONECT 1828 1833 1829
CONECT 1829 1830 1831 1832
CONECT 1833 1834 1835 1836
CONECT 1837 1842 1838
CONECT 1838 1841 1839 1840
CONECT 1842 1845 1843 1844
CONECT 1846 1851 1847
CONECT 1847 1849 1850 1848
CONECT 1851 1852 1853 1854
CONECT 1855 1860 1856
CONECT 1856 1857 1858 1859
CONECT 1860 1861 1862 1863
CONECT 1864 1865 1869
CONECT 1865 1866 1867 1868
CONECT 1869 1872 1870 1871
CONECT 1873 1874 1878
CONECT 1874 1875 1876 1877
CONECT 1878 1881 1879 1880
CONECT 1882 1883 1887
CONECT 1883 1884 1885 1886
CONECT 1887 1889 1890 1888
CONECT 1891 1892 1896
CONECT 1892 1893 1894 1895
CONECT 1896 1897 1898 1899
CONECT 1900 1905 1901
CONECT 1901 1902 1903 1904
CONECT 1905 1906 1907 1908
CONECT 1909 1914 1910
CONECT 1910 1913 1911 1912
CONECT 1914 1917 1915 1916
CONECT 1918 1923 1919
CONECT 1919 1921 1922 1920
CONECT 1923 1924 1925 1926
CONECT 1927 1932 1928
CONECT 1928 1929 1930 1931
CONECT 1932 1935 1933 1934
CONECT 1936 1937 1941
CONECT 1937 1938 1939 1940
CONECT 1941 1944 1942 1943
<ForceField>
<AtomTypes>
<Type name="dms-ss-1" class="ss" element="S" mass="32.060000"/>
<Type name="dms-c3-2" class="c3" element="C" mass="12.010000"/>
<Type name="dms-h1-3" class="h1" element="H" mass="1.008000"/>
<Type name="dms-h1-4" class="h1" element="H" mass="1.008000"/>
<Type name="dms-h1-5" class="h1" element="H" mass="1.008000"/>
<Type name="dms-c3-6" class="c3" element="C" mass="12.010000"/>
<Type name="dms-h1-7" class="h1" element="H" mass="1.008000"/>
<Type name="dms-h1-8" class="h1" element="H" mass="1.008000"/>
<Type name="dms-h1-9" class="h1" element="H" mass="1.008000"/>
</AtomTypes>
<Residues>
<Residue name="dms">
<Atom name="S" type="dms-ss-1"/>
<Atom name="C" type="dms-c3-2"/>
<Atom name="H" type="dms-h1-3"/>
<Atom name="H1" type="dms-h1-4"/>
<Atom name="H2" type="dms-h1-5"/>
<Atom name="C1" type="dms-c3-6"/>
<Atom name="H3" type="dms-h1-7"/>
<Atom name="H4" type="dms-h1-8"/>
<Atom name="H5" type="dms-h1-9"/>
<Bond from="0" to="1"/>
<Bond from="0" to="5"/>
<Bond from="1" to="2"/>
<Bond from="1" to="3"/>
<Bond from="1" to="4"/>
<Bond from="5" to="6"/>
<Bond from="5" to="7"/>
<Bond from="5" to="8"/>
</Residue>
</Residues>
<HarmonicBondForce>
<Bond class1="c3" class2="ss" length="0.18210" k="188949.44000" parameterize="length, k"/>
<Bond class1="c3" class2="h1" length="0.10930" k="281081.12000" parameterize="length, k"/>
</HarmonicBondForce>
<HarmonicAngleForce>
<Angle class1="h1" class2="c3" class3="ss" angle="1.9083430041" k="449.02688" parameterize="angle, k"/>
<Angle class1="c3" class2="ss" class3="c3" angle="1.7439329886" k="317.48192" parameterize="angle, k"/>
<Angle class1="h1" class2="c3" class3="h1" angle="1.9120081956" k="327.85824" parameterize="angle, k"/>
</HarmonicAngleForce>
<PeriodicTorsionForce>
<Proper class1="h1" class2="c3" class3="ss" class4="c3" periodicity1="3" phase1="0.0000000000" k1="1.3932720000" parameterize="k1"/>
</PeriodicTorsionForce>
<NonbondedForce coulomb14scale="0.833333" lj14scale="0.5">
<Atom type="dms-ss-1" charge="-0.2802000000" sigma="0.3563594873" epsilon="1.0460000000" parameterize="charge,sigma,epsilon"/>
<Atom type="dms-c3-2" charge="-0.0450000000" sigma="0.3399669508" epsilon="0.4577296000" parameterize="charge,sigma,epsilon"/>
<Atom type="dms-h1-3" charge="0.0617000000" sigma="0.2471353044" epsilon="0.0656888000" parameterize="charge,sigma,epsilon"/>
<Atom type="dms-h1-4" charge="0.0617000000" sigma="0.2471353044" epsilon="0.0656888000" parameter_eval="charge=PARM['Atom/charge/dms-h1-3'],sigma=PARM['Atom/sigma/dms-h1-3'],epsilon=PARM['Atom/epsilon/dms-h1-3']"/>
<Atom type="dms-h1-5" charge="0.0617000000" sigma="0.2471353044" epsilon="0.0656888000" parameter_eval="charge=PARM['Atom/charge/dms-h1-3'],sigma=PARM['Atom/sigma/dms-h1-3'],epsilon=PARM['Atom/epsilon/dms-h1-3']"/>
<Atom type="dms-c3-6" charge="-0.0450000000" sigma="0.3399669508" epsilon="0.4577296000" parameter_eval="charge=PARM['Atom/charge/dms-c3-2'],sigma=PARM['Atom/sigma/dms-c3-2'],epsilon=PARM['Atom/epsilon/dms-c3-2']"/>
<Atom type="dms-h1-7" charge="0.0617000000" sigma="0.2471353044" epsilon="0.0656888000" parameter_eval="charge=PARM['Atom/charge/dms-h1-3'],sigma=PARM['Atom/sigma/dms-h1-3'],epsilon=PARM['Atom/epsilon/dms-h1-3']"/>
<Atom type="dms-h1-8" charge="0.0617000000" sigma="0.2471353044" epsilon="0.0656888000" parameter_eval="charge=PARM['Atom/charge/dms-h1-3'],sigma=PARM['Atom/sigma/dms-h1-3'],epsilon=PARM['Atom/epsilon/dms-h1-3']"/>
<Atom type="dms-h1-9" charge="0.0617000000" sigma="0.2471353044" epsilon="0.0656888000" parameter_eval="charge=PARM['Atom/charge/dms-h1-3'],sigma=PARM['Atom/sigma/dms-h1-3'],epsilon=PARM['Atom/epsilon/dms-h1-3']"/>
</NonbondedForce>
</ForceField>
#===========================================#
#| Input file for OpenMM MD script |#
#| Lines beginning with '#' are comments |#
#===========================================#
#===========================================#
#| Active options at default values: |#
#===========================================#
integrator verlet # (str) Molecular dynamics integrator. Allowed values are ['verlet', 'langevin']
minimize False # (bool) Specify whether to minimize the energy before running dynamics.
timestep 1.0 # (float) Time step in femtoseconds.
equilibrate 0 # (int) Number of steps reserved for equilibration.
production 1000 # (int) Number of steps in production run.
report_interval 100 # (int) Number of steps between every report.
temperature 290.0 # (float) Simulation temperature for Langevin integrator or Andersen thermostat.
gentemp 0.0 # (float) Specify temperature for generating velocities.
polarization_direct False # (bool) Use direct polarization in AMOEBA force field.
polar_eps 1e-05 # (float) Polarizable dipole convergence parameter in AMOEBA force field.
nonbonded_cutoff 0.9 # (float) Nonbonded cutoff distance in nanometers.
vdw_cutoff 0.9 # (float) Separate vdW cutoff distance in nanometers for AMOEBA simulation.
verbose True # (bool) Print lots of information to the terminal.
platform CUDA # (str) The simulation platform. Allowed values are [None, 'Reference', 'CUDA', 'OpenCL']
energy_decomposition False # (bool) Perform a single energy decomposition and then exit.
initial_report False # (bool) Perform one Report prior to running any dynamics.
rigidwater False # (bool) Make water molecules rigid.
serialize None # (str) Provide a file name for writing the serialized System object.
pmegrid None # (list) Set the PME grid for AMOEBA simulations.
tinkerpath None # (list) Specify a path for TINKER executables for running AMOEBA validation.
pressure 1.0 # (float) Simulation pressure; set a positive number to activate.
#===========================================#
#| Deactivated or conflicting options: |#
#===========================================#
collision_rate 0.1 # (float) Collision frequency for Langevin integrator or Andersen thermostat in ps^-1.
# Reason : We're not running a constant temperature simulation
nbarostat 25 # (int) Step interval for MC barostat volume adjustments.
# Reason : We're not running a constant pressure simulation
cuda_precision single # (str) The precision of the CUDA platform. Allowed values are ['single', 'mixed', 'double']
# Reason : The simulation platform needs to be set to CUDA
device 0 # (int) Specify the device (GPU) number.
# Reason : The simulation platform needs to be set to CUDA or OpenCL
#===========================================#
#| End of Input File |#
#===========================================#
#!/usr/bin/env python
"""
@package run
Run a MD simulation in OpenMM.
Copyright And License
@author Lee-Ping Wang <leeping@stanford.edu>
All code in this file is released under the GNU General Public License.
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but without any
warranty; without even the implied warranty of merchantability or fitness for a
particular purpose. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with
this program. If not, see <http://www.gnu.org/licenses/>.
"""
#==================#
#| Global Imports |#
#==================#
import time
t0 = time.time()
from ast import literal_eval as leval
import argparse
from xml.etree import ElementTree as ET
import os
import sys
import pickle
import numpy as np
from re import sub
from collections import namedtuple, OrderedDict
from simtk.unit import *
from simtk.openmm import *
from simtk.openmm.app import *
import warnings
# Suppress warnings from PDB reading.
warnings.simplefilter("ignore")
cmd = ' '.join(sys.argv)
# class Option(object):
# def __init__(self):
# self.user_set = False
# self.deperr = "This option depends on another option which was not set"
# self.csherr = "This option clashed with another option"
# @abc.abstractmethod
# def default(self,cls):
# raise NotImplementedError('Every option must have a method to get the default value')
# def __getattr__(self,cls):
# if hasattr(self,value):
# return self.value
# else:
# return self.default(cls)
# def has_dependencies(self,cls):
# return True
# class Temperature(Option):
# def __init__(self):
# super(Temperature,self).__init__()
# self.deperr = "Temperature can only be set if the integrator is Langevin or the thermostat is Andersen."
# def default(self,cls):
# return -1
# def has_dependencies(self,cls):
# if cls.integrator == "langevin" or cls.thermostat == "andersen":
# return True
# else:
# return False
print
print " #=========================================#"
print " #| OpenMM general purpose simulation |#"
print " #| Use the -h argument for detailed help |#"
print " #=========================================#"
print
def printcool(text,sym="#",bold=False,color=2,ansi=None,bottom='-',minwidth=50):
"""Cool-looking printout for slick formatting of output.
@param[in] text The string that the printout is based upon. This function
will print out the string, ANSI-colored and enclosed in the symbol
for example:\n
<tt> ################# </tt>\n
<tt> ### I am cool ### </tt>\n
<tt> ################# </tt>
@param[in] sym The surrounding symbol\n
@param[in] bold Whether to use bold print
@param[in] color The ANSI color:\n
1 red\n
2 green\n
3 yellow\n
4 blue\n
5 magenta\n
6 cyan\n
7 white
@param[in] bottom The symbol for the bottom bar
@param[in] minwidth The minimum width for the box, if the text is very short
then we insert the appropriate number of padding spaces
@return bar The bottom bar is returned for the user to print later, e.g. to mark off a 'section'
"""
def newlen(l):
return len(sub("\x1b\[[0-9;]*m","",line))
text = text.split('\n')
width = max(minwidth,max([newlen(line) for line in text]))
bar = ''.join([sym for i in range(width + 8)])
print '\n'+bar
for line in text:
padleft = ' ' * ((width - newlen(line)) / 2)
padright = ' '* (width - newlen(line) - len(padleft))
if ansi != None:
ansi = str(ansi)
print "%s| \x1b[%sm%s" % (sym, ansi, padleft),line,"%s\x1b[0m |%s" % (padright, sym)
elif color != None:
print "%s| \x1b[%s9%im%s" % (sym, bold and "1;" or "", color, padleft),line,"%s\x1b[0m |%s" % (padright, sym)
else:
warn_press_key("Inappropriate use of printcool")
print bar
return sub(sym,bottom,bar)
def printcool_dictionary(Dict,title="General options",bold=False,color=2,keywidth=25,topwidth=50):
"""See documentation for printcool; this is a nice way to print out keys/values in a dictionary.
The keys in the dictionary are sorted before printing out.
@param[in] dict The dictionary to be printed
@param[in] title The title of the printout
"""
if Dict == None: return
bar = printcool(title,bold=bold,color=color,minwidth=topwidth)
def magic_string(str):
# This cryptic command returns a string with the number of characters specified as a variable. :P
# Useful for printing nice-looking dictionaries, i guess.
#print "\'%%-%is\' %% '%s'" % (keywidth,str.replace("'","\\'").replace('"','\\"'))
return eval("\'%%-%is\' %% '%s'" % (keywidth,str.replace("'","\\'").replace('"','\\"')))
if isinstance(Dict, OrderedDict):
print '\n'.join(["%s %s " % (magic_string(str(key)),str(Dict[key])) for key in Dict if Dict[key] != None])
else:
print '\n'.join(["%s %s " % (magic_string(str(key)),str(Dict[key])) for key in sorted([i for i in Dict]) if Dict[key] != None])
print bar
def EnergyDecomposition(Sim, print_thresh=1e-6, verbose=True):
# Before using EnergyDecomposition, make sure each Force is set to a different group.
# The number of forces (interaction types)
nfrc = Sim.system.getNumForces()
# Loop through the interaction types and set the force group for each one.
EnergyTerms = OrderedDict()
TotalEnergy = Sim.context.getState(getEnergy=True).getPotentialEnergy() / kilojoules_per_mole
EnergyTerms['Potential Energy'] = TotalEnergy
if verbose:
print "%-35s % 16.8f" % ('Potential Energy', TotalEnergy)
for i in range(nfrc):
print "Doing energy decomposition for Force named", Sim.system.getForce(i).__class__.__name__
Energy = Sim.context.getState(getEnergy=True,groups=2**i).getPotentialEnergy() / kilojoules_per_mole
if abs(Energy) > print_thresh:
EnergyTerms[Sim.system.getForce(i).__class__.__name__] = Energy
if verbose:
print "%-35s" % Sim.system.getForce(i).__class__.__name__,
print "% 16.8f" % Energy
return EnergyTerms
class SimulationOptions(object):
""" Class for parsing the input file. """
def set_active(self,key,default,typ,doc,allowed=None,depend=True,clash=False,msg=None):
""" Set one option. The arguments are:
key : The name of the option.
default : The default value.
typ : The type of the value.
doc : The documentation string.
allowed : An optional list of allowed values.
depend : A condition that must be True for the option to be activated.
clash : A condition that must be False for the option to be activated.
msg : A warning that is printed out if the option is not activated.
"""
doc = sub("\.$","",doc.strip())+"."
self.Documentation[key] = "%-8s " % ("(" + sub("'>","",sub("<type '","",str(typ)))+")") + doc
if key in self.UserOptions:
val = self.UserOptions[key]
# if val != None and clash:
# raise Exception("Tried to set option \x1b[1;91m%s\x1b[0m to \x1b[94m%s\x1b[0m but there was a clash %s" % (key, str(val), "; \x1b[92m%s\x1b[0m" % cmsg if cmsg != None else ""))
else:
val = default
if type(allowed) is list:
self.Documentation[key] += " Allowed values are %s" % str(allowed)
if val not in allowed:
raise Exception("Tried to set option \x1b[1;91m%s\x1b[0m to \x1b[94m%s\x1b[0m but it's not allowed (choose from \x1b[92m%s\x1b[0m)" % (key, str(val), str(allowed)))
if typ is bool and type(val) == int:
val = bool(val)
if val != None and type(val) is not typ:
raise Exception("Tried to set option \x1b[1;91m%s\x1b[0m to \x1b[94m%s\x1b[0m but it's not the right type (%s required)" % (key, str(val), str(typ)))
if depend and not clash:
if key in self.InactiveOptions:
del self.InactiveOptions[key]
self.ActiveOptions[key] = val
else:
if key in self.ActiveOptions:
del self.ActiveOptions[key]
self.InactiveOptions[key] = val
if msg != None:
self.InactiveWarnings[key] = msg
def deactivate(self,key,msg=None):
""" Deactivate one option. The arguments are:
key : The name of the option.
msg : A warning that is printed out if the option is not activated.
"""
if key in self.ActiveOptions:
self.InactiveOptions[key] = self.ActiveOptions[key]
del self.ActiveOptions[key]
if msg != None:
self.InactiveWarnings[key] = msg
def __getattr__(self,key):
if key in self.ActiveOptions:
return self.ActiveOptions[key]
else:
return getattr(super(SimulationOptions,self),key)
def record(self):
out = []
out.append("Your command was: %s" % cmd)
out.append("To reproduce / customize your simulation, paste the following text into an input file")
out.append("and rerun the script with the -I argument (e.g. '-I openmm.in')")
out.append("")
out.append("#===========================================#")
out.append("#| Input file for OpenMM MD script |#")
out.append("#| Lines beginning with '#' are comments |#")
out.append("#===========================================#")
UserSupplied = []
for key in self.UserOptions:
if key in self.ActiveOptions:
UserSupplied.append("%-22s %20s # %s" % (key, str(self.ActiveOptions[key]), self.Documentation[key]))
if len(UserSupplied) > 0:
out.append("")
out.append("#===========================================#")
out.append("#| User-supplied options: |#")
out.append("#===========================================#")
out += UserSupplied
ActiveDefault = []
for key in self.ActiveOptions:
if key not in self.UserOptions:
ActiveDefault.append("%-22s %20s # %s" % (key, str(self.ActiveOptions[key]), self.Documentation[key]))
if len(ActiveDefault) > 0:
out.append("")
out.append("#===========================================#")
out.append("#| Active options at default values: |#")
out.append("#===========================================#")
out += ActiveDefault
Deactivated = []
for key in self.InactiveOptions:
Deactivated.append("%-22s %20s # %s" % (key, str(self.InactiveOptions[key]), self.Documentation[key]))
Deactivated.append("%-22s %20s # Reason : %s" % ("","",self.InactiveWarnings[key]))
if len(Deactivated) > 0:
out.append("")
out.append("#===========================================#")
out.append("#| Deactivated or conflicting options: |#")
out.append("#===========================================#")
out += Deactivated
Unrecognized = []
for key in self.UserOptions:
if key not in self.ActiveOptions and key not in self.InactiveOptions:
Unrecognized.append("%-22s %20s" % (key, self.UserOptions[key]))
if len(Unrecognized) > 0:
out.append("")
out.append("#===========================================#")
out.append("#| Unrecognized options: |#")
out.append("#===========================================#")
out += Unrecognized
out.append("")
out.append("#===========================================#")
out.append("#| End of Input File |#")
out.append("#===========================================#")
return out
def __init__(self, input_file):
super(SimulationOptions,self).__init__()
self.Documentation = OrderedDict()
self.UserOptions = OrderedDict()
self.ActiveOptions = OrderedDict()
self.InactiveOptions = OrderedDict()
self.InactiveWarnings = OrderedDict()
# First build a dictionary of user supplied options.
if input_file != None:
for line in open(input_file).readlines():
line = sub('#.*$','',line.strip())
s = line.split()
if len(s) > 0:
# Options are case insensitive
key = s[0].lower()
try:
val = leval(line.replace(s[0],'',1).strip())
except:
val = str(line.replace(s[0],'',1).strip())
self.UserOptions[key] = val
# Now go through the logic of determining which options are activated.
self.set_active('integrator','verlet',str,"Molecular dynamics integrator",allowed=["verlet","langevin"])
self.set_active('minimize',False,bool,"Specify whether to minimize the energy before running dynamics.")
self.set_active('timestep',1.0,float,"Time step in femtoseconds.")
self.set_active('equilibrate',0,int,"Number of steps reserved for equilibration.")
self.set_active('production',1000,int,"Number of steps in production run.")
self.set_active('report_interval',100,int,"Number of steps between every report.")
self.set_active('temperature',0.0,float,"Simulation temperature for Langevin integrator or Andersen thermostat.")
if self.temperature <= 0.0 and self.integrator == "langevin":
raise Exception("You need to set a finite temperature if using the Langevin integrator!")
self.set_active('gentemp',self.temperature,float,"Specify temperature for generating velocities")
self.set_active('collision_rate',0.1,float,"Collision frequency for Langevin integrator or Andersen thermostat in ps^-1.",
depend=(self.integrator == "langevin" or self.temperature != 0.0),
msg="We're not running a constant temperature simulation")
self.set_active('polarization_direct',False,bool,"Use direct polarization in AMOEBA force field")
self.set_active('polar_eps',1e-5,float,"Polarizable dipole convergence parameter in AMOEBA force field.",
depend=(not self.polarization_direct),
msg="Polarization_direct is turned on")
self.set_active('pressure',0.0,float,"Simulation pressure; set a positive number to activate.",
clash=(self.temperature <= 0.0),
msg="For constant pressure simulations, the temperature must be finite")
self.set_active('nbarostat',25,int,"Step interval for MC barostat volume adjustments.",
depend=("pressure" in self.ActiveOptions and self.pressure > 0.0), msg = "We're not running a constant pressure simulation")
self.set_active('nonbonded_cutoff',0.9,float,"Nonbonded cutoff distance in nanometers.")
self.set_active('vdw_cutoff',0.9,float,"Separate vdW cutoff distance in nanometers for AMOEBA simulation.")
self.set_active('verbose',True,bool,"Print lots of information to the terminal.")
self.set_active('platform',None,str,"The simulation platform.", allowed=[None, "Reference","CUDA","OpenCL"])
self.set_active('cuda_precision','single',str,"The precision of the CUDA platform.", allowed=["single","mixed","double"],
depend=(self.platform == "CUDA"), msg="The simulation platform needs to be set to CUDA")
self.set_active('device',0,int,"Specify the device (GPU) number.", depend=(self.platform in ["CUDA", "OpenCL"]),
msg="The simulation platform needs to be set to CUDA or OpenCL")
self.set_active('energy_decomposition',False,bool,"Perform a single energy decomposition and then exit.")
self.set_active('initial_report',False,bool,"Perform one Report prior to running any dynamics.")
self.set_active('rigidwater',False,bool,"Make water molecules rigid.")
self.set_active('serialize',None,str,"Provide a file name for writing the serialized System object.")
self.set_active('pmegrid',None,list,"Set the PME grid for AMOEBA simulations.")
self.set_active('tinkerpath',None,list,"Specify a path for TINKER executables for running AMOEBA validation.")
if self.pmegrid != None:
assert len(self.pmegrid) == 3, "The pme argument must be a length-3 list of integers"
# Taken from MSMBulder - it allows for easy addition of arguments and allows "-h" for help.
def add_argument(group, *args, **kwargs):
if 'default' in kwargs:
d = 'Default: {d}'.format(d=kwargs['default'])
if 'help' in kwargs:
kwargs['help'] += ' {d}'.format(d=d)
else:
kwargs['help'] = d
group.add_argument(*args, **kwargs)
parser = argparse.ArgumentParser()
add_argument(parser, 'pdb', nargs=1, metavar='input.pdb', help='Specify one PDB or AMBER inpcrd file \x1b[1;91m(Required)\x1b[0m', type=str)
add_argument(parser, 'xml', nargs='+', metavar='forcefield.xml', help='Specify multiple force field XML files, one System XML file, or one AMBER prmtop file \x1b[1;91m(Required)\x1b[0m', type=str)
add_argument(parser, '-I', '--inputfile', help='Specify an input file with options in simple two-column format. This script will autogenerate one for you', default=None, type=str)
cmdline = parser.parse_args()
args = SimulationOptions(cmdline.inputfile)
pdbfnm = cmdline.pdb[0]
xmlfnm = cmdline.xml
if args.tinkerpath != None:
from tinker_reporter import TinkerReporter
timestep = args.timestep * femtosecond
nequiliterations = args.equilibrate / args.report_interval
niterations = args.production / args.report_interval
nsteps = args.report_interval
verbose = args.verbose
# Set temperature, pressure, and collision rate for stochastic thermostats.
generate_temperature = None
if args.gentemp > 0.0:
generate_temperature = args.gentemp * kelvin
if verbose:
print "Will generate initial velocities from Maxwell-Boltzmann distribution at", generate_temperature
if args.temperature <= 0.0:
if verbose:
print "This is a constant energy run using the Verlet integrator."
temperature = None
pressure = None
else:
temperature = args.temperature * kelvin
collision_frequency = args.collision_rate / picosecond # Collision rate for Langevin thermostat
if verbose:
print "This is a constant temperature run at", temperature
print "The thermostat collision frequency is", collision_frequency
if args.integrator == "langevin":
print "Using Langevin integrator"
else:
print "Using Verlet integrator with Andersen thermostat"
if args.pressure <= 0.0:
pressure = None
if verbose:
print "This is a constant volume run"
else:
pressure = args.pressure * atmospheres
barostat_frequency = args.nbarostat
if verbose:
print "This is a constant pressure run at", pressure
print "Number of steps between MC barostat volume adjustments is", barostat_frequency
# Name of the simulation platform (Reference, Cuda, OpenCL)
PlatName = args.platform
# Various arguments for setting up the System.
amoeba_mutual_kwargs = {'constraints' : None, 'rigidWater' : args.rigidwater,
'mutualInducedTargetEpsilon' : args.polar_eps}
amoeba_direct_kwargs = {'constraints' : None, 'rigidWater' : args.rigidwater,
'polarization' : 'direct'}
amoeba_pme_kwargs = {'nonbondedMethod' : PME, 'nonbondedCutoff' : args.nonbonded_cutoff * nanometer, 'vdwCutoff' : args.vdw_cutoff,
'aEwald' : 5.4459052, 'useDispersionCorrection' : True}
if args.pmegrid != None:
amoeba_pme_kwargs['pmeGridDimensions'] = args.pmegrid
pme_kwargs = {'rigidWater' : args.rigidwater, 'nonbondedMethod':PME,
'nonbondedCutoff':args.nonbonded_cutoff * nanometer, 'useDispersionCorrection' : True}
#================================#
# Create the simulation platform #
#================================#
if PlatName != None:
if verbose:
print "Setting Platform to", PlatName
platform = Platform.getPlatformByName(PlatName)
# The device may be set using an environment variable or the input file.
if os.environ.has_key('CUDA_DEVICE'):
device = os.environ.get('CUDA_DEVICE',str(args.device))
elif os.environ.has_key('CUDA_DEVICE_INDEX'):
device = os.environ.get('CUDA_DEVICE_INDEX',str(args.device))
else:
device = str(args.device)
if verbose:
print "Setting Device to", device
platform.setPropertyDefaultValue("CudaDevice", device)
platform.setPropertyDefaultValue("CudaDeviceIndex", device)
platform.setPropertyDefaultValue("OpenCLDeviceIndex", device)
platform.setPropertyDefaultValue("CudaPrecision", args.cuda_precision)
else:
print "Using the default Platform"
#================================#
# Subroutines #
#================================#
def generateMaxwellBoltzmannVelocities(system, temperature):
""" Generate velocities from a Maxwell-Boltzmann distribution. """
# Get number of atoms
natoms = system.getNumParticles()
# Create storage for velocities.
velocities = Quantity(np.zeros([natoms, 3], np.float32), nanometer / picosecond) # velocities[i,k] is the kth component of the velocity of atom i
# Compute thermal energy and inverse temperature from specified temperature.
kB = BOLTZMANN_CONSTANT_kB * AVOGADRO_CONSTANT_NA
kT = kB * temperature # thermal energy
beta = 1.0 / kT # inverse temperature
# Assign velocities from the Maxwell-Boltzmann distribution.
for atom_index in range(natoms):
mass = system.getParticleMass(atom_index) # atomic mass
sigma = sqrt(kT / mass) # standard deviation of velocity distribution for each coordinate for this atom
for k in range(3):
velocities[atom_index,k] = sigma * np.random.normal()
return velocities
def statisticalInefficiency(A_n, B_n=None, fast=False, mintime=3):
"""
Compute the (cross) statistical inefficiency of (two) timeseries.
Notes
The same timeseries can be used for both A_n and B_n to get the autocorrelation statistical inefficiency.
The fast method described in Ref [1] is used to compute g.
References
[1] J. D. Chodera, W. C. Swope, J. W. Pitera, C. Seok, and K. A. Dill. Use of the weighted
histogram analysis method for the analysis of simulated and parallel tempering simulations.
JCTC 3(1):26-41, 2007.
Examples
Compute statistical inefficiency of timeseries data with known correlation time.
>>> import timeseries
>>> A_n = timeseries.generateCorrelatedTimeseries(N=100000, tau=5.0)
>>> g = statisticalInefficiency(A_n, fast=True)
@param[in] A_n (required, numpy array) - A_n[n] is nth value of
timeseries A. Length is deduced from vector.
@param[in] B_n (optional, numpy array) - B_n[n] is nth value of
timeseries B. Length is deduced from vector. If supplied, the
cross-correlation of timeseries A and B will be estimated instead of
the autocorrelation of timeseries A.
@param[in] fast (optional, boolean) - if True, will use faster (but
less accurate) method to estimate correlation time, described in
Ref. [1] (default: False)
@param[in] mintime (optional, int) - minimum amount of correlation
function to compute (default: 3) The algorithm terminates after
computing the correlation time out to mintime when the correlation
function furst goes negative. Note that this time may need to be
increased if there is a strong initial negative peak in the
correlation function.
@return g The estimated statistical inefficiency (equal to 1 + 2
tau, where tau is the correlation time). We enforce g >= 1.0.
"""
# Create numpy copies of input arguments.
A_n = np.array(A_n)
if B_n is not None:
B_n = np.array(B_n)
else:
B_n = np.array(A_n)
# Get the length of the timeseries.
N = A_n.size
# Be sure A_n and B_n have the same dimensions.
if(A_n.shape != B_n.shape):
raise ParameterError('A_n and B_n must have same dimensions.')
# Initialize statistical inefficiency estimate with uncorrelated value.
g = 1.0
# Compute mean of each timeseries.
mu_A = A_n.mean()
mu_B = B_n.mean()
# Make temporary copies of fluctuation from mean.
dA_n = A_n.astype(np.float64) - mu_A
dB_n = B_n.astype(np.float64) - mu_B
# Compute estimator of covariance of (A,B) using estimator that will ensure C(0) = 1.
sigma2_AB = (dA_n * dB_n).mean() # standard estimator to ensure C(0) = 1
# Trap the case where this covariance is zero, and we cannot proceed.
if(sigma2_AB == 0):
print 'Sample covariance sigma_AB^2 = 0 -- cannot compute statistical inefficiency'
return 1.0
# Accumulate the integrated correlation time by computing the normalized correlation time at
# increasing values of t. Stop accumulating if the correlation function goes negative, since
# this is unlikely to occur unless the correlation function has decayed to the point where it
# is dominated by noise and indistinguishable from zero.
t = 1
increment = 1
while (t < N-1):
# compute normalized fluctuation correlation function at time t
C = sum( dA_n[0:(N-t)]*dB_n[t:N] + dB_n[0:(N-t)]*dA_n[t:N] ) / (2.0 * float(N-t) * sigma2_AB)
# Terminate if the correlation function has crossed zero and we've computed the correlation
# function at least out to 'mintime'.
if (C <= 0.0) and (t > mintime):
break
# Accumulate contribution to the statistical inefficiency.
g += 2.0 * C * (1.0 - float(t)/float(N)) * float(increment)
# Increment t and the amount by which we increment t.
t += increment
# Increase the interval if "fast mode" is on.
if fast: increment += 1
# g must be at least unity
if (g < 1.0): g = 1.0
# Return the computed statistical inefficiency.
return g
def compute_volume(box_vectors):
""" Compute the total volume of an OpenMM system. """
[a,b,c] = box_vectors
A = np.array([a/a.unit, b/a.unit, c/a.unit])
# Compute volume of parallelepiped.
volume = np.linalg.det(A) * a.unit**3
return volume
def compute_mass(system):
""" Compute the total mass of an OpenMM system. """
mass = 0.0 * amu
for i in range(system.getNumParticles()):
mass += system.getParticleMass(i)
return mass
def run_simulation(pdb):
""" Run a NPT or NVT simulation and gather statistics. """
settings = []
# Detect the presence of periodic boundary conditions in the PDB file.
pbc = pdb.getTopology().getUnitCellDimensions() != None
if pbc and verbose:
print "Detected periodic boundary conditions"
elif verbose:
print "This is a nonperiodic simulation"
Deserialize = False
if len(xmlfnm[0]) == 1:
# Detect whether the input argument is an XML file or not.
xmlroot = ET.parse(xmlfnm[0]).getroot()
if 'type' in xmlroot.attrib and xmlroot.attrib['type'].lower() == 'system':
Deserialize = True
if verbose:
print "Loading all simulation settings from System XML file ; user-provided settings are ignored!"
else:
raise Exception('Unrecognized XML File (not OpenMM Force Field or System XML File!)')
# Create the system.
if Deserialize:
# This line would deserialize a system XML file.
system = XmlSerializer.deserializeSystem(open(xmlfnm[0]).read())
else:
# This creates a system from a force field XML file.
forcefield = ForceField(*xmlfnm)
if any(['Amoeba' in i.__class__.__name__ for i in forcefield._forces]):
if verbose:
print "Detected AMOEBA system!"
if pbc:
settings += amoeba_pme_kwargs.items()
PolDirect = args.polarization_direct
if PolDirect:
if verbose:
print "Setting direct polarization"
settings += amoeba_direct_kwargs.items()
else:
if verbose:
print "Setting mutual polarization"
settings += amoeba_mutual_kwargs.items()
else:
if verbose:
print "Detected non-AMOEBA system"
if pbc:
settings = pme_kwargs
else:
settings = {}
args.deactivate("polarization_direct",msg="Not simulating an AMOEBA system")
args.deactivate("polar_eps",msg="Not simulating an AMOEBA system")
args.deactivate("vdw_cutoff",msg="Not simulating an AMOEBA system")
args.deactivate("pmegrid",msg="Not simulating an AMOEBA system")
args.deactivate("tinkerpath",msg="Not simulating an AMOEBA system")
system = forcefield.createSystem(pdb.topology, **dict(settings))
# Create integrator.
if temperature != None:
if args.integrator == "langevin":
if verbose:
print "Creating a Langevin integrator"
integrator = LangevinIntegrator(temperature, collision_frequency, timestep)
else:
if verbose:
print "Creating a Verlet integrator and adding an Andersen thermostat"
integrator = VerletIntegrator(timestep)
thermostat = AndersenThermostat(temperature, collision_frequency)
system.addForce(thermostat)
else:
if verbose:
print "Creating a Verlet integrator"
integrator = VerletIntegrator(timestep)
if pbc and pressure != None:
if verbose:
print "Adding Monte Carlo barostat with % .3f atm pressure" % (pressure / atmospheres)
barostat = MonteCarloBarostat(pressure, temperature, barostat_frequency)
# Add barostat.
system.addForce(barostat)
elif pressure != None:
raise Exception('Pressure was specified but the system is nonperiodic! Exiting...')
# Create simulation object.
if verbose:
print "Creating the Simulation object"
# Get the number of forces and set each force to a different force group #.
nfrc = system.getNumForces()
for i in range(nfrc):
system.getForce(i).setForceGroup(i)
if PlatName != None:
simulation = Simulation(pdb.topology, system, integrator, platform)
else:
simulation = Simulation(pdb.topology, system, integrator)
# Serialize the system if we want.
if args.serialize != 'None' and args.serialize != None:
if verbose:
print "Serializing the system"
serial = XmlSerializer.serializeSystem(system)
with open(args.serialize,'w') as f: f.write(serial)
# Print out information about the platform if we want.
if verbose:
# Print out the platform used by the context
print "I'm using the platform", simulation.context.getPlatform().getName()
# Print out the properties of the platform
printcool_dictionary({i:simulation.context.getPlatform().getPropertyValue(simulation.context,i) for i in simulation.context.getPlatform().getPropertyNames()},title="Platform %s has properties:" % simulation.context.getPlatform().getName())
# Determine number of degrees of freedom.
kB = BOLTZMANN_CONSTANT_kB * AVOGADRO_CONSTANT_NA
# The center-of-mass motion remover subtracts 3 more DoFs
ndof = 3*system.getNumParticles() - system.getNumConstraints() - 3
# Compute total mass.
mass = compute_mass(system).in_units_of(gram / mole) / AVOGADRO_CONSTANT_NA # total system mass in g
# Initialize statistics.
data = dict()
data['time'] = Quantity(np.zeros([niterations], np.float64), picoseconds)
data['potential'] = Quantity(np.zeros([niterations], np.float64), kilojoules_per_mole)
data['kinetic'] = Quantity(np.zeros([niterations], np.float64), kilojoules_per_mole)
data['volume'] = Quantity(np.zeros([niterations], np.float64), angstroms**3)
data['density'] = Quantity(np.zeros([niterations], np.float64), kilogram / meters**3)
data['kinetic_temperature'] = Quantity(np.zeros([niterations], np.float64), kelvin)
# Print the input file here.
for line in args.record():
print line
#==================================================#
# Do the following if a restart file doesn't exist #
#==================================================#
if not os.path.exists('restart.p'):
# Set initial positions.
simulation.context.setPositions(pdb.positions)
if args.energy_decomposition:
EnergyDecomposition(simulation)
sys.exit()
# Minimize the energy.
Minimize = args.minimize
if Minimize:
print "Minimization start, the energy is:", simulation.context.getState(getEnergy=True).getPotentialEnergy()
simulation.minimizeEnergy()
print "Minimization done, the energy is", simulation.context.getState(getEnergy=True).getPotentialEnergy()
positions = simulation.context.getState(getPositions=True).getPositions()
print "Minimized geometry is written to 'minimized.pdb'"
PDBFile.writeModel(pdb.topology, positions, open('minimized.pdb','w'))
# Assign velocities.
if generate_temperature != None:
if verbose:
print "Generating velocities corresponding to Maxwell distribution at", generate_temperature
velocities = generateMaxwellBoltzmannVelocities(system, temperature)
simulation.context.setVelocities(velocities)
#==========================================#
# Computing a bunch of initial values here #
#==========================================#
if pbc:
# Show initial system volume.
box_vectors = system.getDefaultPeriodicBoxVectors()
volume = compute_volume(box_vectors)
if verbose: print "initial system volume = %.1f nm^3" % (volume / nanometers**3)
#========================#
# Now run the simulation #
#========================#
# Equilibrate.
if verbose: print "Using timestep", timestep, "and %i steps per data record" % nsteps
if verbose: print "Special note: getVelocities and getForces has been turned off."
if verbose: print "Equilibrating..."
if verbose: print "%6s %9s %9s %13s %10s %13s" % ('Iter','Time(ps)','Temp(K)','Pot(kJ)', 'Vol(nm3)', 'Rho(kg/m3)')
for iteration in range(nequiliterations):
simulation.step(nsteps)
state = simulation.context.getState(getEnergy=True,getPositions=True,getVelocities=False,getForces=False)
kinetic = state.getKineticEnergy()
potential = state.getPotentialEnergy()
if pbc:
box_vectors = state.getPeriodicBoxVectors()
volume = compute_volume(box_vectors)
density = (mass / volume).in_units_of(kilogram / meter**3)
else:
volume = 0.0 * nanometers ** 3
density = 0.0 * kilogram / meter ** 3
kinetic_temperature = 2.0 * kinetic / kB / ndof # (1/2) ndof * kB * T = KE
if verbose:
print "%6d %9.3f %9.3f % 13.3f %10.4f %13.4f" % (iteration, state.getTime() / picoseconds,
kinetic_temperature / kelvin, potential / kilojoules_per_mole,
volume / nanometers**3, density / (kilogram / meter**3))
else:
print "Restarting simulation from the restart file."
# Load information from the restart file.
r_positions, r_velocities, r_boxes = pickle.load(open('restart.p'))
simulation.context.setPositions(r_positions * nanometer)
simulation.context.setVelocities(r_velocities * nanometer / picosecond)
if args.energy_decomposition:
EnergyDecomposition(simulation)
sys.exit()
if pbc:
simulation.context.setPeriodicBoxVectors(r_boxes[0] * nanometer,r_boxes[1] * nanometer, r_boxes[2] * nanometer)
# Collect production data.
if verbose: print "Production (will do %i iterations of %i steps each) ..." % (niterations, nsteps)
# simulation.reporters.append(StateDataReporter(sys.stdout, nsteps, step=True, time=True, potentialEnergy=True, kineticEnergy=True, totalEnergy=True, temperature=True, volume=pbc, density=pbc, separator=" "))
simulation.reporters.append(DCDReporter('dynamics.dcd', nsteps))
if hasattr(args,'tinkerpath') and args.tinkerpath != None:
print "Appending the TINKER Reporter."
simulation.reporters.append(TinkerReporter(sys.stdout, nsteps, simulation, os.path.splitext(pdbfnm)[0]+".xyz", pbc=pbc, pmegrid=args.pmegrid, tinkerpath=args.tinkerpath))
# Do one report before running any dynamics.
if args.initial_report:
if verbose:
print "Doing the initial report."
for Reporter in simulation.reporters:
Reporter.report(simulation,simulation.context.getState(getPositions=True,getVelocities=True,getForces=True,getEnergy=True))
for iteration in range(niterations):
# Propagate dynamics.
simulation.step(nsteps)
# Compute properties.
state = simulation.context.getState(getEnergy=True,getPositions=True,getVelocities=False,getForces=False)
kinetic = state.getKineticEnergy()
potential = state.getPotentialEnergy()
if pbc:
box_vectors = state.getPeriodicBoxVectors()
volume = compute_volume(box_vectors)
density = (mass / volume).in_units_of(kilogram / meter**3)
else:
volume = 0.0 * nanometers ** 3
density = 0.0 * kilogram / meter ** 3
kinetic_temperature = 2.0 * kinetic / kB / ndof
if verbose:
print "%6d %9.3f %9.3f % 13.3f %10.4f %13.4f" % (iteration, state.getTime() / picoseconds, kinetic_temperature / kelvin, potential / kilojoules_per_mole, volume / nanometers**3, density / (kilogram / meter**3))
# Store properties.
data['time'][iteration] = state.getTime()
data['potential'][iteration] = potential
data['kinetic'][iteration] = kinetic
data['volume'][iteration] = volume
data['density'][iteration] = density
data['kinetic_temperature'][iteration] = kinetic_temperature
final_state = simulation.context.getState(getEnergy=True,getPositions=True,getVelocities=True,getForces=True)
return data, final_state, simulation
def analyze(data):
"""Analyze the data from the run_simulation function."""
#===========================================================================================#
# Compute statistical inefficiencies to determine effective number of uncorrelated samples. #
#===========================================================================================#
data['g_potential'] = statisticalInefficiency(data['potential'] / kilojoules_per_mole)
data['g_kinetic'] = statisticalInefficiency(data['kinetic'] / kilojoules_per_mole, fast=True)
data['g_volume'] = statisticalInefficiency(data['volume'] / angstroms**3, fast=True)
data['g_density'] = statisticalInefficiency(data['density'] / (kilogram / meter**3), fast=True)
data['g_kinetic_temperature'] = statisticalInefficiency(data['kinetic_temperature'] / kelvin, fast=True)
#=========================================#
# Compute expectations and uncertainties. #
#=========================================#
statistics = dict()
# Kinetic energy.
statistics['KE'] = (data['kinetic'] / kilojoules_per_mole).mean() * kilojoules_per_mole
statistics['dKE'] = (data['kinetic'] / kilojoules_per_mole).std() / np.sqrt(niterations / data['g_kinetic']) * kilojoules_per_mole
statistics['g_KE'] = data['g_kinetic'] * nsteps * timestep
# Potential energy.
statistics['PE'] = (data['potential'] / kilojoules_per_mole).mean() * kilojoules_per_mole
statistics['dPE'] = (data['potential'] / kilojoules_per_mole).std() / np.sqrt(niterations / data['g_potential']) * kilojoules_per_mole
statistics['g_PE'] = data['g_potential'] * nsteps * timestep
# Density
unit = (kilogram / meter**3)
statistics['density'] = (data['density'] / unit).mean() * unit
statistics['ddensity'] = (data['density'] / unit).std() / np.sqrt(niterations / data['g_density']) * unit
statistics['g_density'] = data['g_density'] * nsteps * timestep
# Volume
unit = nanometer**3
statistics['volume'] = (data['volume'] / unit).mean() * unit
statistics['dvolume'] = (data['volume'] / unit).std() / np.sqrt(niterations / data['g_volume']) * unit
statistics['g_volume'] = data['g_volume'] * nsteps * timestep
statistics['std_volume'] = (data['volume'] / unit).std() * unit
statistics['dstd_volume'] = (data['volume'] / unit).std() / np.sqrt((niterations / data['g_volume'] - 1) * 2.0) * unit # uncertainty expression from Ref [1].
# Kinetic temperature
unit = kelvin
statistics['kinetic_temperature'] = (data['kinetic_temperature'] / unit).mean() * unit
statistics['dkinetic_temperature'] = (data['kinetic_temperature'] / unit).std() / np.sqrt(niterations / data['g_kinetic_temperature']) * unit
statistics['g_kinetic_temperature'] = data['g_kinetic_temperature'] * nsteps * timestep
#==========================#
# Print summary statistics #
#==========================#
print "Summary statistics (%.3f ns equil, %.3f ns production)" % (nequiliterations * nsteps * timestep / nanoseconds, niterations * nsteps * timestep / nanoseconds)
print
# Kinetic energies
print "Average kinetic energy: %11.6f +- %11.6f kj/mol (g = %11.6f ps)" % (statistics['KE'] / kilojoules_per_mole, statistics['dKE'] / kilojoules_per_mole, statistics['g_KE'] / picoseconds)
# Potential energies
print "Average potential energy: %11.6f +- %11.6f kj/mol (g = %11.6f ps)" % (statistics['PE'] / kilojoules_per_mole, statistics['dPE'] / kilojoules_per_mole, statistics['g_PE'] / picoseconds)
# Kinetic temperature
unit = kelvin
print "Average kinetic temperature: %11.6f +- %11.6f K (g = %11.6f ps)" % (statistics['kinetic_temperature'] / unit, statistics['dkinetic_temperature'] / unit, statistics['g_kinetic_temperature'] / picoseconds)
unit = (nanometer**3)
print "Volume: mean %11.6f +- %11.6f nm^3" % (statistics['volume'] / unit, statistics['dvolume'] / unit),
print "g = %11.6f ps" % (statistics['g_volume'] / picoseconds)
unit = (kilogram / meter**3)
print "Density: mean %11.6f +- %11.6f nm^3" % (statistics['density'] / unit, statistics['ddensity'] / unit),
print "g = %11.6f ps" % (statistics['g_density'] / picoseconds)
unit_rho = (kilogram / meter**3)
unit_ene = kilojoules_per_mole
if pressure != None:
pV_mean = (statistics['volume'] * pressure * AVOGADRO_CONSTANT_NA).value_in_unit(kilojoule_per_mole)
pV_err = (statistics['dvolume'] * pressure * AVOGADRO_CONSTANT_NA).value_in_unit(kilojoule_per_mole)
else:
pV_mean = 0.0
pV_err = 0.0
return statistics['density'] / unit_rho, statistics['ddensity'] / unit_rho, statistics['PE'] / unit_ene, statistics['dPE'] / unit_ene, pV_mean, pV_err
def main():
"""
Usage: run.py input.pdb forcefield.xml <temperature> <pressure> <optional arguments>
Periodic boundary conditions are automatically specified within the PDB file
"""
# Create an OpenMM PDB object.
pdb = PDBFile(pdbfnm)
#=================================================================#
# Run the simulation for the full system and analyze the results. #
#=================================================================#
Data, FinalState, sim_ = run_simulation(pdb)
# Get statistics from our simulation.
if niterations > 1:
Rho_avg, Rho_err, Pot_avg, Pot_err, pV_avg, pV_err = analyze(Data)
# Extract stuff from the final state
Xfin = FinalState.getPositions() / nanometer
Vfin = FinalState.getVelocities() / nanometer * picosecond
Bfin = FinalState.getPeriodicBoxVectors() / nanometer
# Writing of the restart file has been disabled for these tests.
with open(os.path.join('restart.p'),'w') as f: pickle.dump((Xfin, Vfin, Bfin),f)
print "Wall time: % .4f seconds" % (time.time() - t0)
if __name__ == "__main__":
main()
"""
tinker_reporter.py: Runs TINKER alongside OpenMM dynamics for validation
This is part of the OpenMM molecular simulation toolkit originating from
Simbios, the NIH National Center for Physics-Based Simulation of
Biological Structures at Stanford, funded under the NIH Roadmap for
Medical Research, grant U54 GM072970. See https://simtk.org.
Portions copyright (c) 2012 Stanford University and the Authors.
Authors: Lee-Ping Wang
Contributors:
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE AUTHORS, CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
"""
__author__ = "Lee-Ping Wang"
__version__ = "1.0"
import os, sys, shutil
from simtk.unit import *
from collections import OrderedDict, defaultdict
import itertools
import warnings
# Suppress warnings from PDB reading.
warnings.simplefilter("ignore")
from molecule import Molecule, isint, isfloat # Requires file format conversion class!
import subprocess
from subprocess import PIPE
import numpy as np
import re
def pvec(vec):
""" Print a three-element vector in a Tinker .dyn format"""
return ("% 26.16e% 26.16e% 26.16e" % (vec[0],vec[1],vec[2])).replace('e','D')
def EnergyDecomposition(Sim, print_thresh=1e-6, verbose=True):
# The number of forces (interaction types)
nfrc = Sim.system.getNumForces()
# Loop through the interaction types and set the force group for each one.
EnergyTerms = OrderedDict()
TotalEnergy = Sim.context.getState(getEnergy=True).getPotentialEnergy() / kilojoules_per_mole
EnergyTerms['Potential Energy'] = TotalEnergy
if verbose:
print "%-35s % 16.8f" % ('Potential Energy', TotalEnergy)
# for i in range(nfrc):
# Sim.system.getForce(i).setForceGroup(i)
for i in range(nfrc):
print "Doing energy decomposition for Force named", Sim.system.getForce(i).__class__.__name__
Energy = Sim.context.getState(getEnergy=True,groups=2**i).getPotentialEnergy() / kilojoules_per_mole
if abs(Energy) > print_thresh:
EnergyTerms[Sim.system.getForce(i).__class__.__name__] = Energy
if verbose:
print "%-35s" % Sim.system.getForce(i).__class__.__name__,
print "% 16.8f" % Energy
# for i in range(nfrc):
# Sim.system.getForce(i).setForceGroup(0)
return EnergyTerms
def ForceDecomposition(Sim, print_thresh=1e-6, verbose=False):
# The number of forces (interaction types)
nfrc = Sim.system.getNumForces()
# Loop through the interaction types and set the force group for each one.
ForceTerms = OrderedDict()
TotalForce = Sim.context.getState(getForces=True).getForces() / kilojoules_per_mole * nanometer
TotalForce = np.array(list(itertools.chain(*[list(i) for i in TotalForce])))
ForceTerms['Total Force'] = TotalForce
# for i in range(nfrc):
# Sim.system.getForce(i).setForceGroup(i)
for i in range(nfrc):
print "Doing force decomposition for Force named", Sim.system.getForce(i).__class__.__name__
Force = Sim.context.getState(getForces=True,groups=2**i).getForces() / kilojoules_per_mole * nanometer
Force = np.array(list(itertools.chain(*[list(j) for j in Force])))
if max(abs(Force)) > print_thresh:
ForceTerms[Sim.system.getForce(i).__class__.__name__] = Force
# for i in range(nfrc):
# Sim.system.getForce(i).setForceGroup(0)
return ForceTerms
def _exec(command, print_to_screen = False, outfnm = None, logfnm = None, stdin = None, print_command = True):
"""Runs command line using subprocess, optionally returning stdout.
Options:
command (required) = Name of the command you want to execute
outfnm (optional) = Name of the output file name (overwritten if exists)
logfnm (optional) = Name of the log file name (appended if exists), exclusive with outfnm
stdin (optional) = A string to be passed to stdin, as if it were typed (use newline character to mimic Enter key)
print_command = Whether to print the command.
"""
append_to_file = (logfnm != None)
write_to_file = (outfnm != None)
if append_to_file:
f = open(logfnm,'a')
elif write_to_file:
f = open(outfnm,'w')
if print_command:
print "Executing process: \x1b[92m%-50s\x1b[0m%s%s" % (' '.join(command) if type(command) is list else command,
" Output: %s" % logfnm if logfnm != None else "",
" Stdin: %s" % stdin.replace('\n','\\n') if stdin != None else "")
if append_to_file or write_to_file:
print >> f, "Executing process: %s%s" % (command, " Stdin: %s" % stdin.replace('\n','\\n') if stdin != None else "")
if stdin == None:
p = subprocess.Popen(command, shell=(type(command) is str), stdout = PIPE, stderr = PIPE)
if print_to_screen:
Output = []
Error = []
while True:
line = p.stdout.readline()
try:
Error.append(p.stderr.readline())
except: pass
if not line:
break
print line,
Output.append(line)
print Error
else:
Output, Error = p.communicate()
else:
p = subprocess.Popen(command, shell=(type(command) is str), stdin = PIPE, stdout = PIPE, stderr = PIPE)
Output, Error = p.communicate(stdin)
if logfnm != None or outfnm != None:
f.write(Output)
f.close()
if p.returncode != 0:
print "Received an error message:"
print Error
warn_press_key("%s gave a return code of %i (it may have crashed)" % (command, p.returncode))
return Output
def printcool(text,sym="#",bold=False,color=2,bottom='-',minwidth=50):
"""Cool-looking printout."""
text = text.split('\n')
width = max(minwidth,max([len(line) for line in text]))
bar = ''.join([sym for i in range(width + 8)])
print '\n'+bar
for line in text:
padleft = ' ' * ((width - len(line)) / 2)
padright = ' '* (width - len(line) - len(padleft))
print "%s\x1b[%s9%im%s" % (''.join([sym for i in range(3)]), bold and "1;" or "", color, padleft),line,"%s\x1b[0m%s" % (padright, ''.join([sym for i in range(3)]))
print bar
return re.sub(sym,bottom,bar)
def printcool_dictionary(Dict,title="General options",bold=False,color=2,keywidth=25,topwidth=50):
"""Nice way to print out keys/values in a dictionary."""
bar = printcool(title,bold=bold,color=color,minwidth=topwidth)
def magic_string(str):
# This cryptic command returns a string with the number of characters specified as a variable. :P
return eval("\'%%-%is\' %% '%s'" % (keywidth,str.replace("'","\\'").replace('"','\\"')))
if isinstance(Dict, OrderedDict):
print '\n'.join(["%s %s " % (magic_string(key),str(Dict[key])) for key in Dict if Dict[key] != None])
else:
print '\n'.join(["%s %s " % (magic_string(key),str(Dict[key])) for key in sorted([i for i in Dict]) if Dict[key] != None])
print bar
class TinkerReporter(object):
"""TinkerReporter
To use it, create a TinkerReporter, then add it to the Simulation's list of reporters.
"""
def __init__(self, file, reportInterval, simulation, xyzfile, pbc=True, pmegrid=None, tinkerpath = ''):
"""Create a TinkerReporter.
Parameters:
- tinkerpath (string) The
- file (string) The file to write to
- reportInterval (int) The interval (in time steps) at which to write frames
"""
print "Initializing Tinker Reporter"
self._reportInterval = reportInterval
self._openedFile = isinstance(file, str)
if self._openedFile:
self._out = open(file, 'w')
else:
self._out = file
self._pbc = pbc
self._pmegrid = pmegrid
self._tinkerpath = tinkerpath
self._simulation = simulation
self.xyzfile = xyzfile
self.pdbfile = os.path.splitext(xyzfile)[0] + '.pdb'
self.keyfile = os.path.splitext(xyzfile)[0] + '.key'
#self.prmfile = os.path.splitext(xyzfile)[0] + '.prm'
self.dynfile = os.path.splitext(xyzfile)[0] + '.dyn'
print "Loading Tinker xyz file"
if not os.path.exists(self.xyzfile):
raise IOError('You need a Tinker .xyz')
if not os.path.exists(self.keyfile):
raise IOError('You need a Tinker .key file with the same base name as the .xyz file')
#if not os.path.exists(self.prmfile):
# raise IOError('You need a Tinker .prm file with the same base name as the .xyz file')
if not os.path.exists(self.pdbfile):
raise IOError('You need a .pdb file with the same base name as the .xyz file (the same one you used to start the simulation)')
self.M = Molecule(self.xyzfile,ftype='tinker')
self.comm = open(self.xyzfile).readlines()[0]
print "Done"
def describeNextReport(self, simulation):
"""Get information about the next report this object will generate.
Parameters:
- simulation (Simulation) The Simulation to generate a report for
Returns: A five element tuple. The first element is the number of steps until the
next report. The remaining elements specify whether that report will require
positions, velocities, forces, and energies respectively.
"""
steps = self._reportInterval - simulation.currentStep%self._reportInterval
return (steps, True, True, True, True)
def report(self, simulation, state):
"""Generate a report.
Parameters:
- simulation (Simulation) The Simulation to generate a report for
- state (State) The current state of the simulation
"""
RunDynamic = 0
pos = state.getPositions() / angstrom
if RunDynamic:
# Write a dyn file.
dynout = open(self.dynfile,'w')
print >> dynout, ' Number of Atoms and Title :'
print >> dynout, self.comm,
print >> dynout, ' Periodic Box Dimensions :'
print >> dynout, pvec([state.getPeriodicBoxVectors()[i][i] / angstrom for i in range(3)])
print >> dynout, pvec([90,90,90])
print >> dynout, ' Current Atomic Positions :'
for i in range(len(pos)):
print >> dynout, pvec(pos[i])
print >> dynout, ' Current Atomic Velocities :'
vel = state.getVelocities() / angstrom * picosecond
for i in range(len(vel)):
print >> dynout, pvec(vel[i])
print >> dynout, ' Current Atomic Accelerations :'
for i in range(len(vel)):
print >> dynout, pvec([0,0,0])
print >> dynout, ' Alternate Atomic Accelerations :'
for i in range(len(vel)):
print >> dynout, pvec([0,0,0])
dynout.close()
o = _exec('%s %s 1 1e-5 1 1' % (os.path.join(self._tinkerpath,'dynamic'), self.xyzfile), print_command = False)
for line in o.split('\n'):
if 'Total Energy' in line:
total = float(line.split()[2]) * 4.184
elif 'Potential Energy' in line:
pot = float(line.split()[2]) * 4.184
elif 'Kinetic Energy' in line:
kin = float(line.split()[2]) * 4.184
elif 'Temperature' in line:
temp = float(line.split()[1])
elif 'Pressure' in line:
pres = float(line.split()[1])
elif 'Density' in line:
dens = float(line.split()[1]) * 1000
print "(Tinker dynamic) % 13.5f % 13.5f % 13.5f % 13.5f % 13.5f" % (temp, pot, kin, total, pres)
RunAnalyze = 1
RunGrad = 1
if RunAnalyze or RunGrad:
# Write a xyz file.
self.M.xyzs = [pos]
self.M.boxes = [[state.getPeriodicBoxVectors()[0][0] / angstrom,state.getPeriodicBoxVectors()[1][1] / angstrom,state.getPeriodicBoxVectors()[2][2] / angstrom]]
self.M.write('temp.xyz',ftype='tinker')
keyout = open('temp.key','w')
for line in open(self.keyfile).readlines():
if 'a-axis' in line.lower(): pass
elif 'b-axis' in line.lower(): pass
elif 'c-axis' in line.lower(): pass
elif 'pme-grid' in line.lower(): pass
else: print >> keyout, line,
if self._pbc:
print >> keyout, 'a-axis % .6f' % (state.getPeriodicBoxVectors()[0][0] / angstrom)
print >> keyout, 'b-axis % .6f' % (state.getPeriodicBoxVectors()[1][1] / angstrom)
print >> keyout, 'c-axis % .6f' % (state.getPeriodicBoxVectors()[2][2] / angstrom)
if self._pmegrid != None:
print >> keyout, 'pme-grid %i %i %i' % (self._pmegrid[0], self._pmegrid[1], self._pmegrid[2])
keyout.close()
#shutil.copy(self.prmfile,'temp.prm')
if RunAnalyze:
# Actually I should use testgrad for this (maybe later.)
print "Running TINKER analyze program"
o = _exec('%s temp.xyz E' % os.path.join(self._tinkerpath,'analyze'), print_command = False)
# This is a dictionary of TINKER energy terms to OpenMM energy terms
# I'm making the assumption that OpenMM energy terms are less finely divided.
T2O = OrderedDict([('Total Potential Energy', 'Potential Energy'),
('Bond Stretching','AmoebaBondForce'),
('Angle Bending','AmoebaAngleForce'),
('Stretch-Bend','AmoebaStretchBendForce'),
('Out-of-Plane Bend','AmoebaOutOfPlaneBendForce'),
('Torsional Angle','PeriodicTorsionForce'),
('Urey-Bradley','HarmonicBondForce'),
('Van der Waals','AmoebaVdwForce'),
('Atomic Multipoles','AmoebaMultipoleForce'),
('Polarization','AmoebaMultipoleForce')])
Tinker_Energy_Terms = defaultdict(float)
for line in o.split('\n'):
s = line.split()
for TTerm, OTerm in T2O.items():
# Very strict parsing.
tts = TTerm.split()
if len(s) == len(tts) + 2 and s[:len(tts)] == tts:
Tinker_Energy_Terms[OTerm] += float(s[len(tts)]) * 4.184
elif TTerm == 'Total Potential Energy' and s[:len(tts)] == tts:
Tinker_Energy_Terms[OTerm] = float(s[4]) * 4.184
OpenMM_Energy_Terms = EnergyDecomposition(self._simulation)
PrintDict = OrderedDict()
for key, val in OpenMM_Energy_Terms.items():
o = val
t = Tinker_Energy_Terms[key]
PrintDict[key] = " % 13.5f - % 13.5f = % 13.5f" % (o, t, o-t)
printcool_dictionary(PrintDict, title="Energy Terms (kJ/mol): %13s - %13s = %13s" % ("OpenMM", "Tinker", "Difference"))
if RunGrad:
TFrc = OrderedDict()
TFrcO = OrderedDict()
TFrcTypes = []
Mode = 0
TFrcNum = 0
print "Running TINKER testgrad program"
o = _exec('%s temp.xyz Y N Y' % os.path.join(self._tinkerpath,'testgrad'), print_command = False)
# The following is copied over from TINKER source code.
# c desum total energy Cartesian coordinate derivatives
# c deb bond stretch Cartesian coordinate derivatives
# c dea angle bend Cartesian coordinate derivatives
# c deba stretch-bend Cartesian coordinate derivatives
# c deub Urey-Bradley Cartesian coordinate derivatives
# c deaa angle-angle Cartesian coordinate derivatives
# c deopb out-of-plane bend Cartesian coordinate derivatives
# c deopd out-of-plane distance Cartesian coordinate derivatives
# c deid improper dihedral Cartesian coordinate derivatives
# c deit improper torsion Cartesian coordinate derivatives
# c det torsional Cartesian coordinate derivatives
# c dept pi-orbital torsion Cartesian coordinate derivatives
# c debt stretch-torsion Cartesian coordinate derivatives
# c dett torsion-torsion Cartesian coordinate derivatives
# c dev van der Waals Cartesian coordinate derivatives
# c dec charge-charge Cartesian coordinate derivatives
# c decd charge-dipole Cartesian coordinate derivatives
# c ded dipole-dipole Cartesian coordinate derivatives
# c dem multipole Cartesian coordinate derivatives
# c dep polarization Cartesian coordinate derivatives
# c der reaction field Cartesian coordinate derivatives
# c des solvation Cartesian coordinate derivatives
# c delf metal ligand field Cartesian coordinate derivatives
# c deg geometric restraint Cartesian coordinate derivatives
# c dex extra energy term Cartesian coordinate derivatives
T2O = OrderedDict([('EB', 'AmoebaBondForce'),
('EA', 'AmoebaAngleForce'),
('EUB','HarmonicBondForce'),
('EV', 'AmoebaVdwForce'),
('EM', 'AmoebaMultipoleForce'),
('EP', 'AmoebaMultipoleForce')])
for line in o.split('\n'):
if "Cartesian Gradient Breakdown by Individual Components" in line:
Mode = 1
elif "Cartesian Gradient Breakdown over Individual Atoms" in line:
Mode = 0
if Mode:
if 'd E' in line:
for wrd in re.findall("d E[A-Z]+",line):
TFrc[wrd.split()[1]] = []
TFrcTypes.append(wrd.split()[1])
else:
s = line.split()
for w in s:
if isfloat(w) and not isint(w):
TFrc[TFrcTypes[TFrcNum%len(TFrcTypes)]].append(float(w))
TFrcNum += 1
for TFrcType in TFrc:
TFrcArray = np.array(TFrc[TFrcType])
MaxF = max(abs(TFrcArray))
if MaxF != 0.0 and TFrcType not in T2O:
raise Exception('Oopsh! The Tinker force type %s needs to correspond to one of the AMOEBA forces.' % TFrcType)
if 'Total Force' in TFrcO:
TFrcO['Total Force'] += -41.84*TFrcArray.copy()
else:
TFrcO['Total Force'] = -41.84*TFrcArray.copy()
if TFrcType in T2O:
if T2O[TFrcType] in TFrcO:
#print "Incrementing Tinker Force %s into OpenMM Force %s" % (TFrcType, T2O[TFrcType])
TFrcO[T2O[TFrcType]] += -41.84*TFrcArray.copy()
else:
#print "Copying Tinker Force %s into OpenMM Force %s" % (TFrcType, T2O[TFrcType])
TFrcO[T2O[TFrcType]] = -41.84*TFrcArray.copy()
OFrc = ForceDecomposition(self._simulation)
for key, val in OFrc.items():
Fo = val.reshape(-1,3)
Ft = TFrcO[key].reshape(-1,3)
rmsf = np.sqrt(np.mean(TFrcO[key] ** 2))
rmse = np.sqrt(np.mean((TFrcO[key]-val) ** 2))
maxa = 0
maxdf = 0
ErrThresh = 1e-2
BadAtoms = []
ForceDev = []
for a in range(len(Fo)):
fo = Fo[a]
ft = Ft[a]
df = fo-ft
ForceDev.append(df)
if np.linalg.norm(df) > maxdf:
maxdf = np.linalg.norm(df)
maxa = a
if np.linalg.norm(df) / rmsf > ErrThresh:
BadAtoms.append(a)
ForceDev = np.array(ForceDev)
ForceMax = np.max(np.max(np.abs(ForceDev)))
ForceDev /= ForceMax
printcool("Checking Force : %s" % key)
print "RMS Force = % .6f" % rmsf
print "RMS error = % .6f (%.4f%%)" % (rmse, 100*rmse/rmsf)
print "Max error = % .6f (%.4f%%) on atom %i" % (maxdf, 100*maxdf/rmsf, maxa)
if len(BadAtoms) > 0 and key != 'Total Force':
MBad = self.M[0]
print "Printing coordinates and force errors..."
MBad.write('%s.%04i.coord.xyz' % (key,self._simulation.currentStep))
MBad.xyzs = [ForceDev]
MBad.write('%s.%04i.dforce.xyz' % (key,self._simulation.currentStep))
# Total Potential Energy : -11774.66948293 Kcal/mole
# Energy Component Breakdown : Kcal/mole Interactions
# Bond Stretching 700.95903376 2048
# Angle Bending 280.53183695 1024
# Urey-Bradley -17.15154506 1024
# Van der Waals 6125.15094324 444788
# Atomic Multipoles -14366.63061078 216556
# Polarization -4497.52914104 216556
def __del__(self):
if self._openedFile:
self._out.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment