Skip to content

Latest commit

 

History

History
328 lines (232 loc) · 8.09 KB

File metadata and controls

328 lines (232 loc) · 8.09 KB
Molecular Complex Analyzer

🧬 Molecular Complex Analyzer

Unleash the Power of AI-Driven Molecular Analysis

A comprehensive Python toolkit for analyzing molecular complexes using FairChem and GemNet models — optimize absorbent and analyte structures, form complexes, and predict molecular properties, all from one place.

Python License Status Platform

Download · Quick Start · Screenshots · Properties · Contributing


📚 Table of Contents


✨ Features

🔬 ML-Powered Optimization State-of-the-art FairChem models for precise molecular geometry optimization
🔗 Intelligent Complex Formation Automated absorbent–analyte binding with configurable geometries
📊 Comprehensive Property Prediction Calculate electronic, energetic, and spectroscopic properties
🖥️ Beautiful GUI Modern, responsive React-based web interface
🐧 Linux Desktop App Installable .deb package for Ubuntu/Debian

📥 Download

# Install
sudo dpkg -i molecular-analyzer-deb.deb

# Run
molecular-analyzer

🚀 Quick Start

Installation

# Clone the repository
git clone https://github.com/Safi-ullah-majid/Molecular-Complex-Analysis.git
cd Molecular-Complex-Analysis

# Install Python dependencies
pip install -r requirements.txt

# Install frontend dependencies
cd frontend
npm install
cd ..

Running the Application

OptionCommand
🌐 Web Interface
python3 api.py
# Open browser at http://localhost:8000
🐧 Linux Desktop App
sudo dpkg -i molecular-analyzer-deb.deb
molecular-analyzer
Simple Launcher
./launch.sh

🎨 Screenshots

Upload Interface

Upload Interface

Upload your absorbent and analyte .gjf files with drag-and-drop support


Analysis Results

Analysis Results

View comprehensive molecular properties including HOMO-LUMO gap, binding energy, and more


Settings Panel

Settings

Configure optimization parameters, DFT methods, and computational settings


📊 Property Calculations

🔋 Electronic

  • HOMO-LUMO gap
  • Dipole moment
  • Polarizability tensors
  • Molecular orbital analysis

⚡ Energetic

  • Binding energy
  • Total energy
  • Force analysis
  • Thermodynamic properties

🌈 Spectroscopic

  • IR frequencies
  • UV-Vis absorption
  • Raman scattering
  • NMR predictions

🧰 Tech Stack

FastAPI React PyTorch FairChem ASE


🛠️ Development

Project Structure

Molecular-Complex-Analysis/
├── api.py                    # FastAPI backend
├── analyzer.py               # Core analysis code
├── requirements.txt          # Python dependencies
├── launch.sh                 # Simple launcher
├── icon.png                  # App icon
├── frontend/                 # React frontend
│   ├── src/
│   │   ├── App.jsx
│   │   ├── index.js
│   │   └── index.css
│   └── package.json
├── docs/                     # Documentation & screenshots
├── uploads/                  # Uploaded files (gitignored)
├── results/                  # Analysis results (gitignored)
└── README.md

Building from Source

# Build frontend
cd frontend
npm run build
cd ..

# Run the app
python3 api.py

Building the DEB Package

See BUILD.md for detailed instructions on creating the Linux desktop app.


📄 Usage Example

from analyzer import MolecularComplexAnalyzer

# Initialize analyzer
analyzer = MolecularComplexAnalyzer()

# Analyze complex
structure, properties = analyzer.analyze_complex(
    absorbent_path="absorbent.gjf",
    analyte_path="analyte.gjf",
    output_prefix="complex_analysis"
)

# Access results
print(f"Binding Energy: {properties['binding_energy']:.2f} kcal/mol")
print(f"HOMO-LUMO Gap: {properties['homo_lumo_gap']:.2f} eV")
print(f"Dipole Moment: {properties['dipole_moment']:.2f} D")

🤝 Contributing

Contributions are welcome! Here's how you can help:

  • 🐛 Report bugs via Issues
  • 💡 Suggest features and enhancements
  • 📝 Submit pull requests for bug fixes and new features
  • 📚 Improve documentation

Development Setup

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

📝 License

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


🙏 Acknowledgments

Built with powerful open-source tools:

  • FairChem — ML models for molecular property prediction
  • GemNet — Geometric message passing neural networks
  • ASE — Atomic Simulation Environment
  • React — Frontend framework
  • FastAPI — Backend API framework

📧 Contact

Safi Ullah Majid


💖 Made with passion for computational chemistry

⭐ Star this repository if you find it helpful!

Report Bug · Request Feature · Documentation