Usage Guide¶
This comprehensive guide covers all features and commands of Gaussian Extractor with detailed examples and explanations.
Quick Start¶
Basic Usage:
# Extract data from all .log files in current directory
gaussian_extractor.x
# Process with custom settings
gaussian_extractor.x -t 300 -c 2 -f csv -q
# Get help
gaussian_extractor.x --help
Command Overview¶
Gaussian Extractor supports the following commands:
Command |
Description |
---|---|
|
Extract thermodynamic data (default) |
|
Check and organize completed jobs |
|
Check and organize failed jobs |
|
Check PCM convergence failures |
|
Check jobs with imaginary frequencies |
|
Run all job checks |
|
Calculate high-level energies (kJ/mol) |
|
Calculate high-level energies (atomic units) |
|
Extract coordinates to XYZ format |
|
Create Gaussian input files from XYZ |
|
Launch interactive mode (Windows) |
Core Commands¶
1. Extract (Default Command)¶
Purpose: Extract thermodynamic data from Gaussian log files.
Basic Usage:
# Process all .log files in current directory
gaussian_extractor.x
# Process .out files instead
gaussian_extractor.x -e out
Output Formats:
Text Format (Default):
gaussian_extractor.x
CSV Format:
gaussian_extractor.x -f csv
Sample Output:
Found 150 .log files
Using 4 threads (requested: half)
Processed 75/150 files (50%)
Processed 150/150 files (100%)
Results written to project_directory.results
Total execution time: 12.347 seconds
Memory usage: 256.7 MB / 4.0 GB
Output Columns Explanation:
Column |
Description |
---|---|
Output name |
Name of the Gaussian output file |
ETG kJ/mol |
Gibbs free energy with phase correction |
Low FC |
Lowest vibrational frequency |
ETG a.u |
Gibbs free energy in atomic units |
Nuclear E au |
Nuclear repulsion energy |
SCFE |
SCF energy in atomic units |
ZPE |
Zero-point energy |
Status |
Job status (DONE/UNDONE) |
PCorr |
Phase correction applied (YES/NO) |
Round |
Number of Gaussian calculation rounds |
Advanced Options:
# Custom temperature and concentration
gaussian_extractor.x -t 310.15 -c 5
# Sort by different column (2=ETG kJ/mol, 3=Low FC, 6=SCFE)
gaussian_extractor.x -col 6
# Quiet mode (minimal output)
gaussian_extractor.x -q
# Use specific number of threads
gaussian_extractor.x -nt 8
# Process files larger than default 100MB limit
gaussian_extractor.x --max-file-size 500
Temperature and Phase Correction:
# Use temperature from input files (default)
gaussian_extractor.x
# Override with custom temperature
gaussian_extractor.x -t 298.15
# Custom concentration for phase correction
gaussian_extractor.x -c 2 # 2M concentration
Understanding Phase Correction:
Phase correction converts gas-phase energies to solution-phase:
Gas phase (1 atm) → Solution (1M standard state)
Applied automatically for SCRF calculations
Critical for accurate free energy comparisons
2. Job Status Commands¶
Purpose: Check and organize Gaussian jobs by completion status.
Check Completed Jobs:
# Move completed jobs to {dirname}-done/
gaussian_extractor.x done
# Custom directory suffix
gaussian_extractor.x done --dir-suffix completed
Check Failed Jobs:
# Move failed jobs to errorJobs/
gaussian_extractor.x errors
# Show detailed error messages
gaussian_extractor.x errors --show-details
# Custom target directory
gaussian_extractor.x errors --target-dir failed_calculations
Check PCM Failures:
# Move PCM convergence failures to PCMMkU/
gaussian_extractor.x pcm
Check Imaginary Frequencies:
# Move jobs with imaginary frequencies to imaginary_freqs/
gaussian_extractor.x imode
Run All Checks:
# Execute all job checks in sequence
gaussian_extractor.x check
Workflow Example:
# 1. Run calculations
# (submit your Gaussian jobs)
# 2. Check completion status
gaussian_extractor.x done
# 3. Check for failures
gaussian_extractor.x errors
# 4. Check PCM issues
gaussian_extractor.x pcm
# 5. Check vibrational analysis
gaussian_extractor.x imode
3. High-Level Energy Calculations¶
Purpose: Calculate energies using high-level electronic energies combined with low-level thermal corrections.
Directory Structure:
project/
├── low_level/ # Opt + Freq calculations
│ ├── molecule1.log
│ └── molecule2.log
└── high_level/ # Single point calculations
├── molecule1.log
└── molecule2.log
Basic Usage:
# Navigate to high-level directory
cd high_level
# Calculate energies in kJ/mol
gaussian_extractor.x high-kj
# Calculate detailed energies in atomic units
gaussian_extractor.x high-au
Energy Combination Process:
High-level electronic energy from current directory
Thermal corrections from parent directory (../)
Combined result: E_high + (E_low_thermal - E_low_electronic)
Output Formats:
high-kj (kJ/mol):
Name G kJ/mol Status
molecule1 -1234.56 DONE
molecule2 -2345.67 DONE
high-au (Atomic Units - Detailed):
Name E high E low ZPE TC TS H G
mol1 -456.78 -450.12 0.123 0.456 0.789 -455.67 -456.46
Advanced Options:
# Custom temperature
gaussian_extractor.x high-kj -t 310.15
# Custom concentration
gaussian_extractor.x high-kj -c 2
# Sort by different column
gaussian_extractor.x high-kj -col 4
# CSV output
gaussian_extractor.x high-kj -f csv
4. Coordinate Extraction¶
Purpose: Extract final Cartesian coordinates from Gaussian log files and organize them.
Basic Usage:
# Extract coordinates from all log files
gaussian_extractor.x xyz
# Extract from specific files
gaussian_extractor.x xyz -f molecule1.log molecule2.log
Output Organization:
current_directory/
├── molecule1.log
├── molecule2.log
└── current_directory_final_coord/
├── molecule1.xyz
└── molecule2.xyz
Directory Structure:
Completed jobs →
{dirname}_final_coord/
Incomplete jobs →
{dirname}_running_coord/
XYZ File Format:
12
molecule1.log Final coordinates
C 0.000000 0.000000 0.000000
H 1.089000 0.000000 0.000000
H -0.363000 1.032000 0.000000
...
Advanced Usage:
# Process .out files
gaussian_extractor.x xyz -e out
# Use multiple threads
gaussian_extractor.x xyz -nt 8
# Quiet mode
gaussian_extractor.x xyz -q
5. Create Input Files (ci)¶
Purpose: Generate Gaussian input files from XYZ coordinate files.
Supported Calculation Types:
Type |
Description |
---|---|
|
Single point energy (default) |
|
Geometry optimization + frequency |
|
Transition state search + frequency |
|
Open-shell singlet TS + frequency |
|
Modredundant TS + frequency |
|
Open-shell singlet stability check |
|
High-level single point |
|
IRC calculation (forward direction) |
|
IRC calculation (reverse direction) |
|
IRC calculation (both directions) |
Basic Examples:
# Single point energy calculation (default)
gaussian_extractor.x ci
# Geometry optimization + frequency
gaussian_extractor.x ci --calc-type opt_freq
# Transition state search
gaussian_extractor.x ci --calc-type ts_freq
Advanced Examples:
# Transition state with frozen bond
gaussian_extractor.x ci --calc-type modre_ts_freq --freeze-atoms 1 2
# High-level single point with custom functional
gaussian_extractor.x ci --calc-type high_sp --functional B3LYP --basis 6-311+G**
# Solvent calculation
gaussian_extractor.x ci --calc-type opt_freq --solvent water --solvent-model smd
# IRC from transition state
gaussian_extractor.x ci --calc-type irc --tschk-path ../ts_checkpoints
# Custom settings
gaussian_extractor.x ci --calc-type opt_freq --charge 1 --mult 2
Multiple XYZ Files:
# Process multiple files (comma-separated)
gaussian_extractor.x ci file1.xyz,file2.xyz,file3.xyz
# Mixed separators (space and comma)
gaussian_extractor.x ci file1.xyz file2.xyz,file3.xyz
# With calculation type
gaussian_extractor.x ci --calc-type opt_freq file1.xyz,file2.xyz
Template System:
Generate Templates:
# Generate template for specific calculation type
gaussian_extractor.x ci --genci-params opt_freq
# Generate all available templates
gaussian_extractor.x ci --genci-all-params
# Generate in specific directory
gaussian_extractor.x ci --genci-params opt_freq ./my_templates
Use Templates:
# Use specific parameter file
gaussian_extractor.x ci --param-file opt_freq.params
# Use default parameter file
gaussian_extractor.x ci --param-file
Template Workflow:
Generate Template:
gaussian_extractor.x ci --genci-params opt_freq
Edit Template (opt_freq.params):
calc_type = opt_freq functional = B3LYP basis = 6-31G* solvent = chloroform charge = 1 mult = 2 extra_keywords = Int=UltraFine
Use Template:
gaussian_extractor.x ci --param-file opt_freq.params
Generated Input File Example:
%chk=molecule1.chk
# B3LYP/6-31G* Opt Freq
molecule1 B3LYP/6-31G* Opt Freq
1 2
C 0.000000 0.000000 0.000000
H 1.089000 0.000000 0.000000
...
Configuration and Customization¶
Configuration File¶
Create Default Configuration:
gaussian_extractor.x --create-config
Configuration File Location:
Linux/macOS:
~/.gaussian_extractor.conf
Windows:
%USERPROFILE%\.gaussian_extractor.conf
Sample Configuration:
# Default temperature for calculations
default_temperature = 298.15
# Default concentration for phase correction
default_concentration = 1.0
# Default output format
output_format = text
# Default thread count (half, max, or number)
default_threads = half
# File extensions to process
output_extensions = .log,.out
input_extensions = .com,.gjf,.gau
Configuration Options:
Option |
Description |
---|---|
default_temperature | Default temperature (K) |
|
default_concentration | Default concentration (M) |
|
output_format |
Default output format (text/csv) |
default_threads |
Default thread count (half/max/number) |
output_extensions |
File extensions to process |
input_extensions |
Input file extensions |
max_file_size |
Maximum file size (MB) |
memory_limit |
Memory usage limit (MB) |
Performance and Resource Management¶
Thread Management¶
Automatic Thread Detection:
# Use half of available cores (recommended)
gaussian_extractor.x -nt half
# Use all available cores
gaussian_extractor.x -nt max
# Use specific number
gaussian_extractor.x -nt 8
Cluster Safety:
# Conservative settings for head nodes
gaussian_extractor.x -nt 2 -q
# Optimal for compute nodes
gaussian_extractor.x -nt half
Memory Management¶
Automatic Memory Limits:
# Check current resource usage
gaussian_extractor.x --resource-info
# Set custom memory limit
gaussian_extractor.x --memory-limit 8192
Memory Allocation Strategy:
1-4 threads: 30% of system RAM
5-8 threads: 40% of system RAM
9-16 threads: 50% of system RAM
17+ threads: 60% of system RAM
File Size Handling¶
Large File Processing:
# Increase file size limit (default: 100MB)
gaussian_extractor.x --max-file-size 500
# Process very large files
gaussian_extractor.x --max-file-size 1000
Batch Processing¶
Large Directory Handling:
# Enable batch processing
gaussian_extractor.x --batch-size 50
# Auto batch size (default)
gaussian_extractor.x --batch-size 0
Safety Features¶
Cluster Environment Detection¶
Gaussian Extractor automatically detects cluster environments:
SLURM:
sbatch
,srun
detectionPBS/Torque:
qsub
,qstat
detectionSGE:
qsub
detectionLSF:
bsub
,bjobs
detection
Cluster-Specific Behavior:
Conservative thread limits on head nodes
Automatic resource detection
Safe memory allocation
Graceful Shutdown¶
Signal Handling:
# Program responds to SIGINT (Ctrl+C) and SIGTERM
# Press Ctrl+C to gracefully stop processing
Shutdown Process:
Signal received
Current file processing completes
Results written to disk
Clean exit with proper resource cleanup
Error Handling¶
File Processing Errors:
Corrupted log files are skipped with warnings
Large files (>100MB) automatically skipped by default
Memory limits prevent system overload
Thread-safe error reporting
Common Error Scenarios:
# Handle large files
gaussian_extractor.x --max-file-size 500
# Reduce memory usage
gaussian_extractor.x --memory-limit 4096 -nt 2
# Check system resources
gaussian_extractor.x --resource-info
Advanced Workflows¶
Complete Computational Chemistry Workflow¶
Step 1: Generate Input Files
# Create optimization inputs
gaussian_extractor.x ci --calc-type opt_freq
# Submit jobs to queue
# (use your cluster's job submission system)
Step 2: Check Job Status
# Check completed jobs
gaussian_extractor.x done
# Check for failures
gaussian_extractor.x errors
# Check vibrational analysis
gaussian_extractor.x imode
Step 3: Extract Results
# Extract thermodynamic data
gaussian_extractor.x -t 298.15 -c 1
# Extract coordinates for next step
gaussian_extractor.x xyz
Step 4: High-Level Calculations
# Navigate to high-level directory
cd high_level
# Calculate refined energies
gaussian_extractor.x high-kj
High-Throughput Processing¶
Batch Processing Setup:
# Process large datasets
gaussian_extractor.x -nt 16 --max-file-size 500 --memory-limit 16384
# Quiet mode for scripts
gaussian_extractor.x -q -f csv
# Resource monitoring
gaussian_extractor.x --resource-info
Script Integration:
#!/bin/bash
# Process multiple directories
for dir in dataset1 dataset2 dataset3; do
cd $dir
gaussian_extractor.x -q -f csv
cd ..
done
Template-Based Automation¶
Create Reusable Templates:
# Generate comprehensive template library
gaussian_extractor.x ci --generate-all-templates ./templates
# Customize templates for different methods
# Edit template files with your preferred settings
Automated Processing:
# Process different molecule types
gaussian_extractor.x ci --param-file ./templates/opt_freq.params molecule1.xyz
gaussian_extractor.x ci --param-file ./templates/ts_freq.params molecule2.xyz
gaussian_extractor.x ci --param-file ./templates/high_sp.params molecule3.xyz
Troubleshooting¶
Common Issues and Solutions¶
Memory Issues:
# Reduce thread count
gaussian_extractor.x -nt 2
# Set memory limit
gaussian_extractor.x --memory-limit 4096
# Check system resources
gaussian_extractor.x --resource-info
File Processing Issues:
# Handle large files
gaussian_extractor.x --max-file-size 500
# Process different file types
gaussian_extractor.x -e out
# Check file permissions
ls -la *.log
Performance Issues:
# Optimize thread usage
gaussian_extractor.x -nt half
# Use batch processing
gaussian_extractor.x --batch-size 25
# Monitor progress
gaussian_extractor.x # (remove -q for progress display)
Configuration Issues:
# Reset configuration
gaussian_extractor.x --create-config
# Check configuration
gaussian_extractor.x --show-config
# Validate setup
gaussian_extractor.x --resource-info
Best Practices¶
For Interactive Use:
# Start with resource check
gaussian_extractor.x --resource-info
# Use conservative settings
gaussian_extractor.x -nt 4 -q
# Monitor progress
gaussian_extractor.x
For Batch Processing:
# Optimize for throughput
gaussian_extractor.x -nt half --max-file-size 500 -q -f csv
# Use templates for consistency
gaussian_extractor.x ci --param-file template.params
For Cluster Environments:
# Head node safety
gaussian_extractor.x -nt 2 -q
# Compute node optimization
gaussian_extractor.x -nt max --memory-limit 16384
Data Management:
Use descriptive filenames
Organize by calculation type
Keep raw log files for reference
Use CSV format for data analysis
Backup important results
Command Reference¶
Global Options:
Option |
Description |
---|---|
|
Show help message |
|
Show version information |
|
Quiet mode |
|
Thread count (number/half/max) |
|
File extension (.log/.out) |
|
Maximum file size (MB) |
|
Memory limit (MB) |
|
Show system resource information |
Extract Command Options:
Option |
Description |
---|---|
|
Temperature (K) |
|
Concentration (M) |
|
Sort column (2-10) |
|
Output format (text/csv) |
|
Use temperature from files |
Job Checker Options:
Option |
Description |
---|---|
|
Directory suffix for done jobs |
|
Custom target directory |
|
Show detailed error messages |
Create Input Options:
Option |
Description |
---|---|
|
Calculation type |
|
DFT functional |
|
Basis set |
|
Solvent name |
|
Molecular charge |
|
Multiplicity |
|
Atoms to freeze for TS |
|
Generate parameter template |
|
Use parameter file |
Getting Help¶
Built-in Help:
# General help
gaussian_extractor.x --help
# Command-specific help
gaussian_extractor.x extract --help
gaussian_extractor.x ci --help
# Configuration help
gaussian_extractor.x --config-help
Resource Information:
# System resource check
gaussian_extractor.x --resource-info
# Configuration status
gaussian_extractor.x --show-config
Version Information:
gaussian_extractor.x --version
This guide covers all major features and usage patterns of Gaussian Extractor. For the most up-to-date information, always refer to the built-in help system.