Skip to main content

AlgoMol Core Library

AlgoMol Core is a C++ library for fast molecular graph representation and equivalence detection with Python bindings.

Overview

AlgoMol Core provides a robust framework for molecular modeling with specific focus on:

  • Chemical and topological equivalence detection
  • VSEPR geometry modeling of molecular structures

For more information, visit our official website at algomol.com.

Features

  • Equivalence Classes: Generate equivalence classes based on topological or geometrical properties
  • Stereochemistry Support: Correctly handles cis/trans isomerism and other stereochemical features
  • VSEPR Geometry: Assign and manage molecular geometries based on VSEPR
  • Python Bindings: Use the library directly from Python with full API support

Installation

Requirements

  • C++17 compatible compiler (GCC 7+, Clang 5+, MSVC 2019+)
  • CMake 3.15 or newer
  • Python 3.9+ (for Python bindings)
  • pybind11 (for Python bindings)

Python Package

AlgoMol is also available as a Python package:

pip install algomol

Usage

C++ API

#include "AlgoMol/molecules.hpp"

int main() {
    // Create a molecule
    auto molecule = std::make_shared<AlgoMol::molecules::MolGraph>("ethane");
    
    // Add atoms
    molecule->addAtom(1, AlgoMol::elements::_CARBON);
    molecule->addAtom(2, AlgoMol::elements::_CARBON);
    molecule->addAtom(3, AlgoMol::elements::_HYDROGEN);
    molecule->addAtom(4, AlgoMol::elements::_HYDROGEN);
    molecule->addAtom(5, AlgoMol::elements::_HYDROGEN);
    molecule->addAtom(6, AlgoMol::elements::_HYDROGEN);
    molecule->addAtom(7, AlgoMol::elements::_HYDROGEN);
    molecule->addAtom(8, AlgoMol::elements::_HYDROGEN);
    
    // Add bonds
    molecule->addBond(1, 2, AlgoMol::bonds::BondType::SINGLE);
    molecule->addBond(1, 3, AlgoMol::bonds::BondType::SINGLE);
    molecule->addBond(1, 4, AlgoMol::bonds::BondType::SINGLE);
    molecule->addBond(1, 5, AlgoMol::bonds::BondType::SINGLE);
    molecule->addBond(2, 6, AlgoMol::bonds::BondType::SINGLE);
    molecule->addBond(2, 7, AlgoMol::bonds::BondType::SINGLE);
    molecule->addBond(2, 8, AlgoMol::bonds::BondType::SINGLE);
    
    // Initialize the molecule
    molecule->init();
    
    // Generate equivalence classes
    molecule->generateEquivalenceClasses(AlgoMol::molecules::QueryTypeFlag::TOPOLOGICAL);
    
    // Get equivalence classes
    auto classes = molecule->getEquivalenceClasses(AlgoMol::molecules::QueryTypeFlag::TOPOLOGICAL);
}

Python API

import algomol

# Create a molecule
molecule = algomol.MolGraph("ethane")

# Add atoms
molecule.add_atom(1, 6)  # Carbon (atomic number 6)
molecule.add_atom(2, 6)  # Carbon
molecule.add_atom(3, 1)  # Hydrogen (atomic number 1)
molecule.add_atom(4, 1)  # Hydrogen
molecule.add_atom(5, 1)  # Hydrogen
molecule.add_atom(6, 1)  # Hydrogen
molecule.add_atom(7, 1)  # Hydrogen
molecule.add_atom(8, 1)  # Hydrogen

# Add bonds
molecule.add_bond(1, 2, algomol.BondType.SINGLE)
molecule.add_bond(1, 3, algomol.BondType.SINGLE)
molecule.add_bond(1, 4, algomol.BondType.SINGLE)
molecule.add_bond(1, 5, algomol.BondType.SINGLE)
molecule.add_bond(2, 6, algomol.BondType.SINGLE)
molecule.add_bond(2, 7, algomol.BondType.SINGLE)
molecule.add_bond(2, 8, algomol.BondType.SINGLE)

# Initialize the molecule
molecule.init_mol()

# Generate equivalence classes
molecule.generate_equivalence_classes(algomol.QueryTypeFlag.TOPOLOGICAL)

# Get equivalence classes
classes = molecule.get_equivalence_classes(algomol.QueryTypeFlag.TOPOLOGICAL)

API Reference

Core Classes

  • MolGraph: Main class for molecular graph representation
  • Atom<Element>: Templated class for atoms of different elements
  • Bond<BondType>: Templated class for different bond types
  • Geometry<GeometryType>: Templated class for VSEPR geometries

Key Functions

  • addAtom(): Add an atom to a molecule
  • addBond(): Add a bond between atoms
  • init(): Initialize a molecule after adding atoms and bonds
  • generateEquivalenceClasses(): Compute equivalence classes
  • isTopologyEquivalent(): Check if two atoms are topologically equivalent
  • isChemicallyEquivalent(): Check if two atoms are chemically equivalent
  • setCisAtoms(): Set cis stereochemistry
  • setOrientations(): Set atom orientations

License

AlgoMol Core is proprietary software, owned exclusively by AlgoMol LLC. All rights reserved. This software and its source code are confidential and cannot be redistributed, modified, or used without explicit written permission from AlgoMol LLC. This is NOT open source software.

Copyright © AlgoMol LLC. Unauthorized use, reproduction, or distribution is strictly prohibited.

Contact

For questions and support, please contact: lanl2vz@algomol.com

Visit our official website at algomol.com for more information.

Metadata

Release files for algomol 0.0.3.post4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for algomol 0.0.3.post4
File
algomol-0.0.3.post4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
algomol-0.0.3.post4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-32 Details
algomol-0.0.3.post4-cp312-cp312-macosx_11_0_universal2.macosx_11_0_arm64.macosx_10_9_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.9+ x86-64, macOS 11.0+ ARM64, macOS 11.0+ universal2 (ARM64, x86-64) Details
algomol-0.0.3.post4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
algomol-0.0.3.post4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-32 Details
algomol-0.0.3.post4-cp311-cp311-macosx_10_9_x86_64.macosx_10_9_universal2.macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64, macOS 10.9+ x86-64, macOS 10.9+ universal2 (ARM64, x86-64) Details
algomol-0.0.3.post4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
algomol-0.0.3.post4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-32 Details
algomol-0.0.3.post4-cp310-cp310-macosx_11_0_arm64.macosx_10_9_universal2.macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64), macOS 10.9+ x86-64, macOS 11.0+ ARM64 Details
algomol-0.0.3.post4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
algomol-0.0.3.post4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-32 Details
algomol-0.0.3.post4-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_universal2.macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64, macOS 11.0+ ARM64, macOS 11.0+ universal2 (ARM64, x86-64) Details

Total release size: 4.0 MB

Release files / algomol-0.0.3.post4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL algomol-0.0.3.post4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 281.3 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6f95fc4d6a6a51dfdee609e3c2fae2e33e064618a163f5dfd75ae8474d7f7022
BLAKE2b-256 checksum
How to use checksums
443544c7a74c23412c394da716c8df830c52ef08af54fc6a3386f7cda343f701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL algomol-0.0.3.post4-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl
Size 296.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
39cfb28427e40339eae01251a6673b0054b6fdcafa5a8af2a29dc59fd7b9cde4
BLAKE2b-256 checksum
How to use checksums
71516f723c79f76a899d3b1a1838f89fb8a6c0658e6620709d96ed56fa25484b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp312-cp312-macosx_11_0_universal2.macosx_11_0_arm64.macosx_10_9_x86_64.whl

