API Reference¶
Complete API documentation for ASCICat.
Main Classes¶
-
ASCICalculator
Main calculator class for ASCI scoring
-
Scoring Functions
Activity, stability, and cost scoring
-
Visualizer
High-quality figure generation
-
Analyzer
Statistical analysis utilities
-
Sensitivity
Weight sensitivity analysis
-
Configuration
Reaction configurations and constants
Quick Import Reference¶
# Main calculator
from ascicat import ASCICalculator
# Visualization
from ascicat.visualizer import Visualizer
# Sensitivity analysis
from ascicat.sensitivity import (
SensitivityAnalyzer,
SensitivityVisualizer,
run_enhanced_sensitivity_analysis
)
# Configuration
from ascicat.config import (
get_reaction_config,
ReactionConfig,
ASCIConstants,
validate_weights
)
# Scoring functions
from ascicat.scoring import (
ScoringFunctions,
ActivityScorer,
score_activity,
score_stability,
score_cost,
calculate_asci
)
# Analysis
from ascicat.analyzer import Analyzer
# Version info
from ascicat import __version__
from ascicat.version import print_version_info, print_citation
Class Hierarchy¶
ascicat
├── ASCICalculator # Main entry point
├── config
│ ├── ReactionConfig # Reaction parameters
│ ├── ASCIConstants # Global constants
│ └── get_reaction_config # Config retrieval
├── scoring
│ ├── ScoringFunctions # All scoring methods
│ └── ActivityScorer # Activity-specific
├── visualizer
│ └── Visualizer # Figure generation
├── analyzer
│ └── Analyzer # Statistical analysis
└── sensitivity
├── SensitivityAnalyzer # Weight sensitivity
└── SensitivityVisualizer # Sensitivity plots
Common Patterns¶
Basic Workflow¶
from ascicat import ASCICalculator
calc = ASCICalculator(reaction='HER')
calc.load_data('data.csv')
results = calc.calculate_asci(w_a=0.33, w_s=0.33, w_c=0.34)
top = calc.get_top_catalysts(n=10)
With Visualization¶
from ascicat import ASCICalculator
from ascicat.visualizer import Visualizer
calc = ASCICalculator(reaction='HER')
calc.load_data('data.csv')
results = calc.calculate_asci()
viz = Visualizer(results, calc.config)
viz.generate_all_outputs(output_dir='figures/')
With Sensitivity Analysis¶
from ascicat import ASCICalculator
from ascicat.sensitivity import run_enhanced_sensitivity_analysis
calc = ASCICalculator(reaction='HER')
calc.load_data('data.csv')
results = run_enhanced_sensitivity_analysis(
calculator=calc,
output_dir='sensitivity/'
)
Type Annotations¶
ASCICat uses type hints throughout: