Skip to content
/ HyCAN Public

HyCAN is an open-source platform that accelerates clean hydrogen energy research. It combines machine learning, bioinformatics, and advanced materials science to optimize catalysts, simulate hydrogen production, and explore nanomaterials.

Notifications You must be signed in to change notification settings

rfc391/HyCAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HyCAN

HyCAN (Hydrogen Catalyst and Nanomaterials) is an open-source collaborative project aimed at driving innovation in clean hydrogen energy solutions. This initiative brings together researchers, industry leaders, and technologists to address critical challenges in sustainable energy through the lens of hydrogen production. The project is grounded in the principles of transparency, collaboration, and cutting-edge research to accelerate the global transition to green energy.

Overview

Key focus areas include:

  • Catalyst Performance Optimization: Utilizing machine learning models to design and improve catalysts for efficient hydrogen production processes, significantly reducing energy costs and maximizing yield.
  • Nanomaterial Synthesis: Exploring advanced synthesis techniques for creating high-performance nanomaterials tailored for hydrogen energy applications.
  • Scalable and Sustainable Technologies: Promoting technologies that ensure hydrogen production processes are scalable, cost-effective, and environmentally friendly.

Features

  • Interactive Dashboards: Real-time data visualization with interactive filters using Dash and Plotly.
  • Data Processing: Preprocessing functions to handle missing data, scale datasets, and validate structures.
  • API Integration: Seamless integration with external APIs for real-time data fetching.
  • Error Handling: User-friendly error messages for actionable feedback.
  • Customizable Configuration: Modify settings using the config.yml file.
  • Simplified Deployment: Dockerized setup with docker-compose.yml for one-command deployment.
  • Interactive Tutorials: Step-by-step Jupyter Notebook tutorials for quick onboarding.

Installation

  1. Clone the repository:
    git clone https://github.com/rfc391/HyCAN.git
    cd HyCAN
  2. Install dependencies:
    pip install -r requirements.txt
  3. Run the application:
    python src/visualizations/interactive_dashboard.py

File Structure

