openff-toolkit
openff-toolkit copied to clipboard
Failing to assign AM1 charges with ambertools on macOS-13
Issue
I'm seeing a weird issue in NAGL CI where I can't seem to assign AM1 charges to methane using AmberTools on macOS-13. This test passes with macOS-latest and a related test passed with macOS-12 before I updated the CI matrix. It might be a good idea to test across a wider matrix of Mac versions.
I haven't tried with other charge methods like am1bcc as I uncovered this from a failing NAGL test.
Maybe related to #1911?
To Reproduce
The test I'm running at the moment is:
@pytest.mark.skipif(not sum([OPENEYE_AVAILABLE, AMBERTOOLS_AVAILABLE]), reason="requires a charge toolkit")
def test_can_charge_methane():
# verify we can assign AM1 charges to methane
# See https://github.com/openforcefield/openff-nagl/issues/152 for more
mol = Molecule.from_smiles("C")
mol.assign_partial_charges("am1-mulliken")
Output
E ValueError: No registered toolkits can provide the capability "assign_partial_charges" for args "()" and kwargs "{'molecule': Molecule with name '' and SMILES '[H][C]([H])([H])[H]', 'partial_charge_method': 'am1-mulliken', 'use_conformers': None, 'strict_n_conformers': False, 'normalize_partial_charges': True, '_cls': <class 'openff.toolkit.topology.molecule.Molecule'>}"
E Available toolkits are: [ToolkitWrapper around The RDKit version 2024.03.5, ToolkitWrapper around AmberTools version 23.6, ToolkitWrapper around Built-in Toolkit version None]
E ToolkitWrapper around The RDKit version 2024.03.5 <class 'openff.toolkit.utils.exceptions.ChargeMethodUnavailableError'> : partial_charge_method 'am1-mulliken' is not available from RDKitToolkitWrapper. Available charge methods are {'mmff94': {}, 'gasteiger': {}}
E ToolkitWrapper around AmberTools version 23.6 <class 'subprocess.CalledProcessError'> : Command '['antechamber', '-i', 'molecule.sdf', '-fi', 'sdf', '-o', 'charged.mol2', '-fo', 'mol2', '-pf', 'yes', '-dr', 'n', '-c', 'mul', '-nc', '0.0']' returned non-zero exit status 1.
E ToolkitWrapper around Built-in Toolkit version None <class 'openff.toolkit.utils.exceptions.ChargeMethodUnavailableError'> : Partial charge method "am1-mulliken"" is not supported by the Built-in toolkit. Available charge methods are {'zeros': {'rec_confs': 0, 'min_confs': 0, 'max_confs': 0}, 'formal_charge': {'rec_confs': 0, 'min_confs': 0, 'max_confs': 0}}
../../../micromamba/envs/openff-nagl-test/lib/python3.10/site-packages/openff/toolkit/utils/toolkit_registry.py:280: ValueError
Computing environment (please complete the following information):
- Operating system: macOS-13
- Output of running
conda list
Notable packages:
- ambertools 23.6 (passes in macOS-latest)
- RDKit 2024.03.5 (I put in the
!=2024.03.6pin I found in the toolkit in case it was that; if of interest, a related test did fail with 2024.03.6 as well) - openff-toolkit-base 0.16.5
Full:
micromamba list
/Users/runner/micromamba-bin/micromamba list -r /Users/runner/micromamba -n openff-nagl-test
List of packages in environment: "/Users/runner/micromamba/envs/openff-nagl-test"
Name Version Build Channel
───────────────────────────────────────────────────────────────────────────────────────────
ambertools 23.6 cuda_None_nompi_py310h496d21a_105 conda-forge
arpack 3.9.1 nompi_hf81eadf_101 conda-forge
blosc 1.21.6 h7d75f6d_0 conda-forge
brotli 1.1.0 h00291cd_2 conda-forge
brotli-bin 1.1.0 h00291cd_2 conda-forge
brotli-python 1.1.0 py310h53e7c6a_2 conda-forge
bson 0.5.9 py_0 conda-forge
bzip2 1.0.8 hfdf4475_7 conda-forge
c-ares 1.34.2 h32b1619_0 conda-forge
ca-certificates 2024.8.30 h8857fd0_0 conda-forge
cached-property 1.5.2 hd8ed1ab_1 conda-forge
cached_property 1.5.2 pyha770c72_1 conda-forge
cachetools 5.5.0 pyhd8ed1ab_0 conda-forge
cairo 1.18.0 h37bd5c4_3 conda-forge
certifi 2024.8.30 pyhd8ed1ab_0 conda-forge
cffi 1.17.1 py310hfce808e_0 conda-forge
chardet 5.2.0 py310h2ec42d9_2 conda-forge
charset-normalizer 3.4.0 pyhd8ed1ab_0 conda-forge
click 8.1.7 unix_pyh707e725_0 conda-forge
click-option-group 0.5.6 pyhd8ed1ab_0 conda-forge
cloudpickle 3.1.0 pyhd8ed1ab_1 conda-forge
codecov 2.1.13 pyhd8ed1ab_0 conda-forge
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
contourpy 1.3.0 py310hfa8da69_2 conda-forge
coverage 7.6.3 py310h72eadd2_1 conda-forge
cpython 3.10.15 py310hd8ed1ab_2 conda-forge
cycler 0.12.1 pyhd8ed1ab_0 conda-forge
cytoolz 1.0.0 py310h837254d_1 conda-forge
dask-core 2024.10.0 pyhd8ed1ab_0 conda-forge
dask-jobqueue 0.9.0 pyhd8ed1ab_0 conda-forge
distributed 2024.10.0 pyhd8ed1ab_0 conda-forge
exceptiongroup 1.2.2 pyhd8ed1ab_0 conda-forge
execnet 2.1.1 pyhd8ed1ab_0 conda-forge
expat 2.6.3 hac325c4_0 conda-forge
fftw 3.3.10 nompi_h292e606_110 conda-forge
filelock 3.16.1 pyhd8ed1ab_0 conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 h77eed37_3 conda-forge
fontconfig 2.14.2 h5bb23bf_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
fonttools 4.54.1 py310h837254d_0 conda-forge
freetype 2.12.1 h60636b9_2 conda-forge
freetype-py 2.3.0 pyhd8ed1ab_0 conda-forge
fsspec 2024.9.0 pyhff2d567_0 conda-forge
gmp 6.3.0 hf036a51_2 conda-forge
gmpy2 2.1.5 py310hade44e5_2 conda-forge
greenlet 3.1.1 py310h53e7c6a_0 conda-forge
h2 4.1.0 pyhd8ed1ab_0 conda-forge
hdf4 4.2.15 h8138101_7 conda-forge
hdf5 1.14.4 nompi_h57e3b00_101 conda-forge
hpack 4.0.0 pyh9f0ad1d_0 conda-forge
hyperframe 6.0.1 pyhd8ed1ab_0 conda-forge
icu 75.1 h120a0e1_0 conda-forge
idna 3.10 pyhd8ed1ab_0 conda-forge
importlib-metadata 8.5.0 pyha770c72_0 conda-forge
importlib_metadata 8.5.0 hd8ed1ab_0 conda-forge
importlib_resources 6.4.5 pyhd8ed1ab_0 conda-forge
iniconfig 2.0.0 pyhd8ed1ab_0 conda-forge
jinja2 3.1.4 pyhd8ed1ab_0 conda-forge
joblib 1.4.2 pyhd8ed1ab_0 conda-forge
kiwisolver 1.4.7 py310hfa8da69_0 conda-forge
krb5 1.21.3 h37d8d59_0 conda-forge
lcms2 2.16 ha2f27b4_0 conda-forge
lerc 4.0.0 hb486fe8_0 conda-forge
libabseil 20240722.0 cxx17_hac325c4_1 conda-forge
libaec 1.1.3 h73e2aa4_0 conda-forge
libblas 3.9.0 22_osx64_openblas conda-forge
libboost 1.84.0 hbe88bda_6 conda-forge
libboost-python 1.84.0 py310h767a3e0_6 conda-forge
libbrotlicommon 1.1.0 h00291cd_2 conda-forge
libbrotlidec 1.1.0 h00291cd_2 conda-forge
libbrotlienc 1.1.0 h00291cd_2 conda-forge
libcblas 3.9.0 22_osx64_openblas conda-forge
libcurl 8.10.1 h58e7537_0 conda-forge
libcxx 19.1.2 hf95d169_0 conda-forge
libdeflate 1.22 h00291cd_0 conda-forge
libedit 3.1.20191231 h0678c8f_2 conda-forge
libev 4.33 h10d778d_2 conda-forge
libexpat 2.6.3 hac325c4_0 conda-forge
libffi 3.4.2 h0d85af4_5 conda-forge
libgfortran 5.0.0 13_2_0_h97931a8_3 conda-forge
libgfortran5 13.2.0 h2873a65_3 conda-forge
libglib 2.82.2 hb6ef654_0 conda-forge
libhwloc 2.11.1 default_h456cccd_1000 conda-forge
libiconv 1.17 hd75f5a5_2 conda-forge
libintl 0.22.5 hdfe23c8_3 conda-forge
libjpeg-turbo 3.0.0 h0dc2134_1 conda-forge
liblapack 3.9.0 22_osx64_openblas conda-forge
libnetcdf 4.9.2 nompi_h976d569_115 conda-forge
libnghttp2 1.58.0 h64cf6d3_1 conda-forge
libopenblas 0.3.27 openmp_h8869122_1 conda-forge
libpng 1.6.44 h4b8f8c9_0 conda-forge
libpq 16.4 h365486b_3 conda-forge
libprotobuf 5.27.5 h62b0dff_2 conda-forge
librdkit 2024.03.5 hbc19afa_3 conda-forge
libsqlite 3.46.1 h4b8f8c9_0 conda-forge
libssh2 1.11.0 hd019ec5_0 conda-forge
libtiff 4.7.0 h583c2ba_1 conda-forge
libtorch 2.4.1 cpu_mkl_hdb27336_102 conda-forge
libuv 1.49.2 hd79239c_0 conda-forge
libwebp-base 1.4.0 h10d778d_0 conda-forge
libxcb 1.17.0 hf1f96e2_0 conda-forge
libxml2 2.12.7 heaf3512_4 conda-forge
libzip 1.11.1 h3116616_0 conda-forge
libzlib 1.3.1 hd23fc13_2 conda-forge
lightning-utilities 0.11.8 pyhd8ed1ab_0 conda-forge
llvm-openmp 19.1.2 hf78d878_0 conda-forge
locket 1.0.0 pyhd8ed1ab_0 conda-forge
lz4-c 1.9.4 hf0c8a7f_0 conda-forge
markupsafe 3.0.2 py310h72eadd2_0 conda-forge
matplotlib-base 3.9.2 py310h449bdf7_1 conda-forge
mkl 2023.2.0 h54c2260_50500 conda-forge
mpc 1.3.1 h9d8efa1_1 conda-forge
mpfr 4.2.1 haed47dc_3 conda-forge
mpmath 1.3.0 pyhd8ed1ab_0 conda-forge
msgpack-python 1.1.0 py310hfa8da69_0 conda-forge
munkres 1.1.4 pyh9f0ad1d_0 conda-forge
ncurses 6.5 hf036a51_1 conda-forge
netcdf-fortran 4.6.1 nompi_h4dd9276_107 conda-forge
networkx 3.4.1 pyhd8ed1ab_0 conda-forge
numpy 1.26.4 py310h4bfa8fc_0 conda-forge
openff-amber-ff-ports 0.0.4 pyhca7485f_0 conda-forge
openff-forcefields 2024.09.0 pyhff2d567_0 conda-forge
openff-interchange-base 0.3.29 pyhd8ed1ab_0 conda-forge
openff-models 0.1.2 pyhca7485f_0 conda-forge
openff-recharge 0.5.2 pyhd8ed1ab_0 conda-forge
openff-toolkit-base 0.16.5 pyhd8ed1ab_0 conda-forge
openff-units 0.2.2 pyhca7485f_0 conda-forge
openff-utilities 0.1.12 pyhd8ed1ab_0 conda-forge
openjpeg 2.5.2 h7310d3a_0 conda-forge
openssl 3.3.2 hd23fc13_0 conda-forge
packaging 24.1 pyhd8ed1ab_0 conda-forge
pandas 2.2.3 py310ha53a654_1 conda-forge
parmed 4.2.2 py310had63691_1 conda-forge
partd 1.4.2 pyhd8ed1ab_0 conda-forge
pcre2 10.44 h7634a1b_2 conda-forge
perl 5.32.1 7_h10d778d_perl5 conda-forge
pillow 11.0.0 py310h32d1d24_0 conda-forge
pint 0.23 pyhd8ed1ab_1 conda-forge
pip 24.2 pyh8b19718_1 conda-forge
pixman 0.43.4 h73e2aa4_0 conda-forge
pluggy 1.5.0 pyhd8ed1ab_0 conda-forge
psutil 6.0.0 py310hb9d19b6_2 conda-forge
pthread-stubs 0.4 h00291cd_1002 conda-forge
pycairo 1.27.0 py310h4d6710c_0 conda-forge
pycparser 2.22 pyhd8ed1ab_0 conda-forge
pydantic 1.10.17 py310h936d840_0 conda-forge
pyparsing 3.2.0 pyhd8ed1ab_1 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
pytest 8.3.3 pyhd8ed1ab_0 conda-forge
pytest-cov 5.0.0 pyhd8ed1ab_0 conda-forge
pytest-xdist 3.6.1 pyhd8ed1ab_0 conda-forge
python 3.10.15 hd8744da_2_cpython conda-forge
python-constraint 1.4.0 py_0 conda-forge
python-dateutil 2.9.0 pyhd8ed1ab_0 conda-forge
python-tzdata 2024.2 pyhd8ed1ab_0 conda-forge
python_abi 3.10 5_cp310 conda-forge
pytorch 2.4.1 cpu_mkl_py310h9941b98_102 conda-forge
pytorch-lightning 2.4.0 pyhd8ed1ab_0 conda-forge
pytz 2024.1 pyhd8ed1ab_0 conda-forge
pyyaml 6.0.2 py310h837254d_1 conda-forge
qhull 2020.2 h3c5361c_5 conda-forge
rdkit 2024.03.5 py310h926f623_3 conda-forge
readline 8.2 h9e318b2_1 conda-forge
reportlab 4.2.5 py310h837254d_0 conda-forge
requests 2.32.3 pyhd8ed1ab_0 conda-forge
rlpycairo 0.2.0 pyhd8ed1ab_0 conda-forge
scipy 1.14.1 py310h9ad1863_1 conda-forge
setuptools 75.1.0 pyhd8ed1ab_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
sleef 3.7 h01aa1be_0 conda-forge
smirnoff99frosst 1.1.0 pyh44b312d_0 conda-forge
snappy 1.2.1 he1e6707_0 conda-forge
sortedcontainers 2.4.0 pyhd8ed1ab_0 conda-forge
sqlalchemy 2.0.36 py310hb9d19b6_0 conda-forge
sqlite 3.46.1 he26b093_0 conda-forge
sympy 1.13.3 pyh2585a3b_104 conda-forge
tbb 2021.13.0 h37c8870_0 conda-forge
tblib 3.0.0 pyhd8ed1ab_0 conda-forge
tk 8.6.13 h1abcd95_1 conda-forge
toml 0.10.2 pyhd8ed1ab_0 conda-forge
tomli 2.0.2 pyhd8ed1ab_0 conda-forge
toolz 1.0.0 pyhd8ed1ab_0 conda-forge
torchmetrics 1.4.2 pyhd8ed1ab_0 conda-forge
tornado 6.4.1 py310h837254d_1 conda-forge
tqdm 4.66.5 pyhd8ed1ab_0 conda-forge
typing-extensions 4.12.2 hd8ed1ab_0 conda-forge
typing_extensions 4.12.2 pyha770c72_0 conda-forge
tzdata 2024b hc8b5060_0 conda-forge
unicodedata2 15.1.0 py310h6729b98_0 conda-forge
urllib3 2.2.3 pyhd8ed1ab_0 conda-forge
wheel 0.44.0 pyhd8ed1ab_0 conda-forge
xmltodict 0.14.2 pyhd8ed1ab_0 conda-forge
xorg-libice 1.1.1 h00291cd_1 conda-forge
xorg-libsm 1.2.4 h00291cd_1 conda-forge
xorg-libx11 1.8.10 ha6c16c8_0 conda-forge
xorg-libxau 1.0.11 h00291cd_1 conda-forge
xorg-libxdmcp 1.1.5 h00291cd_0 conda-forge
xorg-libxext 1.3.6 h00291cd_0 conda-forge
xorg-libxt 1.3.0 h00291cd_2 conda-forge
xorg-xorgproto 2024.1 h00291cd_1 conda-forge
xz 5.2.6 h775f41a_0 conda-forge
yaml 0.2.5 h0d85af4_2 conda-forge
zict 3.0.0 pyhd8ed1ab_0 conda-forge
zipp 3.20.2 pyhd8ed1ab_0 conda-forge
zlib 1.3.1 hd23fc13_2 conda-forge
zstandard 0.23.0 py310h41d873f_1 conda-forge
Additional context
Parent issue (I think) https://github.com/conda-forge/ambertools-feedstock/issues/140
Is this going to get fixed? Perhaps we should just drop support for versions older than 15