ATST-Tools
ATST-Tools is an ASE transition-state workflow toolkit for ABACUS and
DeePMD-kit. Run calculations from YAML with the atst command, or use the
Python API to integrate the same workflows
into another program.
atst run config.yaml
Chinese guide: 中文 · GitHub · Gitee. Examples: GitHub · Gitee.
What You Can Run
| Workflow | calculation.type |
|---|---|
| NEB / DyNEB and adaptive-image NEB | neb, autoneb |
| Dimer, Sella and CCQN saddle searches | dimer, sella, ccqn |
| Double-ended to single-ended TS search | d2s |
| Structure relaxation | relax |
| Vibrations and thermochemistry | vibration |
| Intrinsic reaction coordinates | irc |
| ASE-driven or ABACUS-native molecular dynamics | md |
| Experimental Direct MaxFlux path search | dmf |
| Experimental ABACUS constant-potential single points and serial scans | constant_potential |
Experimental constant-potential fixed-cell relaxation, NEB and ASE-driven MD
use the explicit compensated_gate boundary. See the
configuration reference
for setup and supported boundaries.
Local commands prepare paths and ABACUS inputs, inspect trajectories, and
summarize existing results. See the CLI reference.
A transition-state candidate can be screened with atst vibration validate
using saved vibration results; workflow completion alone does not establish a
validated TS. Current support and experimental limits are summarized in the
feature matrix.
Installation
Requires Python 3.10 or later:
pip install atst-tools
atst --version
| Use | Installation |
|---|---|
| Serial workflows, including serial NEB/AutoNEB | pip install atst-tools |
| DeePMD-kit calculator | pip install "atst-tools[dp]" |
| Image-parallel NEB/AutoNEB | pip install "atst-tools[parallel]" |
The default installation includes abacuslite>=1.2.1,<2 and Sella; it does not
install mpi4py. ABACUS calculations also need an ABACUS executable and the
pseudopotential/orbital files referenced by the configuration. DP calculations
need a compatible model. Image-parallel runs require a matching MPI runtime;
DMF additionally requires cyipopt and IPOPT. See the
MPI setup guide for
image-parallel setup and the examples guide for
backend inputs.
Quick Start
Obtain examples at the tag matching your installed version (shown for 2.3.2):
git clone --branch v2.3.2 https://github.com/QuantumMisaka/atst-tools.git
cd atst-tools
First try a local path-preparation command; it needs no ABACUS, DP model or GPU:
cd examples/09_lightweight_cli
atst neb make inputs/init.xyz inputs/final.xyz 3 -o first_chain.traj --method linear
atst neb summary inputs/neb_result.extxyz --n-max 1 --tail 5
cd ../..
first_chain.traj contains five initial-guess frames. To inspect a calculation
configuration, enter its example directory so relative input paths resolve:
cd examples/06_relax_H2-Au
atst config validate config.yaml --print-normalized
atst run --dry-run config.yaml
# After configuring the ABACUS runtime and compute resources:
atst run config.yaml
This example uses four ABACUS MPI ranks, the GPU cusolver solver and a
one-step optimization limit. Validation and dry-run do not launch ABACUS;
check the resulting convergence status separately. Follow the
examples guide to inspect results and choose other
methods or DP variants. A complete walkthrough is also available in the
Chinese guide.
Documentation
| Task | Reference |
|---|---|
| Configure a calculation | Configuration reference · All YAML fields |
| Use CLI commands | CLI reference |
| Configure ABACUS input/output and parallelism | ABACUS wrapper guide |
| Embed workflows or use the JSON process runner | Python API |
| Check support and releases | Feature matrix · 2.3.2 release notes |
| Contribute | Developer handover · Source architecture |
The primary documentation is in English, with a Chinese user guide. The documentation index organizes user, developer and project status material. GitHub is the development source; Gitee is a manually updated mirror. PyPI distributes the Python package; obtain examples from the repository.
References
If you publish work that uses the transition-state workflows in ATST-Tools, please cite the underlying methods alongside ATST-Tools itself:
- ATST-Tools and the double-to-single (D2S) transition-state workflow: Liu, Z.-Q.; Deng, Z.; Zhao, H.; Wang, H.; Chen, M.; Jiang, H. FT²DP: Large Atomic Model Fine-Tuned Machine Learning Potential for Accelerating Atomistic Simulation of Iron-Based Fischer–Tropsch Synthesis. J. Mater. Inform. 5 (2), 27 (2025). https://doi.org/10.20517/jmi.2024.105
- Sella saddle-point search: Hermes, E. D.; Sargsyan, K.; Najm, H. N.; Zádor, J. Sella, an Open-Source Automation-Friendly Molecular Saddle Point Optimizer. J. Chem. Theory Comput. 18 (11), 6974-6988 (2022). https://doi.org/10.1021/acs.jctc.2c00395
- CCQN (cone-shaped constrained quasi-Newton) transition-state optimization: Wu, Y.; Wang, H. Cone-Shaped Constrained Quasi-Newton Method: Efficient and Robust Single-Ended Transition State Optimization Algorithm. J. Chem. Theory Comput. 21 (18), 9054-9065 (2025). https://doi.org/10.1021/acs.jctc.5c01015
License
LGPL-v3 License.
Metadata
Release files for atst-tools 2.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| atst_tools-2.3.2.tar.gz | 321.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| atst_tools-2.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 683.4 kB
Release files / atst_tools-2.3.2.tar.gz
| Download URL | atst_tools-2.3.2.tar.gz |
|---|---|
| Size | 321.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d5565bf75becba3757422ca58e8c4897e0c48e1fd30ac38a12a2a631160d7f15
|
|
BLAKE2b-256 checksum How to use checksums |
37429721f8314e56a78f842a1e8f1257de7fbddcfe0bfbf79d2533d9f397bd70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logRelease files / atst_tools-2.3.2-py3-none-any.whl
| Download URL | atst_tools-2.3.2-py3-none-any.whl |
|---|---|
| Size | 362.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
25eaa0f4619d96c1d8540a9cc266196a1b0816feb3d3063c34cda1a5a7f32a83
|
|
BLAKE2b-256 checksum How to use checksums |
0005325a6bd1990496683f7be03ff492fc2a17b10f2eb4d838a0fcd1a062c77c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logSecurity for atst-tools 2.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for atst_tools-2.3.2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.