Static materials repository for the two-day hands-on training workshop. The live site is served via GitHub Pages from the /docs folder.
Live URL pattern:
https://[ORG].github.io/trainingDatabase/
Replace [ORG] with the GitHub organisation or username that owns this repository.
trainingDatabase/
├── docs/ ← GitHub Pages root — everything served from here
│ ├── .nojekyll ← Disables Jekyll so files are served verbatim (do not delete)
│ ├── index.html ← Landing page — start here
│ ├── day1/ ← Day 1 session pages (01–10)
│ ├── day2/ ← Day 2 session pages (11–15)
│ ├── cheatsheets/ ← Printable reference cards (PDF or .md placeholders)
│ ├── scripts/ ← Shell and SQL scripts used in the labs
│ └── data/ ← Sample data files for exercises
└── README.md ← This file (for the organizing team)
All participant-facing content lives inside /docs so GitHub Pages can serve it.
All internal links in the HTML files are relative (no leading /), which is required
for the site to work correctly under the /<repo>/ subpath on GitHub Pages.
- Go to Settings → Pages in the GitHub repository.
- Under Source, select Deploy from a branch.
- Branch:
main, Folder:/docs. - Click Save. The site will be live within ~60 seconds.
- The URL will be shown on the same Settings → Pages screen.
Important —
.nojekyll: The filedocs/.nojekylldisables Jekyll processing so every file and folder (including those starting with a digit like01-orientation.html) is served exactly as named, with no build step. Do not delete this file.Important — relative links: Every internal
hrefin the HTML files uses a relative path (e.g.day1/03-linux-basics.html,../scripts/setup.sh). Never add a leading/to an internal link; a project Pages site lives under/<repo>/, not the domain root, so absolute-path links will 404.
Option A — PDF export (simplest):
- Open your slides in PowerPoint or Google Slides.
- Export: File → Download → PDF Document.
- Name the file using the session number convention, e.g.,
03-linux-basics-slides.pdf. - Place it in the correct folder:
docs/day1/ordocs/day2/. - Edit the session HTML page (e.g.,
docs/day1/03-linux-basics.html) — replace the<div class="slide-box">placeholder block with a link:<p><a href="03-linux-basics-slides.pdf" target="_blank">📄 Open Slides (PDF)</a></p>
- Commit and push. The PDF is served directly from GitHub Pages.
Option B — Self-contained HTML export (allows in-browser slide playback):
- In Google Slides: File → Download → Web page (.html, .zip).
- Unzip and rename the folder, e.g.,
03-linux-basics-slides/. - Place the folder in
docs/day1/. - Link from the session page to
03-linux-basics-slides/index.html. - Test offline: open
docs/day1/03-linux-basics.htmllocally and click the link.
Option C — Embed a Google Slides published link:
- In Google Slides: File → Share → Publish to web → Embed.
- Copy the
<iframe>snippet. - Paste it into the session HTML page, replacing the placeholder div.
- Note: this requires internet access during the training.
Each session file is a self-contained HTML file with inline CSS — no build step needed.
- Open the relevant file, e.g.,
docs/day1/04-sql-basics.html, in any text editor. - Edit the content inside the
<main>section. - Save. Commit and push.
To add a speaker note or lab instruction, add them inside a <div class="card"> block
(the styling is already defined inline in each page).
The cheat sheets are currently .md placeholder files. The download links have been
removed from docs/index.html until the PDFs are ready. To restore them:
- Design or typeset the cheat sheet in your tool of choice (Word, Canva, InDesign, etc.)
using the content in
docs/cheatsheets/psql-commands.mdanddocs/cheatsheets/linux-survival.md. - Export as PDF.
- Name the files exactly:
psql-commands.pdfandlinux-survival.pdf. - Place the PDFs in
docs/cheatsheets/. - Add the download links back to the materials grid in
docs/index.html:<a class="material-item" href="cheatsheets/psql-commands.pdf" download> <div class="material-icon">🐘</div> <h4>psql Commands</h4> <span>Cheat Sheet (PDF)</span> </a> <a class="material-item" href="cheatsheets/linux-survival.pdf" download> <div class="material-icon">💻</div> <h4>Linux Survival</h4> <span>Cheat Sheet (PDF)</span> </a>
- Commit and push.
Printing tip: Print double-sided, landscape, one sheet per participant. Laminate if reusing across multiple trainings.
Scripts live in docs/scripts/ and are served directly by GitHub Pages. Each has a header
comment describing its purpose and TODO lines marking what needs to be replaced before use.
| File | Purpose |
|---|---|
setup.sh |
Environment setup for participants |
load_template.sql |
Bulk-loading template (\COPY commands) |
pipeline_vcf_to_hdf5.sh |
Full VCF → HDF5 pipeline wrapper |
vcftomatrix.sh |
Extracts genotype matrix from a VCF file |
make_HDF_dataset.sh |
Converts tabular matrix files to HDF5 |
- Edit each script in
docs/scripts/as needed. - Remove or replace any
TODOplaceholder lines with real commands. - Test locally before the training (see Pre-Training Checklist).
- Commit and push.
Pages download links (participants can click these from the landing page or wget them):
https://[ORG].github.io/trainingDatabase/scripts/setup.sh
https://[ORG].github.io/trainingDatabase/scripts/load_template.sql
https://[ORG].github.io/trainingDatabase/scripts/pipeline_vcf_to_hdf5.sh
https://[ORG].github.io/trainingDatabase/scripts/vcftomatrix.sh
https://[ORG].github.io/trainingDatabase/scripts/make_HDF_dataset.sh
Raw GitHub fallback (works even if Pages is not yet enabled):
https://raw.githubusercontent.com/[ORG]/trainingDatabase/main/docs/scripts/setup.sh
Data files live in docs/data/ and are served directly by GitHub Pages.
| File | Purpose |
|---|---|
sample_accessions.csv |
10 placeholder rows for bulk-loading exercises |
chado_dump.sql |
PostgreSQL Chado database dump (used in lab 07) |
demo.tar.gz |
Hands-on demo archive for pipeline labs |
VCFv4.2.pdf |
Official VCF v4.2 format specification (reference) |
To replace sample_accessions.csv with real training data:
- Prepare your CSV with the same column headers (or update the SQL template to match).
- Overwrite
docs/data/sample_accessions.csv. - Update any references in
docs/scripts/load_template.sql(\COPYpath). - Commit and push.
Option A — GitHub automatic ZIP (no extra work):
The link in docs/index.html points to:
https://github.com/[ORG]/trainingDatabase/archive/refs/heads/main.zip
This always gives participants the latest state of the main branch as a ZIP.
Update the [ORG] placeholder in docs/index.html once.
Option B — Tagged release ZIP (recommended for a fixed training snapshot):
- Once all materials are final, create a release:
git tag v2026-06-training git push origin v2026-06-training
- Go to GitHub → Releases → Draft a new release → select the tag.
- Attach any extra binary files (e.g., the database dump, large PDFs) as release assets.
- Publish. The release page has a "Source code (zip)" download.
- Update the ZIP link in
docs/index.htmlto point to the release:https://github.com/[ORG]/trainingDatabase/releases/download/v2026-06-training/trainingDatabase-v2026-06-training.zip
Session pages are numbered with a two-digit prefix so they sort correctly in file browsers:
NN-topic-slug.html
NN— two-digit session number (01–15, matching the schedule order).topic-slug— short lowercase kebab-case description of the session.
Do not skip numbers or reuse them. If a session is removed, leave a gap (don't renumber the remaining files, as that would break existing links).
Slide exports and lab worksheets follow the same prefix:
03-linux-basics-slides.pdf
03-linux-basics-lab.pdf
Run through this 48 hours before the training.
- Replace
[ORG]placeholder indocs/index.html(header link, ZIP link, scripts links) - GitHub Pages is enabled and the live URL loads correctly
- All 15 session links on the index page open the correct pages
- Each session page opens standalone (no broken CSS, no external dependencies)
- ZIP download link produces a valid archive
- All slide placeholders have been replaced with real PDFs or HTML exports
- Lab worksheets are in place (or embedded in session HTML pages)
- All scripts in
docs/scripts/haveTODOlines replaced with real commands -
sample_accessions.csvcontains the intended training data - Cheat sheet PDFs added to
docs/cheatsheets/and download links restored inindex.html
- Clone or download the full repository as a ZIP
- Unzip onto the USB drive, keeping the directory structure intact
- Open
docs/index.htmlfrom the USB in a browser — all links should work offline - Copy the database dump file onto the USB as well
- Label the USB drives with the training name and date
- Print cheat sheets (one per participant, double-sided landscape)
- Print lab worksheets (if not embedded in the HTML pages)
- Test that the index page is readable on a projector at 1920×1080 from 5 m away
- Distribute USB drives at the start of Day 1
- Confirm Wi-Fi credentials are working for all participants
- Have a fallback plan if the projector resolution differs (the site is responsive)