Skip to content

Safi-ullah-majid/Molecular-Complex-Analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧬 Molecular Complex Analyzer

Unleash the Power of AI-Driven Molecular Analysis

Main Interface

A comprehensive Python toolkit for analyzing molecular complexes using FairChem and GemNet models. Optimizes absorbent and analyte structures, forms complexes, and predicts molecular properties.

Python License Status


✨ 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 React-based web interface
  • 🐧 Linux Desktop App - Installable DEB package for Ubuntu/Debian

πŸ“₯ Download

⬇️ Download DEB Package (Latest Release)

# 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

Option 1: Web Interface

# Start backend (serves both API and frontend)
python3 api.py

# Open browser at http://localhost:8000

Option 2: Linux Desktop App

# Install the DEB package
sudo dpkg -i molecular-analyzer-deb.deb

# Run from applications menu or terminal
molecular-analyzer

Option 3: 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 Properties

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

⚑ Energetic Properties

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

🌈 Spectroscopic Properties

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

πŸ› οΈ 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 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

About

A pipeline for analyzing molecular complexes using ML models

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors