Skip to content

syngenta/noctis

Repository files navigation

⭒˚.⋆ NOCTIS ⭒˚.⋆

PyPI - Version Downloads monthly Downloads total

GitHub Workflow Status

Documentation Status Contributions

Noctis Logo

What is NOCTIS?

NOCTIS is a Python package for modeling and analyzing chemical reaction data as graph structures.

It allows you to build and explore complex reaction networks — beyond just molecules and chemical equations — by supporting additional node types, metadata, and relationships.

NOCTIS provides tools to:

  • Preprocess and validate chemical reaction datasets
  • Build graph representations from reaction data
  • Query and navigate reaction networks
  • Mine synthesis routes using a custom Java plugin
  • Interact programmatically with graph databases
  • Transform query results into formats suitable for further analysis (e.g., NetworkX, Pandas)

To learn more, visit the documentation.

Try it interactively with our example notebook! 📓 Example Notebook

Installation

Create a dedicated Python environment for this package with your favorite environment manager.

conda create -n noctis python=3.9
conda activate noctis
  • Option 1: Install the package from the GitHub repository:
pip install git+ssh://[email protected]/syngenta/noctis.git@main
  • Option 2: Install the package from the Python Package Index (PyPI):
pip install noctis

Configuration

Both NOCTIS and its companion package Linchemin need a small on-disk configuration before you can use them.

After installation, and before the first usage, run the following command:

noctis_configure && linchemin_configure

What each command does

noctis_configure
Creates the directory ~/noctis/ and writes three files
settings.yaml – default runtime settings (edit as needed)
.secrets.yaml – placeholders for credentials (replace with the real values)
schema.yaml – description of the graph schema used by the database
linchemin_configure
Creates the directory ~/linchemin/ and writes two files
settings.toml – default settings you may tweak
.secrets.toml – placeholders for the required secrets

For more details:

🔧 NOCTIS – see the Configuration chapter of this documentation.
🔧 Linchemin – see the Linchemin repo for full details.


⚠️ ALERT ⚠️:
If you skip this step you’ll run straight into mysterious import errors (e.g. “Settings object has no attribute ‘CONSTRUCTORS’”). The fix is simply to run the two commands above once.

Development Installation

If you're working on the development of NOCTIS and want to run directly from source:

git clone [email protected]:syngentagroup/scientific-computing-team/noctis.git
pip install -e noctis/[dev]

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •