RDKit
A high-level library for performing common RDKit tasks such as SMILES parsing, molecule normalization, etc. Uses the C++ API via bindings from rdkit-sys.
Notice: Requires rdkit 2023.09.1 or higher (like Ubuntu Noble 24.04)
Prerequisites
On a Mac:
brew install rdkit
On Linux you will need a custom build of rdkit with static libraries. At the moment, we have some pre-compiled tar balls available for AMD64 and ARM64 for the latest RKDit which get the job done for our CI (Note: these have been compiled on Ubuntu 22.04, not 14.04...):
https://rdkit-rs-debian.s3.eu-central-1.amazonaws.com/rdkit_2024_03_3_ubuntu_14_04_amd64.tar.gz https://rdkit-rs-debian.s3.eu-central-1.amazonaws.com/rdkit_2024_03_3_ubuntu_14_04_arm64.tar.gz
Release Both rdkit and rdkit-sys
The rdkit-sys
crate is a member of the rdkit
workspace. All crates in the workspace should move in lockstep versions
for simplicity's sake, making it easy to tell which crates are compatible.
Managing multiple crates in a single repository:
rdkit % cargo workspaces version patch
rdkit % cargo publish
rdkit % cd rdkit-sys
rdkit-sys % cargo publish
Formatting
C++ formatting
Clang formatting should be automatically applied when saving files in VSCode if you have the clangd
extension installed. If you don't have it installed, you can install it from the marketplace. Else by right-clicking on the file and selecting Format Document
should do the work.
Rust formatting
Rust formatting should be automatically applied when saving files in VSCode if you have the rust-analyzer
extension installed. Else by running cargo fmt
in the root directory the entire project will be formatted.