Skip to content



Molfeat is organized in three main modules:

  • The model store loads, lists and registers all featurizers.
  • molfeat.calc: A calculator is a callable that featurizes a single molecule.
  • molfeat.trans: A transformer is a scikit-learn compatible class that wraps a calculator in a featurization pipeline.

Learn more about the different types of featurizers

Consult this tutorial to dive deeper into the differences between the calculator and transformer. It provides a good overview of the different types of featurizers and has pointers for learning about more advanced features.

Quick API Tour

Community contribution

Curious how molfeat can simplify training QSAR models? See this tutorial contributed by @PatWalters: Open In Colab

import datamol as dm
from molfeat.calc import FPCalculator
from molfeat.trans import MoleculeTransformer
from import ModelStore

# Load some dummy data
data =

# Featurize a single molecule
calc = FPCalculator("ecfp")

# Define a parallelized featurization pipeline
mol_transf = MoleculeTransformer(calc, n_jobs=-1)

# Easily save and load featurizers
mol_transf = MoleculeTransformer.from_state_yaml_file("state_dict.yml")

# List all available featurizers
store = ModelStore()

# Find a featurizer and learn how to use it
model_card ="ChemBERTa-77M-MLM")[0]