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
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
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
noctis_configure
~/noctis/
and writes three filessettings.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
~/linchemin/
and writes two filessettings.toml
– default settings you may tweak.secrets.toml
– placeholders for the required secrets
For more details:
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]