Skip to content
/ ASCICat Public

A unified multi-objective framework for translating computational catalyst data into reproducible, experimentally-actionable rankings

License

Notifications You must be signed in to change notification settings

NabKh/ASCICat

Repository files navigation

ASCICat Logo

Activity-Stability-Cost Integrated Catalyst Discovery

A unified multi-objective framework for translating computational catalyst data into reproducible, experimentally-actionable rankings

Python Version License DOI GitHub Stars

InstallationQuick StartFeaturesDocumentationContributing

Open In Colab Binder


Overview

The computational catalysis community has generated massive ML/DFT databases (OpenCatalyst, Materials Project, Catalysis-Hub, NOMAD, AFLOW) containing thousands of calculated catalyst properties. However, there exists no standardized framework to translate this wealth of data into actionable experimental priorities.

ASCICat bridges this gap by providing a unified, transparent, and reproducible framework for multi-objective catalyst prioritization.

Input  →  ASCICat  →  Output


The Problem We Solve

Current Challenge ASCICat Solution
No unified framework for catalyst selection Standardized ASCI metric applicable to any catalyst dataset
Ad-hoc, non-reproducible selection criteria Transparent weighting with explicit trade-off documentation
Results cannot be compared across studies Common metric enables direct cross-study comparison
Hidden assumptions in catalyst ranking Built-in sensitivity analysis reveals weight dependencies

Scientific Framework

ASCICat implements a three-pillar scoring system grounded in fundamental catalysis principles:

Activity (Sa)

Sabatier Principle
Optimal binding energy for reaction kinetics

Stability (Ss)

Surface Thermodynamics
Dissolution resistance and durability

Cost (Sc)

Economic Viability
Material pricing and availability

The Unified ASCI Metric:

φ_ASCI = w_a · S_a + w_s · S_s + w_c · S_c

where:  w_a + w_s + w_c = 1
        S_a, S_s, S_c ∈ [0, 1]

Installation

From Source

# Clone the repository
git clone https://github.com/NabKh/ASCICat.git
cd ASCICat

# Install in development mode
pip install -e .

Optional Dependencies

# For GUI interface
pip install -e ".[gui]"

# For interactive Jupyter visualizations
pip install -e ".[interactive]"

# For full development environment
pip install -e ".[dev]"

Requirements

  • Python 3.8+
  • NumPy, Pandas, SciPy, Matplotlib, Seaborn
  • See setup.py for complete dependency list

Quick Start

Python API

from ascicat import ASCICalculator

# Initialize calculator for HER reaction
calc = ASCICalculator(reaction='HER')

# Load your DFT data
calc.load_data('data/HER_clean.csv')

# Calculate ASCI scores with custom weights
results = calc.calculate_asci(
    w_a=0.4,  # 40% weight on Activity
    w_s=0.3,  # 30% weight on Stability
    w_c=0.3   # 30% weight on Cost
)

# Get top-ranked catalysts
top_catalysts = calc.get_top_catalysts(n=10)
print(top_catalysts[['symbol', 'ASCI', 'activity_score', 'stability_score', 'cost_score']])

Output:

      symbol     ASCI  activity_score  stability_score  cost_score
0      Fe2Sb4   0.899           0.923            0.851       0.924
1       Cu3Sb   0.887           0.912            0.867       0.883
2      Cu6Sb2   0.876           0.889            0.856       0.882
...

Command-Line Interface

# HER screening with default weights
ascicat --reaction HER --data data/HER_clean.csv --output results/

# CO2RR screening with custom weights
ascicat --reaction CO2RR --pathway CO --weights 0.5 0.3 0.2 --output results/

# Launch graphical interface
ascicat-gui

Interactive Tutorials

Run the tutorials directly in your browser — no installation required:

Tutorial Description Launch
01 - Introduction ASCICat framework and basic workflow Open In Colab
02 - HER Screening Complete HER catalyst analysis Open In Colab
03 - CO2RR Analysis Multi-pathway CO2RR screening Open In Colab
04 - Visualization Publication-quality figure generation Open In Colab
05 - Sensitivity Weight sensitivity analysis Open In Colab

Or launch all tutorials in Binder: Binder


Features

