Catalog PyPI
PACKAGE EXPLORERView in registry

aamutils

PyPI

Collection of atom-atom-mapping utility functions.

Versions collected1
Direct dependencies6From release 0.1.0
Last observed20 Oct, 16:59 UTC

README

Version 0.1.0 documentation

Atom-atom-mapping Utils

A collection of atom-atom-mapping utility functions.

Installation

The easiest way to use AAMUtils is by installing the PyPI package aamutils.

pip install aamutils

Usage

Use in command line

The input is a list of partial atom-atom-maps (AAMs). Data is read line-by-line from a text file. Each line should contain one reaction SMILES.

Here is a simple example extending the partial AAM to a complete AAM. First generate the input data:

echo "CCC[Cl:1].[N:2]>>CCC[N:2].[Cl:1]" > testinput.txt

Next, run AAMUtils to expand the partial AAM.

python3 -m aamutils expand testinput.txt

The output is written to 'testinput_extended.json'.

cat testinput_extended.json 
[
    {
        "input": "CCC[Cl:1].[N:2]>>CCC[N:2].[Cl:1]",
        "expanded_aam": "[Cl:1][CH2:5][CH2:4][CH3:3].[NH3:2]>>[ClH:1].[NH2:2][CH2:3][CH2:4][CH3:5]",
        "ilp_status": "Optimal",
        "optimization_result": 4.0,
        "invalid_reaction_center": false,
        "reaction_edges": 4
    }
]

Use in script

  from aamutils.aam_expand import extend_aam_from_rsmi

  rsmi = "CC[CH2:3][Cl:1].[N:2]>>CC[CH2:3][N:2].[Cl:1]"

  result_smiles = extend_aam_from_rsmi(rsmi)

  print(result_smiles)
  >>> "[Cl:1][CH2:3][CH2:5][CH3:4].[NH3:2]>>[ClH:1].[NH2:2][CH2:3][CH2:5][CH3:4]"

Benchmark

To rerun the benchmarks from the paper use the benchmark.py script. The reported results can be reproduced by running the following commands:

(1) Extend partial reaction center (50%, 75% and 100% missing atoms)

python3 benchmark.py --remove-mode rc --remove-ratio 0.5 --seed 42
python3 benchmark.py --remove-mode rc --remove-ratio 0.75 --seed 42
python3 benchmark.py --remove-mode rc --remove-ratio 1 --seed 42

(2) Extend partial AAM with fully mapped RC

python3 benchmark.py --remove-mode keep_rc --remove-ratio 1 --seed 42

Functionality

Here is an overview of implemented functionality:

  • SMILES to graph and graph to SMILES parsing
  • Reaction center validity checks
  • ITS graph generation
  • Expand partial AAM to complete AAM on balanced reactions
  • AAMing based on minimal chemical distance (MCD) for balanced reactions

License

This project is licensed under MIT License - see the License file for details.

Acknowledgments

This project has received funding from the European Unions Horizon Europe Doctoral Network programme under the Marie-Skłodowska-Curie grant agreement No 101072930 (TACsy -- Training Alliance for Computational)

Downloads & popularity

