Commit 552bcb3
authored
Implement the molecule module internally (#789)
This is a large PR that fundamentally adds the Molecule class internally
in ARC. Now ARC is compatible with Py 3.12
This PR follows the work done in #754 where ARC were given capabilities
to work directly with the RMG-database without using the RMG API. Now,
finally, ARC does not depend on Julia.
The major change made in this PR required additional modifications.
Although we appreciate small and smart PR's it is very hard to decouple
these changes. The main modifications are as follows:
1. Naturally, the interface to Arkane had to be modified since now RMG
is not a direct dependency. We now use Arkane only as a subprocess for
statmech.
2. ESS paersing was previously somewhat facilitated through Arkane, now
there's a new `parser` module in ARC with adapters for each ESS.
3. Bugs were discovered in our two perception algorithms (we used to
have `species/xyz_to_2d` and `species/xyz_to_smiles`, falling back to a
single bond version of the molecule if it cannot be perceived). Now we
have a new `species/perceive` algorithm, with a fallback to
`species/xyz_to_smiles` if needed. Success rates are higher, and we
always return a molecule with bond orders. This might be the end of the
`allow_nonisomorphic_2d` flag in ARC. We'll keep it around for a while,
but may deprecate it in the future.
4. QCElemental was removed as a dependency. Combined with the removal of
Arkane's API, this means that now we provide translations from atomic
numbers to atomic mass. this is done in common.py with data stored under
`data/elements.yml`.
5. The removal of QCElemental also impacted our atom mapping algorithm.
It turns our that we used this as a fall back quite often for
isomerization. The atom mapping engine and driver were updated, which is
another positive outcome of this PR.
6. Better and automated installation scripts were added under `devtools`
for all the external dependencies, and the CI was updated as well, along
with the Makefile. A big thanks to @calvinp0 for the endless hours he
invested in this.
7. ZMatrices and the H Abstraction heuristics modules were updated as
well.
8. The TS NMD checks have been updated, incorporating #768 into this PR.
Tests were of course added. We still need to updated the docs,
specifically for the installation instructions, and check the
installation scripts again, they were mainly tested in the context of
the CI.
With this merged, we should soon tag a new version of ARC.File tree
223 files changed
+59596
-25919
lines changed- .github/workflows
- arc
- checks
- family
- job
- adapters
- scripts
- ts
- mapping
- molecule
- parser
- adapters
- reaction
- scripts
- settings
- species
- statmech
- testing
- composite
- C3H7
- freq
- normal_mode/TS_0
- restart
- 1_restart_thermo
- calcs
- 2_restart_rate
- calcs
- Species
- TSs
- 3_restart_bde
- sp
- utils
- data
- devtools
- docs
- source
- functional
- ipython
- Demo
- Tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
223 files changed
+59596
-25919
lines changedThis file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | 21 | | |
30 | 22 | | |
31 | 23 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | 38 | | |
39 | | - | |
| 39 | + | |
40 | 40 | | |
41 | 41 | | |
0 commit comments