Core Capabilities

  • Multi-objective optimization with customizable weight preferences
  • Multiple reaction pathways: HER, CO2RR-CO, CO2RR-CHO, CO2RR-COCOH
  • Publication-quality visualizations at 600 DPI
  • Comprehensive sensitivity analysis for robust screening
  • Pareto frontier analysis for trade-off exploration
  • Batch processing for high-throughput screening
  • Colorblind-friendly visualization palettes

Supported Reactions

Reaction Pathway Optimal ΔE Description
HER H adsorption -0.27 eV Hydrogen Evolution Reaction
CO2RR CO -0.67 eV Carbon monoxide production
CO2RR CHO -0.48 eV Methanol pathway
CO2RR COCOH -0.32 eV Formic acid pathway

Sensitivity Analysis

ASCICat includes built-in tools to address the critical "weight selection problem":

from ascicat import SensitivityAnalyzer, SensitivityVisualizer

# Analyze sensitivity across weight space
analyzer = SensitivityAnalyzer(calc)
results = analyzer.analyze_full_weight_space(resolution=20)

# Generate visualization suite
visualizer = SensitivityVisualizer(results)
visualizer.plot_ternary_heatmap()
visualizer.plot_catalyst_dominance()
visualizer.plot_rank_trajectories()

This enables researchers to:

  • Understand how rankings depend on weight choices
  • Identify robust candidates that rank well regardless of weights
  • Document the sensitivity of conclusions transparently

Examples

The examples/ directory contains complete, documented workflows:

Example Description
example_1_HER_screening.py Complete HER catalyst screening workflow
example_2_CO2RR_screening.py Multi-pathway CO2RR analysis
example_3_visualization.py Publication figure generation
example_4_sensitivity_analysis.py Weight sensitivity study
example_5_ascicat_vs_pareto.py Comparison with Pareto methods

Data Format

ASCICat accepts CSV files with the following structure:

Column Type Description Unit
DFT_ads_E float Adsorption energy eV
surface_energy float Surface energy J/m²
Cost float Material cost $/kg
symbol str Catalyst identifier -
optimal_energy float Sabatier optimum eV

See data/README_DATA.md for detailed specifications.


Complementarity with Pareto Analysis

ASCICat and Pareto frontier methods are complementary approaches:

Pareto Analysis ASCICat
Identifies non-dominated trade-off set Provides deterministic ranking within the set
Multiple equivalent solutions Single prioritized list
No weight specification needed Explicit, documented weights
Difficult cross-study comparison Reproducible comparison metric

Key insight: Top ASCI-ranked catalysts are predominantly Pareto-optimal, validating both methodologies.


Project Structure

ASCICat/
├── ascicat/                 # Core package
│   ├── calculator.py        # Main ASCICalculator class
│   ├── scoring.py           # Score computation
│   ├── visualizer.py        # Visualization tools
│   ├── analyzer.py          # Statistical analysis
│   └── sensitivity.py       # Sensitivity analysis
├── scripts/                 # CLI and GUI tools
├── examples/                # Usage examples
├── tutorials/               # Jupyter notebook tutorials
├── data/                    # Catalyst datasets
├── tests/                   # Test suite
└── logo/                    # Branding assets

Contributing

We welcome contributions! Please see our Contributing Guidelines for:

  • Development setup instructions
  • Coding standards (NumPy docstrings, PEP 8)
  • Testing requirements
  • Pull request process

References

ASCICat is built on established theoretical foundations:

  • Nørskov, J. K. et al. Towards the computational design of solid catalysts. Nat. Chem. 1, 37 (2009)
  • Greeley, J. et al. Computational high-throughput screening of electrocatalytic materials. Nat. Mater. 5, 909 (2006)
  • Sabatier, P. Hydrogénations et déshydrogénations par catalyse. Ber. Dtsch. Chem. Ges. 44, 1984 (1911)
  • Oguz, I. C., Khossossi, N., Brunacci, M., Bucak, H. & Er, S. ACS Catal. 15, 19461–19474 (2025)

License

This project is licensed under the MIT License - see the LICENSE file for details.


Contact

Author Nabil Khossossi
Email n.khossossi@differ.nl
Institution Dutch Institute for Fundamental Energy Research (DIFFER)
Issues GitHub Issues

Acknowledgments

This work was supported by the Dutch Institute for Fundamental Energy Research (DIFFER).


ASCICat — Bridging computational databases and experimental priorities for accelerated catalyst discovery

Back to Top

About

A unified multi-objective framework for translating computational catalyst data into reproducible, experimentally-actionable rankings

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published