Utility for reaction modeling using graph grammar
Project description
SynAgent
SynAgent is a proof-of-concept agent that orchestrates multiple Syn™ ecosystem packages: SynKit, SynRBL, SynTemp, SynCat, SynRFP, and SynRXN. It wraps each package into a standard tool interface and provides a simple agent core that sequences these tools for end-to-end reaction informatics workflows.
Features
- SynRBL: Rule- and MCS-based reaction rebalancing.
- SynKit: Reaction canonicalization and mechanistic transition graphs.
- SynTemp: High-accuracy reaction template extraction with consensus atom mapping.
- SynCat: Graph-based reaction classification via cross-attention models.
- SynRFP: Mapping-free, permutation-invariant reaction fingerprints.
- SynRXN: Reproducible reaction datasets and splits.
Structure
synagent/: Core package providing the agent (agent.py), registry (registry.py) and tool wrappers.tools/: Implementations of each tool wrapper and a base protocol.
README.md: This document describing the package.
Usage
- Register tools: Instantiate a :class:
~synagent.registry.ToolRegistryand register imported tool instances from :mod:synagent.tools. - Create an agent: Instantiate :class:
~synagent.agent.AgentCorewith the registry. - Build a plan: Create a list of
:class:
~synagent.agent.PlanStepobjects specifying tool names and their parameters. - Run the plan: Call
agent.run(plan)to execute tool calls sequentially.
Example
```python
from synagent import ToolRegistry, AgentCore, PlanStep
from synagent.tools import synrbl_balance, synkit_canonicalize
# 1. Register tools
registry = ToolRegistry()
registry.register(synrbl_balance)
registry.register(synkit_canonicalize)
# 2. Initialize agent
agent = AgentCore(registry)
# 3. Build plan
plan = [
PlanStep("synrbl.balance", {"reaction": "CC=O>>CC(=O)O"}),
PlanStep("synkit.canonicalize", {"reaction": "CC=O>>CC(=O)O", "with_mt_graph": False}),
]
# 4. Run
result = agent.run(plan)
print(result)
```
Notes
-----
- The actual Syn™ packages must be installed in your environment for the
wrappers to work.
- Each tool uses lazy imports to avoid unnecessary dependencies until
invoked.
- Error handling is basic; real-world agents should implement more
robust failure recovery and logging.
License
-------
This repository is released under the Apache 2.0 License, consistent
with the licensing of the underlying Syn packages.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file synagent-0.0.1.tar.gz.
File metadata
- Download URL: synagent-0.0.1.tar.gz
- Upload date:
- Size: 17.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3219580b964cacc4e9ea1082e8ec84b7f3f4575cc0f8b0eed2ba5beb5dd0e35b
|
|
| MD5 |
7fac21250fb319a4844238f83e31d92e
|
|
| BLAKE2b-256 |
f305d667d3c1c3a001bea0dbe04ca4d1392e0a5194a963fec16386f2bd09703a
|
Provenance
The following attestation bundles were made for synagent-0.0.1.tar.gz:
Publisher:
publish-package.yml on TieuLongPhan/SynAgent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synagent-0.0.1.tar.gz -
Subject digest:
3219580b964cacc4e9ea1082e8ec84b7f3f4575cc0f8b0eed2ba5beb5dd0e35b - Sigstore transparency entry: 756960979
- Sigstore integration time:
-
Permalink:
TieuLongPhan/SynAgent@bad38e04faa1cc86301717f602b045fe683a2007 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/TieuLongPhan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@bad38e04faa1cc86301717f602b045fe683a2007 -
Trigger Event:
release
-
Statement type:
File details
Details for the file synagent-0.0.1-py3-none-any.whl.
File metadata
- Download URL: synagent-0.0.1-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c6d92f5ce1cef1c6368f535c66800d67c52dd3ad956c66cafe111515f00851da
|
|
| MD5 |
e05baef620db4e23c03dfc293557e086
|
|
| BLAKE2b-256 |
1eb1abb40e59ef173cc8ed616a75991fb35ff69350103bdc7a41c6a10163edc6
|
Provenance
The following attestation bundles were made for synagent-0.0.1-py3-none-any.whl:
Publisher:
publish-package.yml on TieuLongPhan/SynAgent
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
synagent-0.0.1-py3-none-any.whl -
Subject digest:
c6d92f5ce1cef1c6368f535c66800d67c52dd3ad956c66cafe111515f00851da - Sigstore transparency entry: 756960991
- Sigstore integration time:
-
Permalink:
TieuLongPhan/SynAgent@bad38e04faa1cc86301717f602b045fe683a2007 -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/TieuLongPhan
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-package.yml@bad38e04faa1cc86301717f602b045fe683a2007 -
Trigger Event:
release
-
Statement type: