-
Notifications
You must be signed in to change notification settings - Fork 36
Description
HI, PyGSM-team
When I was searching for the transition state with the GSM algorithm, I encountered some problems. My reaction was a two-molecule reaction. The input molecular structure is shown in the figure below:
However, whether the se_GSM or De_GSM algorithm is invoked, the following error will occur, indicating that my molecular structure is abnormal.
(pyGSM) root@LAPTOP-1U5DTVI0:/mnt/e/MBH/mace-train/PyGSM# python de_gsm.py
/mnt/e/pyGSM-master/pyGSM/coordinate_systems/topology.py:4: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
from pkg_resources import parse_version
/opt/anaconda3/envs/pyGSM/lib/python3.10/site-packages/e3nn/o3/_wigner.py:10: UserWarning: Environment variable TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD detected, since theweights_only argument was not explicitly passed to torch.load, forcing weights_only=False.
_Jd, _W3j_flat, _W3j_indices = torch.load(os.path.join(os.path.dirname(file), 'constants.pt'))
cuequivariance or cuequivariance_torch is not available. Cuequivariance acceleration will be disabled.
/opt/anaconda3/envs/pyGSM/lib/python3.10/site-packages/mace/calculators/mace.py:197: UserWarning: Environment variable TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD detected, since theweights_only argument was not explicitly passed to torch.load, forcing weights_only=False.
torch.load(f=model_path, map_location=device)
Using head omol out of ['omol']
No dtype selected, switching to float64 to match model dtype.
#========================================================#
#========================================================#
#| Parsed GSM |#
INFO:NiftyLogger:#| Parsed GSM |#
#========================================================#
INFO:NiftyLogger:#========================================================#
Assuming gradient states are [(1, 0)]
initializing LOT from geom
making folder scratch/000/0
#========================================================#
#========================================================#
#| Building the topologies |#
INFO:NiftyLogger:#| Building the topologies |#
#========================================================#
INFO:NiftyLogger:#========================================================#
#========================================================#
#========================================================#
#| building bonds |#
INFO:NiftyLogger:#| building bonds |#
#========================================================#
INFO:NiftyLogger:#========================================================#
None
In build bonds
#========================================================#
#========================================================#
#| building bonds |#
INFO:NiftyLogger:#| building bonds |#
#========================================================#
INFO:NiftyLogger:#========================================================#
None
In build bonds
Adding bond (11, 29) to reactant topology
#========================================================#
#========================================================#
#| Building Primitive Internal Coordinates |#
INFO:NiftyLogger:#| Building Primitive Internal Coordinates |#
#========================================================#
INFO:NiftyLogger:#========================================================#
Creating block info
number of primitive blocks is 1
Done creating block info,
Now Making Primitives by block
Done making primitives
Made a total of 312 primitives
num blocks 1
num prim blocks 1
done making primitives
11
<class 'int'>
Traceback (most recent call last):
File "/mnt/e/pyGSM-master/pyGSM/coordinate_systems/primitive_internals.py", line 1339, in get_hybrid_indices
new_hybrid_indices.remove(elem)
ValueError: list.remove(x): x not in list
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/mnt/e/MBH/mace-train/PyGSM/de_gsm.py", line 279, in
minimal_wrapper_de_gsm(
File "/mnt/e/MBH/mace-train/PyGSM/de_gsm.py", line 133, in minimal_wrapper_de_gsm
prim_product = PrimitiveInternalCoordinates.from_options(
File "/mnt/e/pyGSM-master/pyGSM/coordinate_systems/internal_coordinates.py", line 112, in from_options
return cls(cls.default_options().set_values(kwargs))
File "/mnt/e/pyGSM-master/pyGSM/coordinate_systems/primitive_internals.py", line 86, in init
self.get_hybrid_indices(xyz)
File "/mnt/e/pyGSM-master/pyGSM/coordinate_systems/primitive_internals.py", line 1343, in get_hybrid_indices
raise RuntimeError
RuntimeError
Initially I suspected the algorithm might not handle bimolecular reactions, but after reviewing the issues section, you confirmed that the GSM algorithm can process such reactions. Could you explain why my input is generating this error? If possible, could you review the test dataset in se_gsm.py? I need to check if there's an issue with my input file.
Thank you for your assistance.