Expand description
qsar — a small, focused Rust library for QSAR-related utilities.
This crate provides:
descriptors— a lightweight exact molecular-weight calculator from SMILES/InChI (small, pure-Rust parser).data_io— small CSV helpers to load descriptor matrices and target vectors.models— helpers to convert descriptor vectors intondarrayand a minimal Linfa example.
The initial release intentionally avoids heavy native FFI dependencies (Open Babel / RDKit) so the crate stays portable and easy to publish. Full parser/toolkit integration can be added later behind optional Cargo features.
§Quick examples
Compute exact molecular weight (SMILES):
use qsar::molecular_weight;
let mw = qsar::descriptors::molecular_weight("CCO").expect("compute MW");
println!("Ethanol MW: {}", mw);Convert vectors to ndarray and train a simple linear model (see models):
use qsar::models::train_and_predict_example;
let pred = train_and_predict_example().expect("train and predict");
println!("Prediction: {:?}", pred);Load descriptors from CSV (see data_io):
use qsar::data_io::read_csv_descriptors;
let (x, y) = read_csv_descriptors("data/dataset.csv", &["mol_wt", "logp"], "pIC50")?;Re-exports§
pub use descriptors::molecular_weight;pub use data_io::read_csv_descriptors;pub use models::to_ndarrays;pub use models::train_and_predict_example;
Modules§
- data_io
- CSV/JSON data I/O helpers for QSAR descriptor datasets.
- descriptors
- Molecular descriptor calculations.
- models
- Utilities to convert descriptor vectors into ndarray and a minimal Linfa example.