5downloads
1-day window · source-reported counts19 Oct 2026
7537.50
2026-07-22: 12 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-22–2026-07-222026-07-23: 7 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-23–2026-07-232026-07-24: 5 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-24–2026-07-242026-07-26: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-26–2026-07-262026-07-27: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-27–2026-07-272026-07-28: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-28–2026-07-282026-07-29: 17 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-29–2026-07-292026-07-31: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-07-31–2026-07-312026-08-01: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-01–2026-08-012026-08-02: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-02–2026-08-022026-08-03: 17 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-03–2026-08-032026-08-04: 9 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-04–2026-08-042026-08-05: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-05–2026-08-052026-08-06: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-06–2026-08-062026-08-09: 10 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-09–2026-08-092026-08-10: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-10–2026-08-102026-08-13: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-13–2026-08-132026-08-14: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-14–2026-08-142026-08-16: 46 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-16–2026-08-162026-08-17: 9 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-17–2026-08-172026-08-18: 54 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-18–2026-08-182026-08-20: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-20–2026-08-202026-08-23: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-23–2026-08-232026-08-24: 16 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-24–2026-08-242026-08-25: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-25–2026-08-252026-08-26: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-26–2026-08-262026-08-27: 29 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-27–2026-08-272026-08-28: 25 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-28–2026-08-282026-08-31: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-08-31–2026-08-312026-09-01: 5 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-01–2026-09-012026-09-02: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-02–2026-09-022026-09-03: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-03–2026-09-032026-09-05: 7 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-05–2026-09-052026-09-06: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-06–2026-09-062026-09-07: 7 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-07–2026-09-072026-09-09: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-09–2026-09-092026-09-10: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-10–2026-09-102026-09-12: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-12–2026-09-122026-09-13: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-13–2026-09-132026-09-14: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-14–2026-09-142026-09-16: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-16–2026-09-162026-09-18: 75 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-18–2026-09-182026-09-19: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-19–2026-09-192026-09-21: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-21–2026-09-212026-09-22: 21 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-22–2026-09-222026-09-23: 5 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-23–2026-09-232026-09-24: 30 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-24–2026-09-242026-09-25: 12 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-25–2026-09-252026-09-26: 9 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-26–2026-09-262026-09-27: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-27–2026-09-272026-09-28: 7 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-28–2026-09-282026-09-29: 8 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-29–2026-09-292026-09-30: 5 · observed 2026-10-20T18:08:39.6240747Z · period 2026-09-30–2026-09-302026-10-01: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-01–2026-10-012026-10-02: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-02–2026-10-022026-10-03: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-03–2026-10-032026-10-04: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-04–2026-10-042026-10-05: 3 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-05–2026-10-052026-10-06: 1 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-06–2026-10-062026-10-07: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-07–2026-10-072026-10-08: 15 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-08–2026-10-082026-10-09: 23 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-09–2026-10-092026-10-10: 13 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-10–2026-10-102026-10-11: 6 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-11–2026-10-112026-10-12: 4 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-12–2026-10-122026-10-13: 2 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-13–2026-10-132026-10-18: 6 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-18–2026-10-182026-10-19: 5 · observed 2026-10-20T18:08:39.6240747Z · period 2026-10-19–2026-10-19
22 Jul19 Oct

