Skip to content

MolecularAI/atom-bond-featurizer

Repository files navigation

Bond and Atom Featurizer and Descriptor Extractor (BONAFIDE)

image

Version Badge DOI Maturity Mypy Pytest-quick Test coverage Documentation

BONAFIDE is a Python-based package for calculating features for atoms and bonds in molecules by providing a consistent API to popular featurization libraries and packages. It can calculate descriptors based on both 2D and 3D molecular representations depending on the provided user input. It aims to simplify the process of calculating local features for machine learning and cheminformatics applications.

For any further details, please visit the documentation.

Requirements

  • Python 3.12
  • Conda (for environment management)
  • Key dependencies: alfabet, ase, dbstep, dscribe, kallisto, mendeleev, morfeus-ml, numpy, pandas, py3Dmol, qmdesc, rdkit, scipy
  • Optional external programs: Multiwfn, Psi4, xtb

For further details, please see the installation guide and the environment .yml files.

Quick Start

from bonafide import AtomBondFeaturizer

f = AtomBondFeaturizer()

# Get the list of the desired feature indices (all 2D atom features from RDKit)
fdf = f.list_atom_features(origin="RDKit", dimensionality="2D")
fidx_list = fdf.index.to_list()

# Read in the molecule and calculate the features
f.read_input(input_value="O=C(O)Cc1ccccc1Nc1c(Cl)cccc1Cl", namespace="diclofenac")
f.featurize_atoms(atom_indices="all", feature_indices=fidx_list)

# Retrieve results as a DataFrame
f.return_atom_features()

For more details and examples, see the examples folder and the documentation.

Reference and Contributors

  • Lukas Sigmund
  • Michele Assante
  • Matt Ball

For any further details, please refer to our preprint.

About

A Python package for the calculation of features and descriptors for atoms and bonds in molecules.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages