Open Anthchirp opened 5 years ago
@luc-j-bourhis you added this particular test here: https://github.com/cctbx/cctbx_project/commit/511e6d9a59574e914ef36b254152b0d8f4571d4c
The cause of the failure is that random.sample
returns different values on Python 3 compared to Python 2, so the test sets up a different set of restraints to refine against:
https://github.com/cctbx/cctbx_project/blob/301522a972fac1f75d5c333540974bd9148434f8/smtbx/refinement/restraints/tests/tst_restraints.py#L318
On Python 2:
i, j, k, l: 3 0 2 1
Bond restraints: 5
Sorted by residual:
bond O1
Mg3
ideal model delta sigma weight residual
6.496 7.643 -1.146 3.16e-05 1.00e+09 1.31e+09
bond O4
O1
ideal model delta sigma weight residual
2.311 2.889 -0.578 3.16e-05 1.00e+09 3.34e+08
bond Mg3
O4
ideal model delta sigma weight residual
4.869 5.410 -0.541 3.16e-05 1.00e+09 2.93e+08
bond O1
Ca2
ideal model delta sigma weight residual
3.988 4.431 -0.443 3.16e-05 1.00e+09 1.96e+08
bond Ca2
Mg3
ideal model delta sigma weight residual
3.988 4.082 -0.095 3.16e-05 1.00e+09 8.98e+06
On Python 3:
i, j, k, l: 1 0 4 3
Bond restraints: 5
Sorted by residual:
bond O4
Si5
ideal model delta sigma weight residual
2.600 8.824 -6.223 3.16e-05 1.00e+09 3.87e+10
bond O1
Si5
ideal model delta sigma weight residual
8.076 9.502 -1.425 3.16e-05 1.00e+09 2.03e+09
bond Ca2
O1
ideal model delta sigma weight residual
3.545 4.431 -0.886 3.16e-05 1.00e+09 7.85e+08
bond Si5
Ca2
ideal model delta sigma weight residual
5.027 5.585 -0.559 3.16e-05 1.00e+09 3.12e+08
bond O1
O4
ideal model delta sigma weight residual
2.600 2.889 -0.289 3.16e-05 1.00e+09 8.35e+07
Should this test be expected to pass regardless of the values of i, j, k, l
, or should they be hardcoded to the working Python 2 values?
See also https://docs.python.org/3/library/random.html#random.seed.
loads of tests still failing on python 3. This one is run by azure: https://dev.azure.com/cctbx/cctbx_project/_build/results?buildId=184
libtbx.python smtbx/refinement/restraints/tests/tst_restraints.py --verbose --scatterers=5 --resolution=0.2