Download URL algomol-0.0.3.post4-cp312-cp312-macosx_11_0_universal2.macosx_11_0_arm64.macosx_10_9_x86_64.whl
Size 429.6 kB
Tags CPython 3.12 macOS 10.9+ x86-64 macOS 11.0+ ARM64 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
ce7f64b4ffaf0c3592bdd40d6ae86af2c85bb5898e0bff2d692d67266fd93d40
BLAKE2b-256 checksum
How to use checksums
e60912173952865dd2694eb20b9a8d03d9aee761dec31a5619a1887ebbbd3232
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL algomol-0.0.3.post4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 283.0 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
84568fb26c627281a56d99531ce8b38168530f798876e0c15cf8dd42b609a4d0
BLAKE2b-256 checksum
How to use checksums
e71bd2ca2383afd029b8a87271ff0d0f5261f1eec9695ad47acaa4ed38c1fc20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL algomol-0.0.3.post4-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl
Size 296.8 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
71222f1250c26a1c44d59e8208053d591b64c72ce6ebacc16f359c06e585f5b8
BLAKE2b-256 checksum
How to use checksums
e5bebde45b821b4be3fb223809ee411984f3db8e0000104531e3f54ef6dc430e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp311-cp311-macosx_10_9_x86_64.macosx_10_9_universal2.macosx_11_0_arm64.whl

Download URL algomol-0.0.3.post4-cp311-cp311-macosx_10_9_x86_64.macosx_10_9_universal2.macosx_11_0_arm64.whl
Size 428.3 kB
Tags CPython 3.11 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d753e06282cc190601257ef2ed0bd04718b6de37d5b81cedbddec99a8b259378
BLAKE2b-256 checksum
How to use checksums
07963eca93ad23851d4a0d39ddc6aaf2a23eb396a317fa28f647808def2078a8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL algomol-0.0.3.post4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 281.3 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c35bc1cf78a407aceb7ec15571fa4ec7086512acfb0e3fd5322396e791670a6c
BLAKE2b-256 checksum
How to use checksums
8ef38fc34b31bf4df1ce5ad0f4def8678ac676454f619dac26b68cbdc1120353
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL algomol-0.0.3.post4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl
Size 295.6 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
78cd104c7904c8153b436148087319f2c6075b54029f677a8b0af9cbc93919ec
BLAKE2b-256 checksum
How to use checksums
695d744abb3a68335aee50136c7d2ae446450d8778fee2487e7d39d430fec6dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp310-cp310-macosx_11_0_arm64.macosx_10_9_universal2.macosx_10_9_x86_64.whl

Download URL algomol-0.0.3.post4-cp310-cp310-macosx_11_0_arm64.macosx_10_9_universal2.macosx_10_9_x86_64.whl
Size 425.4 kB
Tags CPython 3.10 macOS 10.9+ universal2 (ARM64, x86-64) macOS 10.9+ x86-64 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d8be9671db4ffe65fabd040879b96b781988d2c00a0f0707910096386614eb35
BLAKE2b-256 checksum
How to use checksums
639494c45d06b9c695d8f0bd1df39dcf0307001735f22f724cabb97a0a2d2d86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL algomol-0.0.3.post4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 281.8 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
19c7e77489de0a236757f6203d847b71836f9dc565dcbd82f1b34b9369465801
BLAKE2b-256 checksum
How to use checksums
7e33dc988c698a4c4e2c1b76dd8338d5faf3fad7466ffc9e29b5e8a32cd0b0b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl

Download URL algomol-0.0.3.post4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl
Size 296.0 kB
Tags CPython 3.9 Linux glibc 2.17+ x86-32
SHA-256 checksum
How to use checksums
8f0b57144398733249d12b244953060df23cbc6a024331b546bb466c6eccfee1
BLAKE2b-256 checksum
How to use checksums
697af25ef9725c3470d15c9269b24e077cf2fa56b62f2c558fda769247716f9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release files / algomol-0.0.3.post4-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_universal2.macosx_11_0_arm64.whl

Download URL algomol-0.0.3.post4-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_universal2.macosx_11_0_arm64.whl
Size 425.5 kB
Tags CPython 3.9 macOS 10.9+ x86-64 macOS 11.0+ ARM64 macOS 11.0+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
042594e4dacc72d23603fac52033c6a1666ff996085bf41749be0c60c88c9c00
BLAKE2b-256 checksum
How to use checksums
2ead172e316f99d1f0008dff28926b19dfec88de1ad3cfb851447b8c1aca487e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 16, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.3.post4 This release

12 release files

0.0.2

12 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page