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