Skip to main content

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

  1. Register tools: Instantiate a :class:~synagent.registry.ToolRegistry and register imported tool instances from :mod:synagent.tools.
  2. Create an agent: Instantiate :class:~synagent.agent.AgentCore with the registry.
  3. Build a plan: Create a list of :class:~synagent.agent.PlanStep objects specifying tool names and their parameters.
  4. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synagent-0.0.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synagent-0.0.1-py3-none-any.whl (18.0 kB view details)

Uploaded Python 3

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

Hashes for synagent-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3219580b964cacc4e9ea1082e8ec84b7f3f4575cc0f8b0eed2ba5beb5dd0e35b
MD5 7fac21250fb319a4844238f83e31d92e
BLAKE2b-256 f305d667d3c1c3a001bea0dbe04ca4d1392e0a5194a963fec16386f2bd09703a

See more details on using hashes here.

Provenance

The following attestation bundles were made for synagent-0.0.1.tar.gz:

Publisher: publish-package.yml on TieuLongPhan/SynAgent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for synagent-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c6d92f5ce1cef1c6368f535c66800d67c52dd3ad956c66cafe111515f00851da
MD5 e05baef620db4e23c03dfc293557e086
BLAKE2b-256 1eb1abb40e59ef173cc8ed616a75991fb35ff69350103bdc7a41c6a10163edc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for synagent-0.0.1-py3-none-any.whl:

Publisher: publish-package.yml on TieuLongPhan/SynAgent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page