Skip to content

CIDAG/AugChem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AugChem 🧪

Documentation Python PyTorch License

A comprehensive Python toolbox for chemical data augmentation developed in partnership with CINE and FAPESP. AugChem provides state-of-the-art techniques for augmenting molecular data across multiple representations.

🚀 Features

Multi-Modal Augmentation

  • SMILES: String-based molecular representation augmentation
  • Molecular Graphs: Advanced graph-based augmentation using PyTorch Geometric

🔬 SMILES Augmentation Techniques

  • Enumeration: Creates different representations of the same SMILES
  • Masking: Masks a random token of the SMILES, switching it to "[M]", with a given probability.
  • Deletion: Deletes a random token from the SMILES with a given probability.
  • Swaping: Swaps a two random tokens from the SMILES.
  • Fusion: A combination between Masking, Deletion and Swap, that chooses one of the three to use on the augmentation.

🔬 Graph Augmentation Techniques

  • Edge Dropping: Systematic removal of molecular bonds for structural variation
  • Node Dropping: Atomic removal while preserving molecular validity
  • Feature Masking: Node feature perturbation for robust representation learning
  • Edge Perturbation: Dynamic bond addition and removal for chemical space exploration

📦 Installation

pip install augchem

Or install from source:

git clone https://github.com/gbonavina/AugChem.git
cd AugChem
pip install -e .

🔧 Dependencies

  • torch >= 2.0.0
  • torch-geometric >= 2.3.0
  • rdkit >= 2023.3.1
  • numpy >= 1.21.0
  • pandas >= 1.3.0
  • matplotlib >= 3.5.0

🎯 Use Cases

  • Drug Discovery: Molecular property prediction with enhanced datasets
  • Materials Science: Crystal structure and property augmentation
  • Chemical Informatics: Robust molecular representation learning
  • Graph Neural Networks: Training data enhancement for chemical GNNs
  • Cheminformatics Research: Systematic molecular dataset expansion

📖 Documentation

Comprehensive documentation with tutorials and API reference: https://gbonavina.github.io/AugChem/

Key Sections

🔬 Research

This toolbox addresses the gap in chemical data augmentation for machine learning applications in materials chemistry. The effectiveness of ML models depends on data quality, making these augmentation techniques essential for improving model accuracy.

Citations

If you use AugChem in your research, please cite:

@software{augchem2024,
  title={AugChem: A Python Toolbox for Chemical Data Augmentation},
  author={Gabriel Bonavina, Marcos Quiles},
  year={2025},
  url={https://github.com/gbonavina/AugChem}
}

🤝 Contributing

We welcome contributions!

Development Setup

git clone https://github.com/gbonavina/AugChem.git
cd AugChem
pip install -e ".[dev]"

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • CINE - Center for Innovation on New Energies
  • FAPESP - São Paulo Research Foundation
  • PyTorch Geometric team for the excellent graph neural network library
  • RDKit community for chemical informatics tools

📞 Support

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages