Auto3D.config.Auto3DOptions

class Auto3D.config.Auto3DOptions(path: str | None = None, k: int | bool = False, window: float | bool = False, verbose: bool = False, job_name: str = '', enumerate_tautomer: bool = False, tauto_engine: str = 'rdkit', pKaNorm: bool = True, isomer_engine: str = 'rdkit', enumerate_isomer: bool = True, mode_oe: str = 'classic', mpi_np: int = 4, max_confs: int | None = None, use_gpu: bool = True, gpu_idx: int | list[int] = 0, capacity: int = 42, optimizing_engine: str = 'AIMNET', patience: int = 250, opt_steps: int = 2000, convergence_threshold: float = 0.01, threshold: float = 0.3, memory: int | None = None, batchsize_atoms: int = 1024, allow_tf32: bool = False)

Bases: object

Configuration options for Auto3D conformer generation.

This dataclass provides proper type hints, validation, and IDE support for Auto3D configuration.

Example

>>> from Auto3D import Auto3DOptions, main
>>> config = Auto3DOptions(path="input.smi", k=5)
>>> result = main(config)
__init__(path: str | None = None, k: int | bool = False, window: float | bool = False, verbose: bool = False, job_name: str = '', enumerate_tautomer: bool = False, tauto_engine: str = 'rdkit', pKaNorm: bool = True, isomer_engine: str = 'rdkit', enumerate_isomer: bool = True, mode_oe: str = 'classic', mpi_np: int = 4, max_confs: int | None = None, use_gpu: bool = True, gpu_idx: int | list[int] = 0, capacity: int = 42, optimizing_engine: str = 'AIMNET', patience: int = 250, opt_steps: int = 2000, convergence_threshold: float = 0.01, threshold: float = 0.3, memory: int | None = None, batchsize_atoms: int = 1024, allow_tf32: bool = False) None

Methods

__init__([path, k, window, verbose, ...])

get(key[, default])

Dict-like get method for backward compatibility.

items()

Return field name-value pairs for backward compatibility.

keys()

Return field names for backward compatibility.

to_optimization_config()

Create an OptimizationConfig from these options.

Attributes

allow_tf32

Enable TF32 for faster matmul on Ampere+ GPUs (less precise).

batchsize_atoms

Number of atoms per optimization batch per GB.

capacity

Number of SMILES handled per 1GB memory.

convergence_threshold

Optimization converges when max force is below this (eV/Å).

enumerate_isomer

When True, enumerate cis/trans and R/S isomers.

enumerate_tautomer

When True, enumerate tautomers for the input.

gpu_idx

GPU device index or list of indices.

isomer_engine

'rdkit' or 'omega'.

job_name

Folder name to save all metadata.

k

Output top-k structures for each SMILES.

max_confs

Maximum conformers per SMILES.

memory

RAM size assigned to Auto3D in GB.

mode_oe

'classic', 'macrocycle', 'dense', 'pose', 'rocs', or 'fast_rocs'.

mpi_np

Number of CPU cores for isomer generation.

opt_steps

Maximum optimization steps per structure.

optimizing_engine

'ANI2x', 'ANI2xt', 'AIMNET', or path to custom NNP.

pKaNorm

Normalize ionization state to pH ~7.4 (only with tauto_engine='oechem').

path

Path to input .smi or .sdf file containing SMILES/molecules.

patience

Drop conformer from optimization if force doesn't decrease for this many steps.

tauto_engine

'rdkit' or 'oechem'.

threshold

RMSD threshold for duplicate removal (Å).

use_gpu

Use GPU when available.

verbose

When True, save all metadata while running.

window

Output structures within x kcal/mol of lowest energy.

path: str | None = None

Path to input .smi or .sdf file containing SMILES/molecules.

k: int | bool = False

Output top-k structures for each SMILES. Set to int or False.

window: float | bool = False

Output structures within x kcal/mol of lowest energy. Set to float or False.

verbose: bool = False

When True, save all metadata while running.

job_name: str = ''

Folder name to save all metadata.

enumerate_tautomer: bool = False

When True, enumerate tautomers for the input.

tauto_engine: str = 'rdkit'

‘rdkit’ or ‘oechem’.

Type:

Program to enumerate tautomers

pKaNorm: bool = True

Normalize ionization state to pH ~7.4 (only with tauto_engine=’oechem’).

isomer_engine: str = 'rdkit'

‘rdkit’ or ‘omega’.

Type:

Program for generating 3D isomers

enumerate_isomer: bool = True

When True, enumerate cis/trans and R/S isomers.

mode_oe: str = 'classic'

‘classic’, ‘macrocycle’, ‘dense’, ‘pose’, ‘rocs’, or ‘fast_rocs’.

Type:

Omega mode

mpi_np: int = 4

Number of CPU cores for isomer generation.

max_confs: int | None = None

Maximum conformers per SMILES. None uses dynamic number (num_heavy_atoms - 1).

use_gpu: bool = True

Use GPU when available.

gpu_idx: int | list[int] = 0

GPU device index or list of indices.

capacity: int = 42

Number of SMILES handled per 1GB memory.

optimizing_engine: str = 'AIMNET'

‘ANI2x’, ‘ANI2xt’, ‘AIMNET’, or path to custom NNP.

Type:

Model for optimization

patience: int = 250

Drop conformer from optimization if force doesn’t decrease for this many steps.

opt_steps: int = 2000

Maximum optimization steps per structure.

convergence_threshold: float = 0.01

Optimization converges when max force is below this (eV/Å).

threshold: float = 0.3

RMSD threshold for duplicate removal (Å).

memory: int | None = None

RAM size assigned to Auto3D in GB. None for automatic detection.

batchsize_atoms: int = 1024

Number of atoms per optimization batch per GB.

allow_tf32: bool = False

Enable TF32 for faster matmul on Ampere+ GPUs (less precise). Default False.

get(key: str, default=None)

Dict-like get method for backward compatibility.

keys()

Return field names for backward compatibility.

items()

Return field name-value pairs for backward compatibility.

to_optimization_config() OptimizationConfig

Create an OptimizationConfig from these options.

Returns:

OptimizationConfig with values from this Auto3DOptions instance.