├── .env
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE/
│   │   ├── bug_report.md
│   ├── PULL_REQUEST_TEMPLATE.md
│   ├── dependabot.yml
│   ├── workflows/
│   │   ├── Deploy and Purge Cloudflare Cache
│   │   ├── ci.yml
│   │   ├── codeql.yml
│   │   ├── docker-ci.yml
│   │   ├── jekyll-gh-pages.yml
│   │   ├── update_wiki.yml
├── .gitignore
├── .pylintrc
├── .pytest_cache/
│   ├── .gitignore
│   ├── CACHEDIR.TAG
│   ├── README.md
│   ├── v/
│   │   ├── cache/
│   │   │   ├── lastfailed
│   │   │   ├── nodeids
│   │   │   ├── stepwise
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Dockerfile
├── README.md
├── ROADMAP.md
├── SECURITY.md
├── __init__.py
├── app.py
├── cli.py
├── config.yml
├── dashboard.py
├── data/
│   ├── example_data.csv
├── deployment.yaml
├── deployments/
│   ├── aws_lambda_deploy.py
│   ├── cicd/
│   │   ├── kubernetes_ci_cd.yaml
│   ├── docker-compose.yaml
│   ├── docker_optimization/
│   │   ├── Dockerfile
│   ├── k8s/
│   │   ├── hycan-deployment.yaml
│   ├── serverless/
│   │   ├── aws_lambda.py
├── docker-compose.yml
├── docs/
│   ├── api_reference.md
│   ├── bioinformatics.md
│   ├── community.md
│   ├── faq.md
│   ├── index.md
│   ├── interactive_quizzes.md
│   ├── interactive_visualizations.py
│   ├── mkdocs.yml
│   ├── quick_start.md
│   ├── sidebar.md
│   ├── tutorials/
│   │   ├── cli_tutorial.md
│   │   ├── interactive_dashboard_tutorial.md
│   ├── user_guide.md
│   ├── video_tutorials.md
├── main.py
├── mkdocs.yml
├── monitoring/
│   ├── advanced_monitoring.py
│   ├── grafana-dashboard.json
│   ├── prometheus.yml
│   ├── simulate_metrics.py
├── notebooks/
│   ├── HyCAN_Tutorial.ipynb
│   ├── data_preprocessing.ipynb
│   ├── exploratory_analysis.ipynb
│   ├── model_training.ipynb
│   ├── results_visualization.ipynb
│   ├── visualization.ipynb
├── public/
│   ├── analytics.js
│   ├── contributors_leaderboard.html
│   ├── manifest.json
│   ├── seo_meta.html
│   ├── styles/
│   │   ├── responsive.css
├── pyproject.toml
├── requirements.txt
├── setup.py
├── simulation.py
├── src/
│   ├── __init__.py
│   ├── __pycache__/
│   │   ├── __init__.cpython-311.pyc
│   │   ├── dashboard.cpython-311.pyc
│   │   ├── main.cpython-311.pyc
│   │   ├── show_data_summary.cpython-311.pyc
│   ├── ai/
│   │   ├── __init__.py
│   │   ├── codex_suggestions.py
│   ├── api/
│   │   ├── __init__.py
│   │   ├── auth.py
│   │   ├── external_data.py
│   │   ├── integration.py
│   ├── app.py
│   ├── bioinformatics/
│   │   ├── __init__.py
│   │   ├── export_formats.py
│   │   ├── functional_annotation.py
│   │   ├── genomic_visualization.py
│   │   ├── metagenomics.py
│   │   ├── sequence_analysis.py
│   ├── biotech/
│   │   ├── __init__.py
│   │   ├── simulator.py
│   ├── cli.py
│   ├── cloud/
│   │   ├── __init__.py
│   │   ├── aws_integration.py
│   │   ├── gcp_integration.py
│   ├── collaboration/
│   │   ├── __init__.py
│   │   ├── live_collaboration.py
│   │   ├── slack_integration.py
│   ├── dashboard.py
│   ├── data_processing/
│   │   ├── __init__.py
│   │   ├── automl.py
│   │   ├── feature_engineering.py
│   │   ├── outlier_detection.py
│   │   ├── preprocessing.py
│   ├── integrations/
│   │   ├── __init__.py
│   │   ├── r_support.py
│   │   ├── snowflake_integration.py
│   ├── main.py
│   ├── ml/
│   │   ├── __init__.py
│   │   ├── data_pipeline.py
│   │   ├── ensemble_models.py
│   │   ├── explainability.py
│   │   ├── transfer_learning.py
│   │   ├── tuning.py
│   ├── ml_models/
│   │   ├── feature_engineering.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── __pycache__/
│   │   │   ├── __init__.cpython-311.pyc
│   │   │   ├── model_inference.cpython-311.pyc
│   │   ├── model_inference.py
│   ├── modules/
│   │   ├── __init__.py
│   │   ├── model.py
│   ├── monitoring/
│   │   ├── __init__.py
│   │   ├── analytics_dashboard.py
│   ├── reports/
│   │   ├── __init__.py
│   │   ├── custom_reports.py
│   │   ├── leaderboards.py
│   ├── requirements.txt
│   ├── security/
│   │   ├── __init__.py
│   │   ├── audit_logger.py
│   │   ├── data_sanitizer.py
│   │   ├── encryption.py
│   │   ├── ethics.py
│   │   ├── rbac.py
│   │   ├── secure_pipeline.py
│   ├── show_data_summary.py
│   ├── ui/
│   │   ├── __init__.py
│   │   ├── feedback_form.html
│   │   ├── mobile_app_api.py
│   │   ├── voice_commands.py
│   ├── utils.py
│   ├── visualizations/
│   │   ├── 3d_visualization.py
│   │   ├── __init__.py
│   │   ├── __pycache__/
│   │   │   ├── __init__.cpython-311.pyc
│   │   │   ├── plotter.cpython-311.pyc
│   │   ├── animations.py
│   │   ├── ar_ready.py
│   │   ├── dynamic_charts.py
│   │   ├── interactive_dashboard.py
│   │   ├── phylogenetic_trees.py
│   │   ├── plotter.py
├── tests/
│   ├── __pycache__/
│   │   ├── test_app.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_bioinformatics.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_dashboard.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_example.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_main.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_model_inference.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_utils.cpython-311-pytest-6.2.5.pyc
│   ├── e2e_tests/
│   │   ├── __pycache__/
│   │   │   ├── test_pipeline.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_pipeline.py
│   ├── performance/
│   │   ├── __pycache__/
│   │   │   ├── test_large_datasets.cpython-311-pytest-6.2.5.pyc
│   │   ├── test_large_datasets.py
│   ├── test_advanced_monitoring.py
│   ├── test_app.py
│   ├── test_bioinformatics.py
│   ├── test_dashboard.py
│   ├── test_example.py
│   ├── test_main.py
│   ├── test_model_inference.py
│   ├── test_utils.py
├── config.yml                  # Configuration file for customizable settings
├── docker-compose.yml          # Docker Compose file for easy deployment
├── docs/                       # MkDocs documentation
├── notebooks/                  # Jupyter Notebook tutorials
├── requirements.txt            # Project dependencies
├── src/                        # Source code
│   ├── api/                    # API integration module
│   │   └── integration.py
│   ├── data_processing/        # Data preprocessing module
│   │   └── preprocessing.py
│   ├── visualizations/         # Visualization tools and dashboards
│   │   ├── dashboard.py
│   │   └── interactive_dashboard.py
├── tests/                      # Unit tests
│   └── test_features.py
└── README.md                   # Project overview (this file)

Usage

Dashboards

Run the interactive dashboard:

python src/visualizations/interactive_dashboard.py

Data Processing

Example usage for handling missing data:

from src.data_processing.preprocessing import handle_missing_data
import pandas as pd

data = pd.DataFrame({"A": [1, 2, None]})
filled_data = handle_missing_data(data)
print(filled_data)

API Integration

Fetch example data from the API:

from src.api.integration import fetch_example_data

example_data = fetch_example_data()
print(example_data)

Tutorials

Interactive tutorials are available in the notebooks/ directory. Open HyCAN_Tutorial.ipynb to get started.

Deployment

  1. Build and deploy using Docker Compose:
    docker-compose up --build
  2. Access the application at http://localhost:8050.

Documentation

Detailed documentation is available in the docs/ directory. Use MkDocs to serve the documentation locally:

mkdocs serve

Contributing

HyCAN collaborates with the Heartland BioWorks Hub (HBW), a Regional Tech Hub supporting workforce development and technology demonstration. The HBW Membership Agreement outlines initiatives like BioTrain, BioLaunch, and BioWorks HQ to advance U.S. leadership in biotechnology.

Security

If you discover a security issue, please follow the guidelines in SECURITY.md.

License

This project is licenced under the MIT License. See the LICENSE file for details.

About

HyCAN is an open-source platform that accelerates clean hydrogen energy research. It combines machine learning, bioinformatics, and advanced materials science to optimize catalysts, simulate hydrogen production, and explore nanomaterials.

Topics

Resources

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 3

  •  
  •  
  •