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.
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.
- 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.
- Clone the repository:
git clone https://github.com/rfc391/HyCAN.git cd HyCAN
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python src/visualizations/interactive_dashboard.py
├── .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)
Run the interactive dashboard:
python src/visualizations/interactive_dashboard.py
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)
Fetch example data from the API:
from src.api.integration import fetch_example_data
example_data = fetch_example_data()
print(example_data)
Interactive tutorials are available in the notebooks/
directory. Open HyCAN_Tutorial.ipynb
to get started.
- Build and deploy using Docker Compose:
docker-compose up --build
- Access the application at
http://localhost:8050
.
Detailed documentation is available in the docs/
directory. Use MkDocs to serve the documentation locally:
mkdocs serve
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.
If you discover a security issue, please follow the guidelines in SECURITY.md.
This project is licenced under the MIT License. See the LICENSE file for details.