A comprehensive computational chemistry pipeline for automated high-throughput ligand screening, from molecular design to data extraction.
QUARKS is a modular pipeline that integrates multiple computational chemistry tools into a seamless workflow:
- Ligand Functionalization: Design and generate molecular variants
- Conformer Search: XTB/CREST-based conformational sampling
- Input Generation: Automated ORCA input file creation
- Job Management: Resource-aware ORCA calculation execution
- Data Extraction: Energy and molecular descriptor analysis
- π§ͺ Complete Pipeline: From base ligand to analyzed data
- β‘ High-Throughput: Batch processing with parallel execution
- π― Resource-Aware: Intelligent CPU and memory management
- π₯οΈ Dual Interface: Both GUI and CLI for all tools
- π Data Extraction: Energies, %Vbur, Ο-donation, and more
- π§ Modular: Use individual components or the full pipeline
New to QUARKS? Start here:
- INSTALLATION_GUIDE.md - Complete step-by-step installation (no experience required!)
- USER_MANUAL.md - How to use all 5 programs with examples
- START_HERE.md - Quick 30-second launch guide
Already installed? Just run:
./launch.shThe easiest way to launch QUARKS programs:
cd /Users/thomasquaid/Projects/QUARKS
./launch.shThis opens an interactive menu to launch any QUARKS program.
Or launch programs directly:
./launch_conformer.sh # Conformer Search GUI
./launch_orca_manager.sh # ORCA Job Manager GUI
./launch_input_generator.sh # Input File Generator
./launch_screening_tool.sh # Ligand Screening Tool GUI
./launch_extractor.sh # Data Extractor CLIExternal Tools:
# Create conda environment with required chemistry package
conda create -n quarks-env python=3.11
conda activate quarks-env
conda install -c conda-forge scine-molassembler
# Install QUARKS package
cd /Users/thomasquaid/Projects/QUARKS
pip install -e .
# Install additional dependencies
pip install numpy scipy pandas matplotlib PySide6 psutil pyyaml cclib pillow rdkit py3Dmol# 1. Functionalize a base ligand (GUI)
python -m quarks.conformer.gui
# 2. Run conformer search
quarks conformer --input functionalized/ --output conformers/ --charge 1 --uhf 0
# 3. Generate ORCA inputs
quarks input-gen --input conformers/ --output orca_inputs/ --functional PBE0 --basis def2-TZVP
# 4. Run ORCA calculations (GUI with queue management)
quarks-orca
# 5. Extract results
quarks extract energy --input orca_outputs/
quarks extract descriptors --input orca_outputs/Conformer Search:
quarks conformer --input molecules/ --output refined/ --charge 1 --frozen-atoms 25Input Generation:
quarks input-gen -i structures/ -o inputs/ -f B3LYP -b def2-TZVP --freq --cpcm waterData Extraction:
quarks extract energy --input calculations/
quarks extract descriptors --input calculations/quarks/
βββ core/ # Shared molecular manipulation and chemistry utilities
βββ gui/ # Shared PySide6 GUI components
βββ conformer/ # XTB/CREST conformer search workflows
βββ orca_manager/ # ORCA job queue and resource management
βββ input_generator/ # ORCA input file generation
βββ extractor/ # Energy and descriptor extraction
βββ pipeline/ # Full workflow orchestration
from quarks.core import load_molecule_from_file, MoleculeFunctionalizer
from quarks.conformer import StructureRefinement
from quarks.input_generator import OrcaInputGenerator
from quarks.extractor import energy_extractor
# 1. Load base ligand
base_ligand = load_molecule_from_file("cyclen.xyz")
# 2. Functionalize (manual GUI step or programmatic)
# ... generates functionalized_ligands/
# 3. Conformer search
refiner = StructureRefinement(
base_dir="conformers/",
charge=1,
uhf=0,
frozen_atoms=[25] # Zn atom
)
refiner.process_molecule("functionalized_ligands/cyclen_CH3.xyz")
# 4. Generate ORCA inputs
generator = OrcaInputGenerator()
generator.generate_input_files(
xyz_folder="conformers/compiled_conformers/",
output_folder="orca_inputs/",
functional="PBE0",
basis_set="def2-TZVP",
charge=1,
multiplicity=1
)
# 5. Run calculations (via GUI or cluster submission)
# ...
# 6. Extract data
energy_extractor.extract_energies_cli("orca_outputs/", "energies.csv")If you use QUARKS in your research, please cite:
@software{quarks2025,
title = {QUARKS: QUantum chemistry Automated Research Kits},
author = {QUARKS Development Team},
year = {2025},
url = {https://github.com/quaidtUC/quarks}
}This project is licensed under the MIT License - see the LICENSE file for details.
QUARKS integrates and builds upon several excellent computational chemistry tools:
- ORCA - DFT calculations
- XTB - Semi-empirical methods
- CREST - Conformer search
- SCINE Molassembler - Molecular assembly
- RDKit - Cheminformatics
- cclib - Parsing computational chemistry outputs
Contributions are welcome! Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
- π Documentation
- π Issue Tracker
- π¬ Discussions
QUARKS - Accelerating computational chemistry research through automation.