We don't have Windows versions for theseus and mmligner as of now, thus currently no working Windows opencadd version.
Our workaround suggested by @jaimergp:
Add safety checks for these packages (incl. informative text for our users). With such a workaround we will be able to offer this package for Windows, too (without functionality for the bits that need theseus and mmligner though).
If these packages will be available in the future, the respective bits in opencadd will work out-of-the-box, too.
More background details:
Our package is labeled as noarch, which means we actually build it on linux (could be any other platform, but condaforge chose that one) and then hope it works in other OSs as well
To be noarch our package needs to be pure python, no compiled extensions, and no per-platform dependencies
We do need per-platform dependencies because some of those used in opencadd are not on windows
We are ignoring that and adding checks in our code as a workaround
When the dependencies become available, it will work magically in opencadd
Todos
[x] Add .safety_checks() method to BaseAligner but implement code in respective classes, see below
from distutils.spawn import find_executable
def align_with_theseus():
theseus = find_executable("theseus")
is theseus is None:
raise Error("theseus cannot be located. Is it installed?")
# proceed normally
[x] Add _safety_checks() to [MDAnalysisAligner]; only added for consistency across engines; simply passes (no executable check necessary since conda package available for all OS)
[x] Call these methods in BaseAligner.calculate method
Description
We don't have Windows versions for
theseus
andmmligner
as of now, thus currently no working Windowsopencadd
version.Our workaround suggested by @jaimergp: Add safety checks for these packages (incl. informative text for our users). With such a workaround we will be able to offer this package for Windows, too (without functionality for the bits that need
theseus
andmmligner
though). If these packages will be available in the future, the respective bits inopencadd
will work out-of-the-box, too.More background details:
opencadd
are not on windowsopencadd
Todos
.safety_checks()
method toBaseAligner
but implement code in respective classes, see below[x] Add
_safety_checks()
implementation toTheseusAligner
andMMLignerAligner
:_safety_checks()
to [MDAnalysisAligner
]; only added for consistency across engines; simply passes (no executable check necessary since conda package available for all OS)BaseAligner.calculate
methodQuestions
None.
Status