diff --git a/pycgtool/frame.py b/pycgtool/frame.py index 357344cc0b1ff434f32889a9148e4e31480b392a..2c4b76fe2b6dd388a9bb21593ccbe443572c602e 100644 --- a/pycgtool/frame.py +++ b/pycgtool/frame.py @@ -346,7 +346,8 @@ class Frame: if gro is not None: open_xtc = {"simpletraj": FrameReaderSimpleTraj, - "mdtraj": FrameReaderMDTraj} + "mdtraj": FrameReaderMDTraj, + "mdanalysis": FrameReaderMDAnalysis} try: self._trajreader = open_xtc[xtc_reader](gro, xtc, frame_start=frame_start) except KeyError as e: @@ -364,6 +365,12 @@ class Frame: @classmethod def instance_from_reader(cls, reader): + """ + Return Frame instance initialised from existing FrameReader object + + :param FrameReader reader: FrameReader object + :return: Frame instance + """ obj = cls() obj._trajreader = reader obj._trajreader.initialise_frame(obj) diff --git a/test/data/water.pdb b/test/data/water.pdb new file mode 100644 index 0000000000000000000000000000000000000000..c1882c25654c3dec6036807b301a3dd89446fc57 --- /dev/null +++ b/test/data/water.pdb @@ -0,0 +1,669 @@ +TITLE Water +REMARK THIS IS A SIMULATION BOX +CRYST1 18.987 18.987 18.987 90.00 90.00 90.00 P 1 1 +MODEL 1 +ATOM 1 OW SOL 1 6.960 13.300 12.110 1.00 0.00 +ATOM 2 HW1 SOL 1 6.620 12.360 12.030 1.00 0.00 +ATOM 3 HW2 SOL 1 7.900 13.340 11.790 1.00 0.00 +ATOM 4 OW SOL 2 7.000 2.890 3.760 1.00 0.00 +ATOM 5 HW1 SOL 2 7.140 2.110 4.360 1.00 0.00 +ATOM 6 HW2 SOL 2 6.290 3.480 4.130 1.00 0.00 +ATOM 7 OW SOL 3 14.800 0.880 4.820 1.00 0.00 +ATOM 8 HW1 SOL 3 14.170 0.220 4.420 1.00 0.00 +ATOM 9 HW2 SOL 3 14.940 0.660 5.790 1.00 0.00 +ATOM 10 OW SOL 4 1.310 13.390 0.010 1.00 0.00 +ATOM 11 HW1 SOL 4 2.220 12.990 0.000 1.00 0.00 +ATOM 12 HW2 SOL 4 1.290 14.200 -0.580 1.00 0.00 +ATOM 13 OW SOL 5 9.620 1.630 2.790 1.00 0.00 +ATOM 14 HW1 SOL 5 10.260 1.060 2.280 1.00 0.00 +ATOM 15 HW2 SOL 5 8.900 1.970 2.170 1.00 0.00 +ATOM 16 OW SOL 6 4.670 18.840 4.610 1.00 0.00 +ATOM 17 HW1 SOL 6 4.810 18.030 5.180 1.00 0.00 +ATOM 18 HW2 SOL 6 5.550 19.220 4.350 1.00 0.00 +ATOM 19 OW SOL 7 18.230 6.250 9.910 1.00 0.00 +ATOM 20 HW1 SOL 7 17.820 6.830 10.620 1.00 0.00 +ATOM 21 HW2 SOL 7 18.140 5.290 10.180 1.00 0.00 +ATOM 22 OW SOL 8 8.970 16.720 8.510 1.00 0.00 +ATOM 23 HW1 SOL 8 9.240 17.680 8.590 1.00 0.00 +ATOM 24 HW2 SOL 8 8.550 16.420 9.360 1.00 0.00 +ATOM 25 OW SOL 9 3.940 14.700 6.080 1.00 0.00 +ATOM 26 HW1 SOL 9 4.050 15.620 6.460 1.00 0.00 +ATOM 27 HW2 SOL 9 4.590 14.570 5.330 1.00 0.00 +ATOM 28 OW SOL 10 8.850 0.120 15.120 1.00 0.00 +ATOM 29 HW1 SOL 10 9.510 0.450 15.800 1.00 0.00 +ATOM 30 HW2 SOL 10 9.020 -0.850 14.940 1.00 0.00 +ATOM 31 OW SOL 11 5.930 2.070 18.230 1.00 0.00 +ATOM 32 HW1 SOL 11 5.830 1.610 17.350 1.00 0.00 +ATOM 33 HW2 SOL 11 5.210 1.770 18.850 1.00 0.00 +ATOM 34 OW SOL 12 8.730 16.180 11.890 1.00 0.00 +ATOM 35 HW1 SOL 12 7.900 16.580 11.500 1.00 0.00 +ATOM 36 HW2 SOL 12 8.820 15.230 11.590 1.00 0.00 +ATOM 37 OW SOL 13 11.480 4.800 16.400 1.00 0.00 +ATOM 38 HW1 SOL 13 10.520 4.720 16.130 1.00 0.00 +ATOM 39 HW2 SOL 13 11.680 4.180 17.150 1.00 0.00 +ATOM 40 OW SOL 14 5.640 18.660 11.070 1.00 0.00 +ATOM 41 HW1 SOL 14 5.760 19.420 11.710 1.00 0.00 +ATOM 42 HW2 SOL 14 4.950 18.030 11.420 1.00 0.00 +ATOM 43 OW SOL 15 13.050 2.500 12.190 1.00 0.00 +ATOM 44 HW1 SOL 15 13.560 1.780 11.700 1.00 0.00 +ATOM 45 HW2 SOL 15 13.300 2.480 13.160 1.00 0.00 +ATOM 46 OW SOL 16 18.170 12.380 1.530 1.00 0.00 +ATOM 47 HW1 SOL 16 17.990 13.090 2.210 1.00 0.00 +ATOM 48 HW2 SOL 16 18.890 12.690 0.910 1.00 0.00 +ATOM 49 OW SOL 17 0.820 1.020 8.130 1.00 0.00 +ATOM 50 HW1 SOL 17 1.270 1.430 8.920 1.00 0.00 +ATOM 51 HW2 SOL 17 1.070 0.050 8.080 1.00 0.00 +ATOM 52 OW SOL 18 12.920 5.220 12.170 1.00 0.00 +ATOM 53 HW1 SOL 18 13.900 5.240 11.960 1.00 0.00 +ATOM 54 HW2 SOL 18 12.630 4.280 12.320 1.00 0.00 +ATOM 55 OW SOL 19 14.950 6.310 18.100 1.00 0.00 +ATOM 56 HW1 SOL 19 14.860 6.790 18.970 1.00 0.00 +ATOM 57 HW2 SOL 19 14.660 6.910 17.360 1.00 0.00 +ATOM 58 OW SOL 20 14.160 9.510 11.450 1.00 0.00 +ATOM 59 HW1 SOL 20 14.790 9.000 10.860 1.00 0.00 +ATOM 60 HW2 SOL 20 13.670 8.860 12.030 1.00 0.00 +ATOM 61 OW SOL 21 9.150 11.850 9.380 1.00 0.00 +ATOM 62 HW1 SOL 21 9.090 10.910 9.050 1.00 0.00 +ATOM 63 HW2 SOL 21 8.340 12.360 9.080 1.00 0.00 +ATOM 64 OW SOL 22 16.540 17.870 10.110 1.00 0.00 +ATOM 65 HW1 SOL 22 17.200 17.890 10.850 1.00 0.00 +ATOM 66 HW2 SOL 22 16.800 17.160 9.450 1.00 0.00 +ATOM 67 OW SOL 23 3.450 8.710 8.450 1.00 0.00 +ATOM 68 HW1 SOL 23 3.680 8.000 9.110 1.00 0.00 +ATOM 69 HW2 SOL 23 2.460 8.840 8.430 1.00 0.00 +ATOM 70 OW SOL 24 17.690 6.920 15.990 1.00 0.00 +ATOM 71 HW1 SOL 24 17.450 6.010 16.320 1.00 0.00 +ATOM 72 HW2 SOL 24 16.860 7.440 15.800 1.00 0.00 +ATOM 73 OW SOL 25 16.490 17.990 17.440 1.00 0.00 +ATOM 74 HW1 SOL 25 15.990 17.300 16.920 1.00 0.00 +ATOM 75 HW2 SOL 25 16.570 18.820 16.900 1.00 0.00 +ATOM 76 OW SOL 26 15.920 5.430 3.240 1.00 0.00 +ATOM 77 HW1 SOL 26 15.620 6.210 3.790 1.00 0.00 +ATOM 78 HW2 SOL 26 15.420 5.430 2.370 1.00 0.00 +ATOM 79 OW SOL 27 8.570 10.790 18.190 1.00 0.00 +ATOM 80 HW1 SOL 27 8.380 9.940 18.670 1.00 0.00 +ATOM 81 HW2 SOL 27 9.540 10.840 17.960 1.00 0.00 +ATOM 82 OW SOL 28 18.890 12.880 16.390 1.00 0.00 +ATOM 83 HW1 SOL 28 19.000 11.920 16.140 1.00 0.00 +ATOM 84 HW2 SOL 28 19.250 13.020 17.320 1.00 0.00 +ATOM 85 OW SOL 29 12.490 11.360 10.610 1.00 0.00 +ATOM 86 HW1 SOL 29 12.650 11.820 9.730 1.00 0.00 +ATOM 87 HW2 SOL 29 13.270 10.760 10.810 1.00 0.00 +ATOM 88 OW SOL 30 9.110 3.890 15.620 1.00 0.00 +ATOM 89 HW1 SOL 30 8.960 3.560 14.680 1.00 0.00 +ATOM 90 HW2 SOL 30 8.440 4.610 15.820 1.00 0.00 +ATOM 91 OW SOL 31 3.050 10.090 3.160 1.00 0.00 +ATOM 92 HW1 SOL 31 2.160 10.300 3.580 1.00 0.00 +ATOM 93 HW2 SOL 31 3.620 10.910 3.180 1.00 0.00 +ATOM 94 OW SOL 32 3.570 6.110 5.860 1.00 0.00 +ATOM 95 HW1 SOL 32 2.600 6.050 5.630 1.00 0.00 +ATOM 96 HW2 SOL 32 3.680 6.610 6.720 1.00 0.00 +ATOM 97 OW SOL 33 2.350 1.590 15.920 1.00 0.00 +ATOM 98 HW1 SOL 33 2.530 0.660 15.600 1.00 0.00 +ATOM 99 HW2 SOL 33 2.170 1.580 16.900 1.00 0.00 +ATOM 100 OW SOL 34 11.200 11.560 17.500 1.00 0.00 +ATOM 101 HW1 SOL 34 11.410 10.780 18.080 1.00 0.00 +ATOM 102 HW2 SOL 34 12.030 12.080 17.300 1.00 0.00 +ATOM 103 OW SOL 35 8.840 9.480 8.000 1.00 0.00 +ATOM 104 HW1 SOL 35 7.860 9.460 8.190 1.00 0.00 +ATOM 105 HW2 SOL 35 9.290 8.710 8.450 1.00 0.00 +ATOM 106 OW SOL 36 6.970 12.070 1.720 1.00 0.00 +ATOM 107 HW1 SOL 36 6.830 11.770 0.770 1.00 0.00 +ATOM 108 HW2 SOL 36 7.710 11.540 2.130 1.00 0.00 +ATOM 109 OW SOL 37 3.660 17.020 12.070 1.00 0.00 +ATOM 110 HW1 SOL 37 2.770 16.820 11.660 1.00 0.00 +ATOM 111 HW2 SOL 37 3.540 17.600 12.870 1.00 0.00 +ATOM 112 OW SOL 38 16.750 9.230 18.800 1.00 0.00 +ATOM 113 HW1 SOL 38 17.490 9.060 18.160 1.00 0.00 +ATOM 114 HW2 SOL 38 16.050 9.800 18.360 1.00 0.00 +ATOM 115 OW SOL 39 8.890 1.730 12.930 1.00 0.00 +ATOM 116 HW1 SOL 39 8.980 1.180 13.760 1.00 0.00 +ATOM 117 HW2 SOL 39 9.670 1.560 12.330 1.00 0.00 +ATOM 118 OW SOL 40 8.260 6.700 15.270 1.00 0.00 +ATOM 119 HW1 SOL 40 7.550 7.180 15.800 1.00 0.00 +ATOM 120 HW2 SOL 40 9.040 7.310 15.140 1.00 0.00 +ATOM 121 OW SOL 41 1.640 10.770 11.180 1.00 0.00 +ATOM 122 HW1 SOL 41 0.710 10.670 10.820 1.00 0.00 +ATOM 123 HW2 SOL 41 2.170 11.380 10.590 1.00 0.00 +ATOM 124 OW SOL 42 7.940 8.600 0.620 1.00 0.00 +ATOM 125 HW1 SOL 42 8.630 8.530 1.340 1.00 0.00 +ATOM 126 HW2 SOL 42 7.680 7.680 0.320 1.00 0.00 +ATOM 127 OW SOL 43 9.350 4.660 3.510 1.00 0.00 +ATOM 128 HW1 SOL 43 10.100 4.180 3.980 1.00 0.00 +ATOM 129 HW2 SOL 43 8.630 4.000 3.280 1.00 0.00 +ATOM 130 OW SOL 44 10.420 15.150 17.740 1.00 0.00 +ATOM 131 HW1 SOL 44 10.510 14.310 17.210 1.00 0.00 +ATOM 132 HW2 SOL 44 11.060 15.840 17.390 1.00 0.00 +ATOM 133 OW SOL 45 7.320 12.790 16.470 1.00 0.00 +ATOM 134 HW1 SOL 45 7.620 12.060 17.080 1.00 0.00 +ATOM 135 HW2 SOL 45 7.960 12.860 15.700 1.00 0.00 +ATOM 136 OW SOL 46 2.020 6.540 9.850 1.00 0.00 +ATOM 137 HW1 SOL 46 2.180 6.450 10.830 1.00 0.00 +ATOM 138 HW2 SOL 46 1.090 6.880 9.690 1.00 0.00 +ATOM 139 OW SOL 47 17.780 8.980 4.240 1.00 0.00 +ATOM 140 HW1 SOL 47 17.230 8.680 5.020 1.00 0.00 +ATOM 141 HW2 SOL 47 18.140 8.180 3.760 1.00 0.00 +ATOM 142 OW SOL 48 10.770 5.760 6.640 1.00 0.00 +ATOM 143 HW1 SOL 48 11.140 6.660 6.850 1.00 0.00 +ATOM 144 HW2 SOL 48 10.680 5.230 7.480 1.00 0.00 +ATOM 145 OW SOL 49 11.480 17.660 12.680 1.00 0.00 +ATOM 146 HW1 SOL 49 11.190 18.430 12.100 1.00 0.00 +ATOM 147 HW2 SOL 49 10.670 17.220 13.070 1.00 0.00 +ATOM 148 OW SOL 50 7.030 18.440 2.940 1.00 0.00 +ATOM 149 HW1 SOL 50 7.510 18.300 3.800 1.00 0.00 +ATOM 150 HW2 SOL 50 7.660 18.840 2.270 1.00 0.00 +ATOM 151 OW SOL 51 10.110 14.510 2.360 1.00 0.00 +ATOM 152 HW1 SOL 51 9.290 14.780 1.850 1.00 0.00 +ATOM 153 HW2 SOL 51 10.060 14.880 3.290 1.00 0.00 +ATOM 154 OW SOL 52 4.940 5.880 1.660 1.00 0.00 +ATOM 155 HW1 SOL 52 4.860 6.550 2.400 1.00 0.00 +ATOM 156 HW2 SOL 52 4.110 5.910 1.100 1.00 0.00 +ATOM 157 OW SOL 53 10.090 0.490 8.240 1.00 0.00 +ATOM 158 HW1 SOL 53 9.520 1.290 8.050 1.00 0.00 +ATOM 159 HW2 SOL 53 10.790 0.400 7.530 1.00 0.00 +ATOM 160 OW SOL 54 0.240 17.030 15.500 1.00 0.00 +ATOM 161 HW1 SOL 54 -0.020 17.980 15.340 1.00 0.00 +ATOM 162 HW2 SOL 54 -0.190 16.450 14.800 1.00 0.00 +ATOM 163 OW SOL 55 15.130 16.240 15.640 1.00 0.00 +ATOM 164 HW1 SOL 55 15.070 16.740 14.780 1.00 0.00 +ATOM 165 HW2 SOL 55 15.540 15.340 15.470 1.00 0.00 +ATOM 166 OW SOL 56 14.140 17.760 13.180 1.00 0.00 +ATOM 167 HW1 SOL 56 13.160 17.810 12.950 1.00 0.00 +ATOM 168 HW2 SOL 56 14.650 17.390 12.410 1.00 0.00 +ATOM 169 OW SOL 57 11.240 9.790 14.320 1.00 0.00 +ATOM 170 HW1 SOL 57 12.220 9.780 14.520 1.00 0.00 +ATOM 171 HW2 SOL 57 10.810 10.570 14.780 1.00 0.00 +ATOM 172 OW SOL 58 14.300 6.300 9.500 1.00 0.00 +ATOM 173 HW1 SOL 58 14.280 5.410 9.040 1.00 0.00 +ATOM 174 HW2 SOL 58 14.790 6.210 10.370 1.00 0.00 +ATOM 175 OW SOL 59 17.100 1.760 3.800 1.00 0.00 +ATOM 176 HW1 SOL 59 17.860 1.680 4.430 1.00 0.00 +ATOM 177 HW2 SOL 59 16.300 1.270 4.170 1.00 0.00 +ATOM 178 OW SOL 60 5.080 13.840 17.510 1.00 0.00 +ATOM 179 HW1 SOL 60 4.590 13.120 18.000 1.00 0.00 +ATOM 180 HW2 SOL 60 5.950 13.490 17.180 1.00 0.00 +ATOM 181 OW SOL 61 14.020 3.760 4.120 1.00 0.00 +ATOM 182 HW1 SOL 61 14.740 4.390 3.840 1.00 0.00 +ATOM 183 HW2 SOL 61 14.430 2.950 4.540 1.00 0.00 +ATOM 184 OW SOL 62 5.300 17.330 7.100 1.00 0.00 +ATOM 185 HW1 SOL 62 5.020 18.190 7.540 1.00 0.00 +ATOM 186 HW2 SOL 62 5.720 16.740 7.780 1.00 0.00 +ATOM 187 OW SOL 63 11.690 12.470 1.810 1.00 0.00 +ATOM 188 HW1 SOL 63 11.240 13.360 1.790 1.00 0.00 +ATOM 189 HW2 SOL 63 11.190 11.830 1.230 1.00 0.00 +ATOM 190 OW SOL 64 9.870 7.550 9.630 1.00 0.00 +ATOM 191 HW1 SOL 64 10.330 6.670 9.520 1.00 0.00 +ATOM 192 HW2 SOL 64 10.480 8.180 10.110 1.00 0.00 +ATOM 193 OW SOL 65 14.730 0.900 10.650 1.00 0.00 +ATOM 194 HW1 SOL 65 14.270 0.980 9.760 1.00 0.00 +ATOM 195 HW2 SOL 65 15.440 0.200 10.590 1.00 0.00 +ATOM 196 OW SOL 66 13.400 13.110 17.030 1.00 0.00 +ATOM 197 HW1 SOL 66 13.940 13.840 17.460 1.00 0.00 +ATOM 198 HW2 SOL 66 13.550 13.110 16.050 1.00 0.00 +ATOM 199 OW SOL 67 0.710 3.490 2.440 1.00 0.00 +ATOM 200 HW1 SOL 67 1.560 3.310 2.940 1.00 0.00 +ATOM 201 HW2 SOL 67 0.400 2.650 2.000 1.00 0.00 +ATOM 202 OW SOL 68 14.910 4.580 14.810 1.00 0.00 +ATOM 203 HW1 SOL 68 15.300 4.290 13.930 1.00 0.00 +ATOM 204 HW2 SOL 68 14.100 4.040 15.010 1.00 0.00 +ATOM 205 OW SOL 69 3.260 15.250 1.820 1.00 0.00 +ATOM 206 HW1 SOL 69 3.830 16.040 1.580 1.00 0.00 +ATOM 207 HW2 SOL 69 3.530 14.470 1.260 1.00 0.00 +ATOM 208 OW SOL 70 15.110 0.080 7.200 1.00 0.00 +ATOM 209 HW1 SOL 70 15.310 0.830 7.840 1.00 0.00 +ATOM 210 HW2 SOL 70 15.830 -0.600 7.250 1.00 0.00 +ATOM 211 OW SOL 71 12.070 7.210 18.300 1.00 0.00 +ATOM 212 HW1 SOL 71 11.470 6.650 18.870 1.00 0.00 +ATOM 213 HW2 SOL 71 12.180 6.770 17.400 1.00 0.00 +ATOM 214 OW SOL 72 18.830 9.950 7.950 1.00 0.00 +ATOM 215 HW1 SOL 72 18.820 10.550 8.750 1.00 0.00 +ATOM 216 HW2 SOL 72 17.890 9.790 7.650 1.00 0.00 +ATOM 217 OW SOL 73 12.610 2.020 2.780 1.00 0.00 +ATOM 218 HW1 SOL 73 12.340 2.260 1.850 1.00 0.00 +ATOM 219 HW2 SOL 73 13.090 2.790 3.200 1.00 0.00 +ATOM 220 OW SOL 74 1.380 4.310 13.840 1.00 0.00 +ATOM 221 HW1 SOL 74 2.020 4.390 14.600 1.00 0.00 +ATOM 222 HW2 SOL 74 1.350 3.370 13.520 1.00 0.00 +ATOM 223 OW SOL 75 12.310 7.910 7.520 1.00 0.00 +ATOM 224 HW1 SOL 75 12.750 8.780 7.320 1.00 0.00 +ATOM 225 HW2 SOL 75 12.930 7.340 8.060 1.00 0.00 +ATOM 226 OW SOL 76 0.710 16.310 2.690 1.00 0.00 +ATOM 227 HW1 SOL 76 0.330 16.700 1.850 1.00 0.00 +ATOM 228 HW2 SOL 76 1.470 15.700 2.460 1.00 0.00 +ATOM 229 OW SOL 77 1.600 2.360 10.470 1.00 0.00 +ATOM 230 HW1 SOL 77 2.550 2.520 10.210 1.00 0.00 +ATOM 231 HW2 SOL 77 1.570 1.850 11.330 1.00 0.00 +ATOM 232 OW SOL 78 14.580 14.480 4.640 1.00 0.00 +ATOM 233 HW1 SOL 78 14.840 15.430 4.440 1.00 0.00 +ATOM 234 HW2 SOL 78 13.600 14.440 4.810 1.00 0.00 +ATOM 235 OW SOL 79 4.490 12.500 2.830 1.00 0.00 +ATOM 236 HW1 SOL 79 5.460 12.280 2.720 1.00 0.00 +ATOM 237 HW2 SOL 79 4.390 13.360 3.320 1.00 0.00 +ATOM 238 OW SOL 80 1.130 15.580 17.550 1.00 0.00 +ATOM 239 HW1 SOL 80 0.720 16.130 16.820 1.00 0.00 +ATOM 240 HW2 SOL 80 2.080 15.870 17.700 1.00 0.00 +ATOM 241 OW SOL 81 3.650 4.210 9.270 1.00 0.00 +ATOM 242 HW1 SOL 81 4.510 4.490 8.820 1.00 0.00 +ATOM 243 HW2 SOL 81 3.010 4.980 9.250 1.00 0.00 +ATOM 244 OW SOL 82 14.390 12.320 2.770 1.00 0.00 +ATOM 245 HW1 SOL 82 14.620 12.880 3.570 1.00 0.00 +ATOM 246 HW2 SOL 82 13.390 12.270 2.680 1.00 0.00 +ATOM 247 OW SOL 83 10.190 5.240 0.760 1.00 0.00 +ATOM 248 HW1 SOL 83 9.510 5.630 0.130 1.00 0.00 +ATOM 249 HW2 SOL 83 9.750 5.010 1.630 1.00 0.00 +ATOM 250 OW SOL 84 15.640 5.460 11.740 1.00 0.00 +ATOM 251 HW1 SOL 84 15.840 4.510 11.500 1.00 0.00 +ATOM 252 HW2 SOL 84 16.360 5.810 12.340 1.00 0.00 +ATOM 253 OW SOL 85 6.170 0.870 15.480 1.00 0.00 +ATOM 254 HW1 SOL 85 7.060 0.510 15.770 1.00 0.00 +ATOM 255 HW2 SOL 85 6.300 1.430 14.650 1.00 0.00 +ATOM 256 OW SOL 86 17.720 3.960 5.360 1.00 0.00 +ATOM 257 HW1 SOL 86 17.240 3.880 4.490 1.00 0.00 +ATOM 258 HW2 SOL 86 18.410 3.240 5.430 1.00 0.00 +ATOM 259 OW SOL 87 3.980 6.740 17.460 1.00 0.00 +ATOM 260 HW1 SOL 87 4.080 7.250 16.610 1.00 0.00 +ATOM 261 HW2 SOL 87 4.660 7.060 18.120 1.00 0.00 +ATOM 262 OW SOL 88 13.960 10.070 15.080 1.00 0.00 +ATOM 263 HW1 SOL 88 14.060 10.080 16.080 1.00 0.00 +ATOM 264 HW2 SOL 88 14.860 10.080 14.650 1.00 0.00 +ATOM 265 OW SOL 89 3.660 1.240 0.770 1.00 0.00 +ATOM 266 HW1 SOL 89 3.310 1.830 1.500 1.00 0.00 +ATOM 267 HW2 SOL 89 2.920 1.010 0.140 1.00 0.00 +ATOM 268 OW SOL 90 5.140 5.540 13.900 1.00 0.00 +ATOM 269 HW1 SOL 90 5.110 5.000 14.740 1.00 0.00 +ATOM 270 HW2 SOL 90 5.640 6.390 14.080 1.00 0.00 +ATOM 271 OW SOL 91 15.750 8.850 9.270 1.00 0.00 +ATOM 272 HW1 SOL 91 15.780 9.420 8.440 1.00 0.00 +ATOM 273 HW2 SOL 91 15.430 7.930 9.020 1.00 0.00 +ATOM 274 OW SOL 92 18.380 14.630 7.030 1.00 0.00 +ATOM 275 HW1 SOL 92 17.860 13.840 6.710 1.00 0.00 +ATOM 276 HW2 SOL 92 19.100 14.840 6.370 1.00 0.00 +ATOM 277 OW SOL 93 15.170 10.000 3.740 1.00 0.00 +ATOM 278 HW1 SOL 93 16.160 9.940 3.870 1.00 0.00 +ATOM 279 HW2 SOL 93 14.920 10.960 3.570 1.00 0.00 +ATOM 280 OW SOL 94 9.670 9.890 5.420 1.00 0.00 +ATOM 281 HW1 SOL 94 10.120 9.050 5.140 1.00 0.00 +ATOM 282 HW2 SOL 94 9.300 9.790 6.340 1.00 0.00 +ATOM 283 OW SOL 95 14.220 12.870 14.330 1.00 0.00 +ATOM 284 HW1 SOL 95 14.980 13.360 14.770 1.00 0.00 +ATOM 285 HW2 SOL 95 14.520 11.960 14.050 1.00 0.00 +ATOM 286 OW SOL 96 14.960 7.090 4.950 1.00 0.00 +ATOM 287 HW1 SOL 96 14.530 7.960 5.210 1.00 0.00 +ATOM 288 HW2 SOL 96 15.570 6.790 5.680 1.00 0.00 +ATOM 289 OW SOL 97 15.380 1.610 16.350 1.00 0.00 +ATOM 290 HW1 SOL 97 15.510 2.560 16.650 1.00 0.00 +ATOM 291 HW2 SOL 97 14.420 1.370 16.410 1.00 0.00 +ATOM 292 OW SOL 98 5.540 8.340 16.040 1.00 0.00 +ATOM 293 HW1 SOL 98 5.870 8.730 15.180 1.00 0.00 +ATOM 294 HW2 SOL 98 5.220 9.080 16.640 1.00 0.00 +ATOM 295 OW SOL 99 16.610 16.730 2.860 1.00 0.00 +ATOM 296 HW1 SOL 99 16.350 17.380 2.150 1.00 0.00 +ATOM 297 HW2 SOL 99 17.140 17.200 3.560 1.00 0.00 +ATOM 298 OW SOL 100 3.830 12.250 6.920 1.00 0.00 +ATOM 299 HW1 SOL 100 2.930 11.870 6.680 1.00 0.00 +ATOM 300 HW2 SOL 100 3.870 13.210 6.650 1.00 0.00 +ATOM 301 OW SOL 101 3.280 2.500 3.450 1.00 0.00 +ATOM 302 HW1 SOL 101 3.840 3.310 3.640 1.00 0.00 +ATOM 303 HW2 SOL 101 3.670 1.710 3.930 1.00 0.00 +ATOM 304 OW SOL 102 8.790 1.420 5.340 1.00 0.00 +ATOM 305 HW1 SOL 102 9.150 1.600 4.430 1.00 0.00 +ATOM 306 HW2 SOL 102 9.190 2.070 5.990 1.00 0.00 +ATOM 307 OW SOL 103 6.250 1.740 12.860 1.00 0.00 +ATOM 308 HW1 SOL 103 7.250 1.780 12.920 1.00 0.00 +ATOM 309 HW2 SOL 103 5.910 2.570 12.420 1.00 0.00 +ATOM 310 OW SOL 104 5.120 17.700 1.050 1.00 0.00 +ATOM 311 HW1 SOL 104 5.820 17.640 1.760 1.00 0.00 +ATOM 312 HW2 SOL 104 4.560 18.510 1.190 1.00 0.00 +ATOM 313 OW SOL 105 1.280 17.380 8.350 1.00 0.00 +ATOM 314 HW1 SOL 105 1.570 16.670 7.710 1.00 0.00 +ATOM 315 HW2 SOL 105 1.410 17.060 9.290 1.00 0.00 +ATOM 316 OW SOL 106 15.040 7.710 1.460 1.00 0.00 +ATOM 317 HW1 SOL 106 15.390 8.550 1.050 1.00 0.00 +ATOM 318 HW2 SOL 106 14.690 7.910 2.370 1.00 0.00 +ATOM 319 OW SOL 107 18.790 0.520 1.740 1.00 0.00 +ATOM 320 HW1 SOL 107 18.360 -0.320 1.410 1.00 0.00 +ATOM 321 HW2 SOL 107 18.150 1.020 2.330 1.00 0.00 +ATOM 322 OW SOL 108 13.550 16.420 10.730 1.00 0.00 +ATOM 323 HW1 SOL 108 12.850 16.420 11.440 1.00 0.00 +ATOM 324 HW2 SOL 108 13.120 16.260 9.840 1.00 0.00 +ATOM 325 OW SOL 109 0.880 16.660 11.050 1.00 0.00 +ATOM 326 HW1 SOL 109 0.200 17.080 11.640 1.00 0.00 +ATOM 327 HW2 SOL 109 0.470 15.880 10.570 1.00 0.00 +ATOM 328 OW SOL 110 17.870 14.100 3.490 1.00 0.00 +ATOM 329 HW1 SOL 110 17.290 14.830 3.140 1.00 0.00 +ATOM 330 HW2 SOL 110 18.660 14.500 3.960 1.00 0.00 +ATOM 331 OW SOL 111 1.030 10.340 15.470 1.00 0.00 +ATOM 332 HW1 SOL 111 1.200 10.030 14.530 1.00 0.00 +ATOM 333 HW2 SOL 111 0.600 9.610 16.000 1.00 0.00 +ATOM 334 OW SOL 112 16.810 14.980 11.110 1.00 0.00 +ATOM 335 HW1 SOL 112 15.870 15.220 10.860 1.00 0.00 +ATOM 336 HW2 SOL 112 17.280 14.630 10.310 1.00 0.00 +ATOM 337 OW SOL 113 18.090 3.030 17.920 1.00 0.00 +ATOM 338 HW1 SOL 113 17.960 4.020 18.030 1.00 0.00 +ATOM 339 HW2 SOL 113 17.590 2.550 18.630 1.00 0.00 +ATOM 340 OW SOL 114 11.740 1.260 6.190 1.00 0.00 +ATOM 341 HW1 SOL 114 11.680 2.130 5.700 1.00 0.00 +ATOM 342 HW2 SOL 114 11.730 0.510 5.530 1.00 0.00 +ATOM 343 OW SOL 115 12.190 18.530 4.150 1.00 0.00 +ATOM 344 HW1 SOL 115 12.210 19.400 3.650 1.00 0.00 +ATOM 345 HW2 SOL 115 12.220 17.770 3.510 1.00 0.00 +ATOM 346 OW SOL 116 0.600 14.380 9.350 1.00 0.00 +ATOM 347 HW1 SOL 116 1.390 13.770 9.370 1.00 0.00 +ATOM 348 HW2 SOL 116 0.240 14.430 8.420 1.00 0.00 +ATOM 349 OW SOL 117 6.540 12.430 7.930 1.00 0.00 +ATOM 350 HW1 SOL 117 5.680 12.420 7.410 1.00 0.00 +ATOM 351 HW2 SOL 117 6.680 11.540 8.360 1.00 0.00 +ATOM 352 OW SOL 118 3.020 4.280 15.910 1.00 0.00 +ATOM 353 HW1 SOL 118 3.050 3.290 16.070 1.00 0.00 +ATOM 354 HW2 SOL 118 2.580 4.730 16.680 1.00 0.00 +ATOM 355 OW SOL 119 18.330 5.780 2.370 1.00 0.00 +ATOM 356 HW1 SOL 119 17.440 5.520 2.730 1.00 0.00 +ATOM 357 HW2 SOL 119 18.920 4.970 2.310 1.00 0.00 +ATOM 358 OW SOL 120 10.530 9.330 11.750 1.00 0.00 +ATOM 359 HW1 SOL 120 10.990 10.110 11.330 1.00 0.00 +ATOM 360 HW2 SOL 120 10.770 9.280 12.710 1.00 0.00 +ATOM 361 OW SOL 121 18.420 11.850 10.100 1.00 0.00 +ATOM 362 HW1 SOL 121 17.470 11.990 10.390 1.00 0.00 +ATOM 363 HW2 SOL 121 18.840 12.730 9.900 1.00 0.00 +ATOM 364 OW SOL 122 0.090 11.250 3.750 1.00 0.00 +ATOM 365 HW1 SOL 122 -0.390 10.390 3.930 1.00 0.00 +ATOM 366 HW2 SOL 122 -0.310 11.700 2.950 1.00 0.00 +ATOM 367 OW SOL 123 0.330 1.520 5.440 1.00 0.00 +ATOM 368 HW1 SOL 123 0.770 0.700 5.080 1.00 0.00 +ATOM 369 HW2 SOL 123 0.510 1.580 6.430 1.00 0.00 +ATOM 370 OW SOL 124 12.080 14.370 4.720 1.00 0.00 +ATOM 371 HW1 SOL 124 11.660 13.470 4.750 1.00 0.00 +ATOM 372 HW2 SOL 124 11.410 15.060 5.010 1.00 0.00 +ATOM 373 OW SOL 125 0.450 8.500 17.280 1.00 0.00 +ATOM 374 HW1 SOL 125 -0.220 7.850 16.920 1.00 0.00 +ATOM 375 HW2 SOL 125 0.940 8.080 18.040 1.00 0.00 +ATOM 376 OW SOL 126 18.090 5.800 13.420 1.00 0.00 +ATOM 377 HW1 SOL 126 18.010 6.350 14.250 1.00 0.00 +ATOM 378 HW2 SOL 126 18.990 5.350 13.410 1.00 0.00 +ATOM 379 OW SOL 127 7.230 6.000 0.190 1.00 0.00 +ATOM 380 HW1 SOL 127 6.400 5.880 0.730 1.00 0.00 +ATOM 381 HW2 SOL 127 7.180 5.450 -0.640 1.00 0.00 +ATOM 382 OW SOL 128 18.860 12.130 13.030 1.00 0.00 +ATOM 383 HW1 SOL 128 19.370 11.710 12.280 1.00 0.00 +ATOM 384 HW2 SOL 128 19.500 12.580 13.660 1.00 0.00 +ATOM 385 OW SOL 129 17.940 3.540 10.670 1.00 0.00 +ATOM 386 HW1 SOL 129 17.440 3.060 11.390 1.00 0.00 +ATOM 387 HW2 SOL 129 18.910 3.280 10.710 1.00 0.00 +ATOM 388 OW SOL 130 3.730 12.140 0.260 1.00 0.00 +ATOM 389 HW1 SOL 130 3.890 11.250 -0.160 1.00 0.00 +ATOM 390 HW2 SOL 130 3.910 12.080 1.240 1.00 0.00 +ATOM 391 OW SOL 131 17.390 2.530 8.180 1.00 0.00 +ATOM 392 HW1 SOL 131 17.600 2.890 9.090 1.00 0.00 +ATOM 393 HW2 SOL 131 18.210 2.110 7.790 1.00 0.00 +ATOM 394 OW SOL 132 2.950 12.670 9.730 1.00 0.00 +ATOM 395 HW1 SOL 132 3.470 13.320 10.270 1.00 0.00 +ATOM 396 HW2 SOL 132 3.500 12.350 8.960 1.00 0.00 +ATOM 397 OW SOL 133 11.970 11.510 4.330 1.00 0.00 +ATOM 398 HW1 SOL 133 11.630 11.730 3.420 1.00 0.00 +ATOM 399 HW2 SOL 133 11.280 10.980 4.820 1.00 0.00 +ATOM 400 OW SOL 134 12.800 16.940 17.060 1.00 0.00 +ATOM 401 HW1 SOL 134 13.130 16.740 17.980 1.00 0.00 +ATOM 402 HW2 SOL 134 13.490 16.680 16.390 1.00 0.00 +ATOM 403 OW SOL 135 9.400 15.660 4.740 1.00 0.00 +ATOM 404 HW1 SOL 135 8.990 15.070 5.440 1.00 0.00 +ATOM 405 HW2 SOL 135 9.200 16.610 4.950 1.00 0.00 +ATOM 406 OW SOL 136 14.940 7.190 15.340 1.00 0.00 +ATOM 407 HW1 SOL 136 14.830 6.230 15.070 1.00 0.00 +ATOM 408 HW2 SOL 136 14.570 7.780 14.620 1.00 0.00 +ATOM 409 OW SOL 137 16.650 12.920 5.760 1.00 0.00 +ATOM 410 HW1 SOL 137 15.850 13.510 5.620 1.00 0.00 +ATOM 411 HW2 SOL 137 17.230 12.950 4.950 1.00 0.00 +ATOM 412 OW SOL 138 2.820 6.180 12.480 1.00 0.00 +ATOM 413 HW1 SOL 138 2.110 5.710 12.990 1.00 0.00 +ATOM 414 HW2 SOL 138 3.640 6.270 13.060 1.00 0.00 +ATOM 415 OW SOL 139 1.230 1.380 18.460 1.00 0.00 +ATOM 416 HW1 SOL 139 0.810 1.000 19.280 1.00 0.00 +ATOM 417 HW2 SOL 139 0.600 2.030 18.030 1.00 0.00 +ATOM 418 OW SOL 140 6.250 4.620 16.930 1.00 0.00 +ATOM 419 HW1 SOL 140 6.280 3.680 17.260 1.00 0.00 +ATOM 420 HW2 SOL 140 5.340 5.000 17.100 1.00 0.00 +ATOM 421 OW SOL 141 11.600 15.400 8.260 1.00 0.00 +ATOM 422 HW1 SOL 141 10.720 15.840 8.400 1.00 0.00 +ATOM 423 HW2 SOL 141 12.160 15.970 7.660 1.00 0.00 +ATOM 424 OW SOL 142 13.020 1.810 8.690 1.00 0.00 +ATOM 425 HW1 SOL 142 12.470 1.440 7.930 1.00 0.00 +ATOM 426 HW2 SOL 142 13.550 2.590 8.370 1.00 0.00 +ATOM 427 OW SOL 143 5.730 14.630 4.290 1.00 0.00 +ATOM 428 HW1 SOL 143 5.960 14.750 3.330 1.00 0.00 +ATOM 429 HW2 SOL 143 6.530 14.810 4.850 1.00 0.00 +ATOM 430 OW SOL 144 17.660 5.510 18.710 1.00 0.00 +ATOM 431 HW1 SOL 144 16.720 5.820 18.550 1.00 0.00 +ATOM 432 HW2 SOL 144 17.860 5.560 19.690 1.00 0.00 +ATOM 433 OW SOL 145 5.930 5.730 8.500 1.00 0.00 +ATOM 434 HW1 SOL 145 6.490 5.730 7.670 1.00 0.00 +ATOM 435 HW2 SOL 145 6.470 6.040 9.270 1.00 0.00 +ATOM 436 OW SOL 146 2.920 18.140 15.270 1.00 0.00 +ATOM 437 HW1 SOL 146 2.100 17.570 15.360 1.00 0.00 +ATOM 438 HW2 SOL 146 3.660 17.740 15.800 1.00 0.00 +ATOM 439 OW SOL 147 7.850 14.520 6.900 1.00 0.00 +ATOM 440 HW1 SOL 147 7.540 13.650 7.260 1.00 0.00 +ATOM 441 HW2 SOL 147 8.130 15.120 7.650 1.00 0.00 +ATOM 442 OW SOL 148 8.390 3.320 10.630 1.00 0.00 +ATOM 443 HW1 SOL 148 7.410 3.170 10.500 1.00 0.00 +ATOM 444 HW2 SOL 148 8.660 3.020 11.540 1.00 0.00 +ATOM 445 OW SOL 149 0.580 5.890 5.250 1.00 0.00 +ATOM 446 HW1 SOL 149 0.060 5.110 5.600 1.00 0.00 +ATOM 447 HW2 SOL 149 0.400 6.000 4.270 1.00 0.00 +ATOM 448 OW SOL 150 4.650 14.400 11.350 1.00 0.00 +ATOM 449 HW1 SOL 150 4.050 14.980 11.890 1.00 0.00 +ATOM 450 HW2 SOL 150 5.480 14.190 11.880 1.00 0.00 +ATOM 451 OW SOL 151 7.280 8.460 4.990 1.00 0.00 +ATOM 452 HW1 SOL 151 8.050 9.090 5.060 1.00 0.00 +ATOM 453 HW2 SOL 151 6.500 8.840 5.490 1.00 0.00 +ATOM 454 OW SOL 152 15.540 13.040 0.580 1.00 0.00 +ATOM 455 HW1 SOL 152 16.470 12.760 0.800 1.00 0.00 +ATOM 456 HW2 SOL 152 14.910 12.690 1.270 1.00 0.00 +ATOM 457 OW SOL 153 10.380 13.420 15.400 1.00 0.00 +ATOM 458 HW1 SOL 153 10.950 13.210 14.610 1.00 0.00 +ATOM 459 HW2 SOL 153 10.550 12.750 16.120 1.00 0.00 +ATOM 460 OW SOL 154 1.410 11.440 6.290 1.00 0.00 +ATOM 461 HW1 SOL 154 0.910 10.680 6.700 1.00 0.00 +ATOM 462 HW2 SOL 154 0.970 11.690 5.430 1.00 0.00 +ATOM 463 OW SOL 155 4.870 9.680 5.880 1.00 0.00 +ATOM 464 HW1 SOL 155 4.840 10.670 6.030 1.00 0.00 +ATOM 465 HW2 SOL 155 4.370 9.220 6.610 1.00 0.00 +ATOM 466 OW SOL 156 11.990 12.730 12.670 1.00 0.00 +ATOM 467 HW1 SOL 156 12.200 12.160 11.880 1.00 0.00 +ATOM 468 HW2 SOL 156 12.820 12.900 13.200 1.00 0.00 +ATOM 469 OW SOL 157 15.740 11.790 11.330 1.00 0.00 +ATOM 470 HW1 SOL 157 15.190 10.980 11.510 1.00 0.00 +ATOM 471 HW2 SOL 157 15.590 12.470 12.040 1.00 0.00 +ATOM 472 OW SOL 158 11.800 3.050 0.380 1.00 0.00 +ATOM 473 HW1 SOL 158 11.290 2.190 0.260 1.00 0.00 +ATOM 474 HW2 SOL 158 11.150 3.800 0.510 1.00 0.00 +ATOM 475 OW SOL 159 18.220 15.420 13.450 1.00 0.00 +ATOM 476 HW1 SOL 159 17.620 15.260 12.660 1.00 0.00 +ATOM 477 HW2 SOL 159 19.020 14.830 13.370 1.00 0.00 +ATOM 478 OW SOL 160 6.210 8.170 13.090 1.00 0.00 +ATOM 479 HW1 SOL 160 5.320 8.610 12.970 1.00 0.00 +ATOM 480 HW2 SOL 160 6.440 7.640 12.280 1.00 0.00 +ATOM 481 OW SOL 161 15.270 18.010 0.920 1.00 0.00 +ATOM 482 HW1 SOL 161 15.630 18.000 -0.010 1.00 0.00 +ATOM 483 HW2 SOL 161 15.170 18.960 1.220 1.00 0.00 +ATOM 484 OW SOL 162 7.960 16.380 17.830 1.00 0.00 +ATOM 485 HW1 SOL 162 8.870 15.950 17.800 1.00 0.00 +ATOM 486 HW2 SOL 162 7.440 16.100 17.030 1.00 0.00 +ATOM 487 OW SOL 163 13.110 17.170 6.560 1.00 0.00 +ATOM 488 HW1 SOL 163 13.680 17.740 7.150 1.00 0.00 +ATOM 489 HW2 SOL 163 12.550 17.750 5.960 1.00 0.00 +ATOM 490 OW SOL 164 5.830 16.770 15.450 1.00 0.00 +ATOM 491 HW1 SOL 164 5.570 16.500 16.380 1.00 0.00 +ATOM 492 HW2 SOL 164 6.010 17.760 15.440 1.00 0.00 +ATOM 493 OW SOL 165 17.510 17.340 6.770 1.00 0.00 +ATOM 494 HW1 SOL 165 17.530 16.340 6.800 1.00 0.00 +ATOM 495 HW2 SOL 165 18.420 17.690 6.960 1.00 0.00 +ATOM 496 OW SOL 166 18.700 17.320 0.080 1.00 0.00 +ATOM 497 HW1 SOL 166 19.210 16.520 -0.220 1.00 0.00 +ATOM 498 HW2 SOL 166 17.970 17.520 -0.570 1.00 0.00 +ATOM 499 OW SOL 167 6.400 9.870 9.040 1.00 0.00 +ATOM 500 HW1 SOL 167 5.490 9.460 8.920 1.00 0.00 +ATOM 501 HW2 SOL 167 6.660 9.820 10.000 1.00 0.00 +ATOM 502 OW SOL 168 16.030 2.680 12.210 1.00 0.00 +ATOM 503 HW1 SOL 168 15.690 2.170 11.420 1.00 0.00 +ATOM 504 HW2 SOL 168 16.010 2.100 13.020 1.00 0.00 +ATOM 505 OW SOL 169 9.060 16.330 14.580 1.00 0.00 +ATOM 506 HW1 SOL 169 8.750 16.140 13.650 1.00 0.00 +ATOM 507 HW2 SOL 169 9.270 15.470 15.040 1.00 0.00 +ATOM 508 OW SOL 170 11.890 12.500 7.930 1.00 0.00 +ATOM 509 HW1 SOL 170 11.030 12.290 8.410 1.00 0.00 +ATOM 510 HW2 SOL 170 11.930 13.480 7.750 1.00 0.00 +ATOM 511 OW SOL 171 12.380 9.680 0.290 1.00 0.00 +ATOM 512 HW1 SOL 171 11.780 9.730 1.090 1.00 0.00 +ATOM 513 HW2 SOL 171 12.470 8.730 0.000 1.00 0.00 +ATOM 514 OW SOL 172 6.860 15.280 1.710 1.00 0.00 +ATOM 515 HW1 SOL 172 6.690 14.390 1.280 1.00 0.00 +ATOM 516 HW2 SOL 172 7.210 15.920 1.020 1.00 0.00 +ATOM 517 OW SOL 173 16.560 14.050 15.320 1.00 0.00 +ATOM 518 HW1 SOL 173 17.080 14.430 14.560 1.00 0.00 +ATOM 519 HW2 SOL 173 17.190 13.740 16.040 1.00 0.00 +ATOM 520 OW SOL 174 4.230 14.580 14.990 1.00 0.00 +ATOM 521 HW1 SOL 174 4.360 14.240 15.920 1.00 0.00 +ATOM 522 HW2 SOL 174 4.920 15.280 14.800 1.00 0.00 +ATOM 523 OW SOL 175 3.530 10.220 17.100 1.00 0.00 +ATOM 524 HW1 SOL 175 3.390 9.320 17.530 1.00 0.00 +ATOM 525 HW2 SOL 175 2.760 10.410 16.480 1.00 0.00 +ATOM 526 OW SOL 176 9.520 13.550 11.460 1.00 0.00 +ATOM 527 HW1 SOL 176 9.550 12.950 10.660 1.00 0.00 +ATOM 528 HW2 SOL 176 10.250 13.300 12.100 1.00 0.00 +ATOM 529 OW SOL 177 9.670 7.360 4.000 1.00 0.00 +ATOM 530 HW1 SOL 177 8.730 7.400 4.340 1.00 0.00 +ATOM 531 HW2 SOL 177 9.980 6.400 3.980 1.00 0.00 +ATOM 532 OW SOL 178 13.390 10.360 6.410 1.00 0.00 +ATOM 533 HW1 SOL 178 13.200 10.410 5.420 1.00 0.00 +ATOM 534 HW2 SOL 178 12.840 11.050 6.880 1.00 0.00 +ATOM 535 OW SOL 179 12.200 0.370 16.230 1.00 0.00 +ATOM 536 HW1 SOL 179 11.390 0.680 16.730 1.00 0.00 +ATOM 537 HW2 SOL 179 12.470 -0.530 16.560 1.00 0.00 +ATOM 538 OW SOL 180 17.720 9.140 11.980 1.00 0.00 +ATOM 539 HW1 SOL 180 17.330 9.070 11.060 1.00 0.00 +ATOM 540 HW2 SOL 180 18.210 10.010 12.070 1.00 0.00 +ATOM 541 OW SOL 181 3.570 9.170 12.520 1.00 0.00 +ATOM 542 HW1 SOL 181 3.190 10.030 12.190 1.00 0.00 +ATOM 543 HW2 SOL 181 2.840 8.500 12.640 1.00 0.00 +ATOM 544 OW SOL 182 10.950 0.320 1.060 1.00 0.00 +ATOM 545 HW1 SOL 182 10.060 0.050 0.710 1.00 0.00 +ATOM 546 HW2 SOL 182 11.490 -0.500 1.270 1.00 0.00 +ATOM 547 OW SOL 183 16.380 2.410 1.050 1.00 0.00 +ATOM 548 HW1 SOL 183 15.560 2.940 0.850 1.00 0.00 +ATOM 549 HW2 SOL 183 16.540 2.390 2.030 1.00 0.00 +ATOM 550 OW SOL 184 14.240 4.090 0.740 1.00 0.00 +ATOM 551 HW1 SOL 184 13.340 3.670 0.610 1.00 0.00 +ATOM 552 HW2 SOL 184 14.320 4.890 0.130 1.00 0.00 +ATOM 553 OW SOL 185 11.410 3.740 5.070 1.00 0.00 +ATOM 554 HW1 SOL 185 11.110 4.540 5.600 1.00 0.00 +ATOM 555 HW2 SOL 185 12.350 3.870 4.770 1.00 0.00 +ATOM 556 OW SOL 186 14.140 15.600 0.250 1.00 0.00 +ATOM 557 HW1 SOL 186 14.650 14.730 0.220 1.00 0.00 +ATOM 558 HW2 SOL 186 14.750 16.330 0.550 1.00 0.00 +ATOM 559 OW SOL 187 1.620 14.090 14.250 1.00 0.00 +ATOM 560 HW1 SOL 187 2.590 14.230 14.480 1.00 0.00 +ATOM 561 HW2 SOL 187 1.130 13.790 15.060 1.00 0.00 +ATOM 562 OW SOL 188 0.510 7.640 0.940 1.00 0.00 +ATOM 563 HW1 SOL 188 -0.010 8.370 1.390 1.00 0.00 +ATOM 564 HW2 SOL 188 0.260 6.760 1.350 1.00 0.00 +ATOM 565 OW SOL 189 7.800 3.010 1.000 1.00 0.00 +ATOM 566 HW1 SOL 189 7.350 3.350 1.820 1.00 0.00 +ATOM 567 HW2 SOL 189 7.130 2.930 0.260 1.00 0.00 +ATOM 568 OW SOL 190 3.860 16.430 18.040 1.00 0.00 +ATOM 569 HW1 SOL 190 4.240 15.500 17.980 1.00 0.00 +ATOM 570 HW2 SOL 190 4.330 16.930 18.760 1.00 0.00 +ATOM 571 OW SOL 191 7.970 5.160 6.310 1.00 0.00 +ATOM 572 HW1 SOL 191 7.610 5.180 5.380 1.00 0.00 +ATOM 573 HW2 SOL 191 8.950 5.390 6.300 1.00 0.00 +ATOM 574 OW SOL 192 5.180 8.050 3.180 1.00 0.00 +ATOM 575 HW1 SOL 192 5.960 8.240 3.770 1.00 0.00 +ATOM 576 HW2 SOL 192 4.450 8.710 3.360 1.00 0.00 +ATOM 577 OW SOL 193 5.320 4.040 11.630 1.00 0.00 +ATOM 578 HW1 SOL 193 4.760 4.430 10.900 1.00 0.00 +ATOM 579 HW2 SOL 193 5.190 4.560 12.470 1.00 0.00 +ATOM 580 OW SOL 194 9.180 3.220 8.030 1.00 0.00 +ATOM 581 HW1 SOL 194 8.530 3.670 7.420 1.00 0.00 +ATOM 582 HW2 SOL 194 8.850 3.280 8.970 1.00 0.00 +ATOM 583 OW SOL 195 6.250 16.200 9.630 1.00 0.00 +ATOM 584 HW1 SOL 195 6.060 17.150 9.900 1.00 0.00 +ATOM 585 HW2 SOL 195 5.660 15.580 10.150 1.00 0.00 +ATOM 586 OW SOL 196 14.720 3.750 7.690 1.00 0.00 +ATOM 587 HW1 SOL 196 15.690 3.660 7.900 1.00 0.00 +ATOM 588 HW2 SOL 196 14.590 4.500 7.050 1.00 0.00 +ATOM 589 OW SOL 197 8.040 18.930 0.160 1.00 0.00 +ATOM 590 HW1 SOL 197 7.940 18.030 -0.280 1.00 0.00 +ATOM 591 HW2 SOL 197 7.160 19.410 0.120 1.00 0.00 +ATOM 592 OW SOL 198 7.630 6.170 10.510 1.00 0.00 +ATOM 593 HW1 SOL 198 8.420 6.770 10.370 1.00 0.00 +ATOM 594 HW2 SOL 198 7.940 5.260 10.760 1.00 0.00 +ATOM 595 OW SOL 199 16.080 0.490 13.880 1.00 0.00 +ATOM 596 HW1 SOL 199 15.880 0.910 14.770 1.00 0.00 +ATOM 597 HW2 SOL 199 15.350 -0.140 13.630 1.00 0.00 +ATOM 598 OW SOL 200 16.050 10.440 7.050 1.00 0.00 +ATOM 599 HW1 SOL 200 15.090 10.250 6.840 1.00 0.00 +ATOM 600 HW2 SOL 200 16.300 11.330 6.680 1.00 0.00 +ATOM 601 OW SOL 201 5.100 4.680 4.240 1.00 0.00 +ATOM 602 HW1 SOL 201 4.570 5.360 4.760 1.00 0.00 +ATOM 603 HW2 SOL 201 5.260 5.020 3.320 1.00 0.00 +ATOM 604 OW SOL 202 16.610 5.860 7.050 1.00 0.00 +ATOM 605 HW1 SOL 202 17.090 5.260 6.410 1.00 0.00 +ATOM 606 HW2 SOL 202 17.120 5.900 7.910 1.00 0.00 +ATOM 607 OW SOL 203 3.000 8.680 0.620 1.00 0.00 +ATOM 608 HW1 SOL 203 3.400 9.030 1.470 1.00 0.00 +ATOM 609 HW2 SOL 203 2.160 8.180 0.830 1.00 0.00 +ATOM 610 OW SOL 204 16.610 10.290 14.430 1.00 0.00 +ATOM 611 HW1 SOL 204 17.340 10.970 14.460 1.00 0.00 +ATOM 612 HW2 SOL 204 16.800 9.620 13.700 1.00 0.00 +ATOM 613 OW SOL 205 9.800 1.580 17.190 1.00 0.00 +ATOM 614 HW1 SOL 205 9.470 2.390 16.700 1.00 0.00 +ATOM 615 HW2 SOL 205 9.120 1.310 17.880 1.00 0.00 +ATOM 616 OW SOL 206 18.380 0.930 15.570 1.00 0.00 +ATOM 617 HW1 SOL 206 17.890 1.800 15.550 1.00 0.00 +ATOM 618 HW2 SOL 206 18.970 0.900 16.380 1.00 0.00 +ATOM 619 OW SOL 207 11.390 5.050 9.560 1.00 0.00 +ATOM 620 HW1 SOL 207 11.260 4.060 9.490 1.00 0.00 +ATOM 621 HW2 SOL 207 12.210 5.230 10.110 1.00 0.00 +ATOM 622 OW SOL 208 12.910 7.710 13.290 1.00 0.00 +ATOM 623 HW1 SOL 208 12.800 6.820 12.830 1.00 0.00 +ATOM 624 HW2 SOL 208 12.040 7.980 13.700 1.00 0.00 +ATOM 625 OW SOL 209 10.910 1.030 11.220 1.00 0.00 +ATOM 626 HW1 SOL 209 11.680 1.600 11.520 1.00 0.00 +ATOM 627 HW2 SOL 209 10.880 1.010 10.220 1.00 0.00 +ATOM 628 OW SOL 210 14.420 10.650 17.890 1.00 0.00 +ATOM 629 HW1 SOL 210 13.820 10.260 18.590 1.00 0.00 +ATOM 630 HW2 SOL 210 14.530 11.630 18.060 1.00 0.00 +ATOM 631 OW SOL 211 8.290 17.880 5.620 1.00 0.00 +ATOM 632 HW1 SOL 211 8.610 18.830 5.690 1.00 0.00 +ATOM 633 HW2 SOL 211 7.940 17.580 6.500 1.00 0.00 +ATOM 634 OW SOL 212 1.340 15.380 5.440 1.00 0.00 +ATOM 635 HW1 SOL 212 2.310 15.190 5.590 1.00 0.00 +ATOM 636 HW2 SOL 212 1.220 15.820 4.550 1.00 0.00 +ATOM 637 OW SOL 213 1.240 1.480 13.290 1.00 0.00 +ATOM 638 HW1 SOL 213 2.120 1.370 13.760 1.00 0.00 +ATOM 639 HW2 SOL 213 0.500 1.320 13.940 1.00 0.00 +ATOM 640 OW SOL 214 12.890 16.650 2.540 1.00 0.00 +ATOM 641 HW1 SOL 214 13.280 16.550 1.620 1.00 0.00 +ATOM 642 HW2 SOL 214 13.030 15.810 3.060 1.00 0.00 +ATOM 643 OW SOL 215 12.840 2.690 15.130 1.00 0.00 +ATOM 644 HW1 SOL 215 12.270 3.350 15.620 1.00 0.00 +ATOM 645 HW2 SOL 215 12.520 1.760 15.320 1.00 0.00 +ATOM 646 OW SOL 216 1.780 18.470 4.460 1.00 0.00 +ATOM 647 HW1 SOL 216 1.560 18.090 3.560 1.00 0.00 +ATOM 648 HW2 SOL 216 2.760 18.680 4.500 1.00 0.00 +ATOM 649 OW SOL 217 18.060 18.720 12.240 1.00 0.00 +ATOM 650 HW1 SOL 217 17.550 18.920 13.080 1.00 0.00 +ATOM 651 HW2 SOL 217 18.590 19.530 11.980 1.00 0.00 +ATOM 652 OW SOL 218 10.390 9.700 2.370 1.00 0.00 +ATOM 653 HW1 SOL 218 10.400 8.980 3.070 1.00 0.00 +ATOM 654 HW2 SOL 218 9.720 10.400 2.630 1.00 0.00 +ATOM 655 OW SOL 219 5.600 0.860 8.640 1.00 0.00 +ATOM 656 HW1 SOL 219 5.590 0.430 9.540 1.00 0.00 +ATOM 657 HW2 SOL 219 4.900 1.580 8.600 1.00 0.00 +ATOM 658 OW SOL 220 7.910 10.060 12.060 1.00 0.00 +ATOM 659 HW1 SOL 220 8.840 9.730 11.900 1.00 0.00 +ATOM 660 HW2 SOL 220 7.440 9.450 12.690 1.00 0.00 +ATOM 661 OW SOL 221 9.040 11.720 3.400 1.00 0.00 +ATOM 662 HW1 SOL 221 9.210 11.440 4.350 1.00 0.00 +ATOM 663 HW2 SOL 221 9.480 12.600 3.240 1.00 0.00 +TER +ENDMDL diff --git a/test/test_frame.py b/test/test_frame.py index 16e47f9f3736d59437b087158cb1ea5d898d8c68..344ff8b7c71bb355f1baf13c67f9a26f519c46ef 100644 --- a/test/test_frame.py +++ b/test/test_frame.py @@ -6,7 +6,7 @@ import logging import numpy as np from pycgtool.frame import Atom, Residue, Frame -from pycgtool.frame import FrameReaderSimpleTraj, FrameReaderMDAnalysis, FrameReader +from pycgtool.frame import FrameReaderSimpleTraj, FrameReaderMDAnalysis, FrameReaderMDTraj, FrameReader try: import mdtraj @@ -54,6 +54,31 @@ class ResidueTest(unittest.TestCase): class FrameTest(unittest.TestCase): + def helper_read_xtc(self, frame, first_only=False, skip_names=False): + self.assertEqual(663, frame.natoms) + self.assertEqual(221, len(frame.residues)) + self.assertEqual(3, len(frame.residues[0].atoms)) + if not skip_names: # MDTraj renames water + self.assertEqual("SOL", frame.residues[0].name) + self.assertEqual("OW", frame.residues[0].atoms[0].name) + + atom0_coords = np.array([ + [0.696, 1.330, 1.211], + [1.176, 1.152, 1.586], + [1.122, 1.130, 1.534] + ]) + + box_vectors = np.array([ + [1.89868, 1.89868, 1.89868], + [1.9052, 1.9052, 1.9052], + [1.90325272, 1.90325272, 1.90325272] + ]) + + for i in range(1 if first_only else len(atom0_coords)): + np.testing.assert_allclose(atom0_coords[i], frame.residues[0].atoms[0].coords) + np.testing.assert_allclose(box_vectors[i], frame.box, rtol=1e-4) # PDB files are f9.3 + frame.next_frame() + def test_frame_create(self): Frame() @@ -64,35 +89,39 @@ class FrameTest(unittest.TestCase): self.assertEqual(residue, frame.residues[0]) self.assertTrue(residue is frame.residues[0]) - def helper_read_gro(self, frame): - self.assertEqual(221, len(frame.residues)) - self.assertEqual("SOL", frame.residues[0].name) - self.assertEqual(3, len(frame.residues[0].atoms)) - self.assertEqual("OW", frame.residues[0].atoms[0].name) - np.testing.assert_allclose(np.array([0.696, 1.33, 1.211]), - frame.residues[0].atoms[0].coords) - def test_frame_simpletraj_read_gro(self): frame = Frame("test/data/water.gro", xtc_reader="simpletraj") - self.helper_read_gro(frame) + self.helper_read_xtc(frame, first_only=True) - # MDTRAJ changes water name to HOH - @unittest.expectedFailure @unittest.skipIf(not mdtraj_present, "MDTRAJ or Scipy not present") def test_frame_mdtraj_read_gro(self): logging.disable(logging.WARNING) frame = Frame("test/data/water.gro", xtc_reader="mdtraj") logging.disable(logging.NOTSET) - self.helper_read_gro(frame) + self.helper_read_xtc(frame, first_only=True, skip_names=True) @unittest.skipIf(not mdanalysis_present, "MDAnalysis not present") def test_frame_mdanalysis_read_gro(self): reader = FrameReaderMDAnalysis("test/data/water.gro") frame = Frame.instance_from_reader(reader) - self.helper_read_gro(frame) + self.helper_read_xtc(frame, first_only=True) + + @unittest.skipIf(not mdtraj_present, "MDTRAJ or Scipy not present") + def test_frame_mdtraj_read_pdb(self): + reader = FrameReaderMDTraj("test/data/water.pdb") + frame = Frame.instance_from_reader(reader) + + self.helper_read_xtc(frame, first_only=True, skip_names=True) + + @unittest.skipIf(not mdanalysis_present, "MDAnalysis not present") + def test_frame_mdanalysis_read_pdb(self): + reader = FrameReaderMDAnalysis("test/data/water.pdb") + frame = Frame.instance_from_reader(reader) + + self.helper_read_xtc(frame, first_only=True) def test_frame_output_gro(self): frame = Frame("test/data/water.gro") @@ -113,26 +142,6 @@ class FrameTest(unittest.TestCase): logging.disable(logging.NOTSET) self.assertEqual(11, frame.numframes) - def helper_read_xtc(self, frame): - self.assertEqual(663, frame.natoms) - # These are the coordinates from the gro file - np.testing.assert_allclose(np.array([0.696, 1.33, 1.211]), - frame.residues[0].atoms[0].coords) - np.testing.assert_allclose(np.array([1.89868, 1.89868, 1.89868]), - frame.box) - frame.next_frame() - - # These coordinates are from the xtc file - np.testing.assert_allclose(np.array([1.176, 1.152, 1.586]), - frame.residues[0].atoms[0].coords) - np.testing.assert_allclose(np.array([1.9052, 1.9052, 1.9052]), - frame.box) - frame.next_frame() - np.testing.assert_allclose(np.array([1.122, 1.130, 1.534]), - frame.residues[0].atoms[0].coords) - np.testing.assert_allclose(np.array([1.90325272, 1.90325272, 1.90325272]), - frame.box) - def test_frame_simpletraj_read_xtc(self): frame = Frame(gro="test/data/water.gro", xtc="test/data/water.xtc", xtc_reader="simpletraj") @@ -145,7 +154,7 @@ class FrameTest(unittest.TestCase): xtc_reader="mdtraj") logging.disable(logging.NOTSET) - self.helper_read_xtc(frame) + self.helper_read_xtc(frame, skip_names=True) @unittest.skipIf(not mdanalysis_present, "MDAnalysis not present") def test_frame_mdanalysis_read_xtc(self): @@ -173,7 +182,7 @@ class FrameTest(unittest.TestCase): reader = FrameReaderSimpleTraj("test/data/water.gro") frame = Frame.instance_from_reader(reader) - self.helper_read_gro(frame) + self.helper_read_xtc(frame, first_only=True) def test_frame_instance_from_reader_dummy(self): class DummyReader(FrameReader):