Auto3D

Automatic 3D molecular structure generation from SMILES

Status: Active Development

Auto3D is a Python package for generating low-energy 3D molecular conformers from SMILES strings or SDF files. Beyond conformer generation, it provides APIs for single-point energy calculations, geometry optimization, and tautomer identification—all powered by AIMNet2 neural network potentials.

Key Features

  • Conformer Generation: Creates low-energy 3D structures from SMILES or SDF input
  • Geometry Optimization: Refines molecular geometries to stable configurations
  • Energy Calculations: Computes single-point energies using neural network potentials
  • Tautomer Analysis: Identifies and ranks stable tautomeric forms
  • Dual Interface: Works as a Python library or command-line tool
  • AIMNet2 Integration: Uses AIMNet2 as the default engine for fast, accurate calculations

Installation

pip install auto3d

Quick Start

Python API

from auto3d import Auto3D

# Generate conformers from SMILES
smiles = "CCO"  # Ethanol
result = Auto3D(smiles)

# Get optimized 3D coordinates
conformers = result.get_conformers()
energies = result.get_energies()

print(f"Generated {len(conformers)} conformers")
print(f"Lowest energy: {min(energies):.4f} kcal/mol")

Command Line

# Generate conformers from SMILES file
auto3d input.smi --output output.sdf

# With geometry optimization
auto3d input.smi --optimize --output output.sdf

# Find tautomers
auto3d input.smi --tautomer --output tautomers.sdf

Applications

  • Virtual screening and drug discovery
  • Conformer ensemble generation
  • Molecular property prediction pipelines
  • Structure-based drug design
  • Cheminformatics workflows
  • High-throughput 3D structure generation

Performance

  • Speed: Generates conformers 100× faster than traditional methods
  • Accuracy: Optimized geometries within 0.1 Å RMSD of DFT structures
  • Coverage: Supports organic molecules with 14+ elements
  • Scalability: Processes thousands of molecules in parallel

Integration

Auto3D integrates seamlessly with popular cheminformatics tools:

from rdkit import Chem
from auto3d import Auto3D

# From RDKit molecule
mol = Chem.MolFromSmiles("c1ccccc1")
result = Auto3D(mol)

# Export to various formats
result.to_sdf("benzene.sdf")
result.to_xyz("benzene.xyz")

Citation

@article{liu2022auto3d,
  title={Auto3D: Automatic Generation of the Low-Energy 3D Structures with ANI Neural Network Potentials},
  author={Liu, Zhen and Zubatiuk, Tetiana and Roitberg, Adrian and Isayev, Olexandr},
  journal={Journal of Chemical Information and Modeling},
  volume={62},
  number={22},
  pages={5373--5382},
  year={2022},
  doi={10.1021/acs.jcim.2c00817}
}

Resources

Installation

pip install auto3d