Publish and index HFX (Haplotype Frequency Exchange) files with a searchable static table.
-
Clone the repository
git clone https://github.com/nmdp-bioinformatics/phycus.git cd phycus -
Set up virtual environment and install
make venv source .venv/bin/activate make install -
Generate the static site
uv run phycus --submission-dir submission --output-dir docs # or make run -
View the generated site
open docs/index.html
Place HFX files in the submission/ directory:
.hfx- HFX wheel/archive files (ZIP with metadata.json inside).hfx-metadata.json- Raw HFX metadata JSON files
# Default directories
uv run phycus
# Custom directories
uv run phycus --submission-dir my-submissions --output-dir public- Search - Full-text search across all fields
- Filters - Filter by species, data source
- Sort - Click column headers to sort
- Responsive - Works on mobile and desktop
The workflow in .github/workflows/build.yml automatically:
- Runs when files in
submission/change - Generates updated
docs/index.html - Uploads as artifact on PR for preview
- Auto-commits to main on push
-
Enable GitHub Pages in repository settings:
- Go to Settings → Pages
- Select Deploy from a branch
- Select branch:
main - Select folder:
/docs - Save
-
Your site will be published at:
https://nmdp-bioinformatics.github.io/phycus/ -
View the generated site:
- In a PR: Check the "Artifacts" section of the GitHub Actions run
- On main: Visit the GitHub Pages URL above
# Run linter
make lint
# Run pre-commit hooks
pre-commit run --all-files
# Clean build artifacts
make cleanmake help # Show all targets
make venv # Create virtual environment
make install # Install dependencies
make run # Generate site
make lint # Check code style
make clean # Remove artifacts