pypistats · 68 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-19 – 2026-10-1952026-10-20T18:08:39.6240747Z
2026-10-18 – 2026-10-1862026-10-20T18:08:39.6240747Z
2026-10-13 – 2026-10-1322026-10-20T18:08:39.6240747Z
2026-10-12 – 2026-10-1242026-10-20T18:08:39.6240747Z
2026-10-11 – 2026-10-1162026-10-20T18:08:39.6240747Z
2026-10-10 – 2026-10-10132026-10-20T18:08:39.6240747Z
2026-10-09 – 2026-10-09232026-10-20T18:08:39.6240747Z
2026-10-08 – 2026-10-08152026-10-20T18:08:39.6240747Z
2026-10-07 – 2026-10-0742026-10-20T18:08:39.6240747Z
2026-10-06 – 2026-10-0612026-10-20T18:08:39.6240747Z
2026-10-05 – 2026-10-0532026-10-20T18:08:39.6240747Z
2026-10-04 – 2026-10-0432026-10-20T18:08:39.6240747Z
2026-10-03 – 2026-10-0322026-10-20T18:08:39.6240747Z
2026-10-02 – 2026-10-0232026-10-20T18:08:39.6240747Z
2026-10-01 – 2026-10-0132026-10-20T18:08:39.6240747Z
2026-09-30 – 2026-09-3052026-10-20T18:08:39.6240747Z
2026-09-29 – 2026-09-2982026-10-20T18:08:39.6240747Z
2026-09-28 – 2026-09-2872026-10-20T18:08:39.6240747Z
2026-09-27 – 2026-09-2742026-10-20T18:08:39.6240747Z
2026-09-26 – 2026-09-2692026-10-20T18:08:39.6240747Z
2026-09-25 – 2026-09-25122026-10-20T18:08:39.6240747Z
2026-09-24 – 2026-09-24302026-10-20T18:08:39.6240747Z
2026-09-23 – 2026-09-2352026-10-20T18:08:39.6240747Z
2026-09-22 – 2026-09-22212026-10-20T18:08:39.6240747Z
2026-09-21 – 2026-09-2142026-10-20T18:08:39.6240747Z
2026-09-19 – 2026-09-1942026-10-20T18:08:39.6240747Z
2026-09-18 – 2026-09-18752026-10-20T18:08:39.6240747Z
2026-09-16 – 2026-09-1632026-10-20T18:08:39.6240747Z
2026-09-14 – 2026-09-1422026-10-20T18:08:39.6240747Z
2026-09-13 – 2026-09-1332026-10-20T18:08:39.6240747Z
2026-09-12 – 2026-09-1242026-10-20T18:08:39.6240747Z
2026-09-10 – 2026-09-1012026-10-20T18:08:39.6240747Z
2026-09-09 – 2026-09-0932026-10-20T18:08:39.6240747Z
2026-09-07 – 2026-09-0772026-10-20T18:08:39.6240747Z
2026-09-06 – 2026-09-0612026-10-20T18:08:39.6240747Z
2026-09-05 – 2026-09-0572026-10-20T18:08:39.6240747Z
2026-09-03 – 2026-09-0312026-10-20T18:08:39.6240747Z
2026-09-02 – 2026-09-0222026-10-20T18:08:39.6240747Z
2026-09-01 – 2026-09-0152026-10-20T18:08:39.6240747Z
2026-08-31 – 2026-08-3132026-10-20T18:08:39.6240747Z
2026-08-28 – 2026-08-28252026-10-20T18:08:39.6240747Z
2026-08-27 – 2026-08-27292026-10-20T18:08:39.6240747Z
2026-08-26 – 2026-08-2622026-10-20T18:08:39.6240747Z
2026-08-25 – 2026-08-2512026-10-20T18:08:39.6240747Z
2026-08-24 – 2026-08-24162026-10-20T18:08:39.6240747Z
2026-08-23 – 2026-08-2342026-10-20T18:08:39.6240747Z
2026-08-20 – 2026-08-2042026-10-20T18:08:39.6240747Z
2026-08-18 – 2026-08-18542026-10-20T18:08:39.6240747Z
2026-08-17 – 2026-08-1792026-10-20T18:08:39.6240747Z
2026-08-16 – 2026-08-16462026-10-20T18:08:39.6240747Z
2026-08-14 – 2026-08-1442026-10-20T18:08:39.6240747Z
2026-08-13 – 2026-08-1322026-10-20T18:08:39.6240747Z
2026-08-10 – 2026-08-1022026-10-20T18:08:39.6240747Z
2026-08-09 – 2026-08-09102026-10-20T18:08:39.6240747Z
2026-08-06 – 2026-08-0632026-10-20T18:08:39.6240747Z
2026-08-05 – 2026-08-0512026-10-20T18:08:39.6240747Z
2026-08-04 – 2026-08-0492026-10-20T18:08:39.6240747Z
2026-08-03 – 2026-08-03172026-10-20T18:08:39.6240747Z
2026-08-02 – 2026-08-0212026-10-20T18:08:39.6240747Z
2026-08-01 – 2026-08-0132026-10-20T18:08:39.6240747Z
2026-07-31 – 2026-07-3122026-10-20T18:08:39.6240747Z
2026-07-29 – 2026-07-29172026-10-20T18:08:39.6240747Z
2026-07-28 – 2026-07-2822026-10-20T18:08:39.6240747Z
2026-07-27 – 2026-07-2712026-10-20T18:08:39.6240747Z
2026-07-26 – 2026-07-2612026-10-20T18:08:39.6240747Z
2026-07-24 – 2026-07-2452026-10-20T18:08:39.6240747Z
2026-07-23 – 2026-07-2372026-10-20T18:08:39.6240747Z
2026-07-22 – 2026-07-22122026-10-20T18:08:39.6240747Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.018 Sept 20266

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
klausweinbauer/aamutils

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:59 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:1db34b1f25cc64d6ea0c3c23e5158c8c87a80db39cead32512d3a576b4c08f11