A comprehensive Python application for automatically generating input files for quantum chemistry software packages (Gaussian and ORCA). Available as both a desktop GUI application and a web-based interface that works on iOS, Android, and desktop browsers.
- Beautiful modern interface with tabbed navigation
- Dual software support: Gaussian (G16/G09) and ORCA
- Multiple input types:
.comfiles (Gaussian input format).logfiles (extract geometry from completed calculations).xyzfiles (XYZ coordinate format)- SMILES strings with ChemDraw SVG name extraction
- Full workflow generation (steps 1-7 for Gaussian, steps 1,2,4,7,9 for ORCA)
- PySOC integration for Spin-Orbit Coupling calculations
- Scheduler support: PBS, SLURM, and Local
- Advanced features:
- TD-DFT with Singlet/Triplet/Mixed states
- Solvent models (PCM, SMD)
- Custom routes and keywords
- Redundant coordinates
- Geometry chaining
- Cross-platform: Works on iOS Safari, Android Chrome, and desktop browsers
- No installation required: Just open in browser
- File upload/download: Easy file handling via web interface
- Same powerful features as desktop version
- Responsive design: Optimized for mobile and desktop
- Python 3.8 or higher
- RDKit (for SMILES processing) - optional but recommended
# Using conda (recommended) conda install -c conda-forge rdkit # Or using pip (may have limitations) pip install rdkit-pypi
-
Clone the repository:
git clone https://github.com/abedisyedaliabbas/Quantum-Chemistry-Software-Input-Generator.git cd Quantum-Chemistry-Software-Input-Generator -
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python quantum_steps_gui.py
-
Install web dependencies:
pip install -r requirements_web.txt
-
Start the web server:
python quantum_steps_web.py
-
Open in browser:
- Local:
http://localhost:5000 - Network:
http://YOUR_IP:5000(for sharing with friends on same WiFi)
- Local:
See DEPLOYMENT_GUIDE.md for detailed deployment instructions.
- Launch
quantum_steps_gui.py - Select software (Gaussian or ORCA)
- Choose input type (
.com,.log,.xyz, or SMILES) - Configure settings in tabs:
- Mode & IO: Select mode (Full/Single/Multiple) and input files
- Method: Choose functional and basis set
- Solvent: Configure solvent model
- TD-DFT: Set excited state parameters
- Resources: Set computational resources
- Scheduler: Configure job submission
- Advanced: Additional options
- Click Generate to create all input files
- Start the server:
python quantum_steps_web.py - Open
http://localhost:5000in your browser - Follow the same workflow as desktop version
- Download generated files as ZIP archive
- Step 1: Ground state geometry optimization
- Step 2: Vertical excitation (Franck-Condon state)
- Step 3: cLR correction of vertical excitation energy
- Step 4: Excited state geometry optimization
- Step 5: Density calculation at optimized excited state geometry
- Step 6: cLR correction of excited state energy
- Step 7: Ground state energy at excited state geometry
- Step 1: Ground state optimization
- Step 2: Vertical excitation (Franck-Condon state)
- Step 4: Excited state optimization
- Step 7: Ground state at excited state geometry
- Step 9: Custom step (user-defined)
- Standard Gaussian input files
- Automatically extracts geometry, charge, and multiplicity
- Completed Gaussian calculations
- Extracts final optimized geometry
- Useful for continuing calculations
- Standard XYZ coordinate format
- Simple coordinate input
- Chemical structure input using SMILES notation
- Supports ChemDraw SVG name extraction
- Automatic 3D coordinate generation using RDKit
- Format:
name:SMILESor justSMILES
Example:
formaldehyde:CO
benzene:c1ccccc1
water:O
- Copy SMILES from ChemDraw:
Edit → Copy As → SMILES - Export structure names:
File → Save As → SVG - Click "Load Names from SVG" in the GUI
- Names are automatically matched with SMILES!
- Gaussian: Full support for G16/G09 workflows
- ORCA: Complete ORCA input file generation
- Full Mode: Generate all steps (1-7 for Gaussian, 1,2,4,7,9 for ORCA)
- Single Mode: Generate one selected step
- Multiple Mode: Select specific steps to generate
- Singlet: Standard closed-shell singlet states
- Triplet: Explicit triplet states (
TD(Triplets, NStates=n)) - Mixed (50-50): Mixed singlet-triplet states for SOC calculations
- PCM: Polarizable Continuum Model
- SMD: Solvation Model based on Density
- None: Gas phase calculations
- Automatic preparation for Spin-Orbit Coupling calculations
- Generates bash scripts for running PySOC
- Combines results into Excel files
- Requires:
TD(50-50),%rwf,6D 10F GFInput
- PBS: Portable Batch System
- SLURM: Simple Linux Utility for Resource Management
- Local: Local execution scripts
The web version provides the same functionality as the desktop GUI but accessible through any web browser.
Local Network (Same WiFi):
- Start server:
python quantum_steps_web.py - Share the URL shown (e.g.,
http://192.168.1.100:5000) - Friends can access from their devices
Cloud Deployment:
- Deploy to Railway, Render, or PythonAnywhere for public access
- See DEPLOYMENT_GUIDE.md for details
GET /- Main web interfaceGET /api/defaults/<software>- Get default settingsPOST /api/route-preview- Preview route for a stepPOST /api/smiles-to-coords- Convert SMILES to coordinatesPOST /api/extract-names-from-svg- Extract names from SVGPOST /api/parse-log- Parse Gaussian log filePOST /api/preview- Preview generated filesPOST /api/generate- Generate and download filesGET /health- Health check
Quantum-Chemistry-Software-Input-Generator/
├── quantum_steps_gui.py # Main desktop GUI application
├── quantum_steps_web.py # Flask web server
├── gaussian_steps_gui.py # Gaussian backend logic
├── ORCA_Step_Maker.py # ORCA backend logic (if separate)
├── templates/ # Web UI templates
│ └── index.html
├── static/ # Web static files
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── app.js
├── requirements.txt # Desktop dependencies
├── requirements_web.txt # Web dependencies
├── README.md # This file
├── DEPLOYMENT_GUIDE.md # Web deployment guide
├── LICENSE # MIT License
└── .gitignore # Git ignore rules
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Gaussian: For the powerful quantum chemistry software
- ORCA: For the open-source quantum chemistry package
- RDKit: For SMILES processing and 3D coordinate generation
- PySOC: For Spin-Orbit Coupling calculations
- ChemDraw: For structure drawing and SMILES export
For questions, issues, or contributions, please open an issue on GitHub.
Made with ❤️ for the quantum chemistry community