Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
f633878
Publish ModDotPlot Browser v0.9.1
alexsweeten Oct 2, 2026
9512759
Use organization-compatible build steps
alexsweeten Oct 2, 2026
ceec54e
Fix setup-node pin for Pages
alexsweeten Oct 2, 2026
e9d17b9
Preserve bundled annotation integrity
alexsweeten Oct 2, 2026
35d6789
Make license bundle platform-independent
alexsweeten Oct 2, 2026
dd1702a
Refresh deterministic license bundle
alexsweeten Oct 2, 2026
1cd00ff
Release ModDotPlot Browser v0.9.2
alexsweeten Oct 2, 2026
0394a5d
Release ModDotPlot Browser v0.9.3
alexsweeten Oct 2, 2026
a5ca30c
Use animated landing logo
alexsweeten Oct 2, 2026
516568a
Use HD animated landing logo
alexsweeten Oct 2, 2026
997ef1c
Finalize landing logo and publication warning
alexsweeten Oct 2, 2026
3d7c466
Release ModDotPlot Browser v0.9.4
alexsweeten Oct 2, 2026
5a21b55
Release ModDotPlot Browser v0.9.5
alexsweeten Oct 2, 2026
2a1d4e0
Release ModDotPlot Browser v0.9.6
alexsweeten Oct 3, 2026
6d09da6
Release ModDotPlot Browser v0.9.7
alexsweeten Oct 4, 2026
94f8ef3
Release ModDotPlot Browser v0.9.8
alexsweeten Oct 4, 2026
728ffeb
Stabilize WebKit CI render readback
alexsweeten Oct 4, 2026
d5000e9
Release ModDotPlot Browser v1.0.0
alexsweeten Oct 5, 2026
489a20b
Add user guide table of contents
alexsweeten Oct 5, 2026
4dd6a90
Update README.md
alexsweeten Oct 5, 2026
a137e64
Stabilize browser E2E timing assertions
alexsweeten Oct 5, 2026
4a60a41
Potential fix for pull request finding 'Add descriptive alt text to t…
alexsweeten Oct 5, 2026
3dc26c6
Potential fix for pull request finding 'Encode scoped npm packages as…
alexsweeten Oct 5, 2026
6b2a0ce
Regenerate SBOM with canonical npm PURLs
alexsweeten Oct 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: CI

on:
push:
pull_request:

permissions:
contents: read

jobs:
rust:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install pinned Rust toolchain
run: rustup toolchain install 1.98.0 --profile minimal --component rustfmt --component clippy --target wasm32-unknown-unknown
- run: cargo fmt --all --check
- run: cargo clippy --workspace --all-targets -- -D warnings
- run: cargo test --workspace
- run: cargo check -p moddotplot-wasm --target wasm32-unknown-unknown

web:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install pinned Rust toolchain
run: rustup toolchain install 1.98.0 --profile minimal --target wasm32-unknown-unknown
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: .node-version
cache: npm
cache-dependency-path: web/package-lock.json
- name: Install pinned wasm-pack
run: cargo install wasm-pack --version 0.15.0 --locked
- run: npm ci
working-directory: web
- run: npm run build:release
working-directory: web
- run: git diff --exit-code -- SBOM.cdx.json THIRD_PARTY_LICENSES.txt
- run: npx playwright install --with-deps chromium firefox webkit
working-directory: web
- name: Run browser end-to-end tests
run: xvfb-run --auto-servernum npm run test:e2e
working-directory: web
61 changes: 61 additions & 0 deletions .github/workflows/pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: Deploy GitHub Pages

on:
push:
branches:
- develop
workflow_dispatch:

permissions:
contents: read
pages: write
id-token: write

concurrency:
group: github-pages
cancel-in-progress: true

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install pinned Rust toolchain
run: rustup toolchain install 1.98.0 --profile minimal --target wasm32-unknown-unknown
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: .node-version
cache: npm
cache-dependency-path: web/package-lock.json
- name: Install pinned wasm-pack
run: cargo install wasm-pack --version 0.15.0 --locked
- id: pages
uses: actions/configure-pages@983d7736d9b0ae728b81ab479565c72886d7745b # v5
with:
enablement: true
- run: npm ci
working-directory: web
- run: npm test
working-directory: web
- run: npm run build:wasm
working-directory: web
- run: npm run build:ui
working-directory: web
env:
MODDOTPLOT_BASE_PATH: /${{ github.event.repository.name }}/
- run: npm run docs:check
working-directory: web
- uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3
with:
path: web/dist

deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/target/
/node_modules/
/web/dist/
/web/node_modules/
/web/public/examples/Col-CEN_v1.2.fasta
/web/src/wasm/
/web/playwright-report/
/web/test-results/
/release-artifacts/
*.log
.DS_Store
.idea/
.vscode/
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
25.9.0
225 changes: 225 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,225 @@
cff-version: 1.2.0
message: >-
If you use ModDotPlot Browser, please cite the original ModDotPlot paper listed as the
preferred citation and credit the relevant method papers listed in references.
title: "ModDotPlot Browser"
type: software
version: 1.0.0
date-released: 2026-10-04
repository-code: "https://github.com/marbl/ModDotPlot-Browser"
license: MIT-0
abstract: >-
Browser-native genomic dotplot software written by ChatGPT 5.6 Sol under the
direction of Adam Phillippy.
authors:
- name: "ChatGPT 5.6 Sol"
- family-names: "Phillippy"
given-names: "Adam M."

preferred-citation:
type: article
title: "ModDotPlot-rapid and interactive visualization of tandem repeats"
authors:
- family-names: "Sweeten"
given-names: "Alexander P."
- family-names: "Schatz"
given-names: "Michael C."
- family-names: "Phillippy"
given-names: "Adam M."
journal: "Bioinformatics"
year: 2024
month: 8
volume: 40
issue: 8
pages: "btae493"
doi: "10.1093/bioinformatics/btae493"
url: "https://pubmed.ncbi.nlm.nih.gov/39110522/"
notes: "PMID: 39110522; PMCID: PMC11321072."

references:
- type: article
title: "Mash: fast genome and metagenome distance estimation using MinHash"
authors:
- family-names: "Ondov"
given-names: "Brian D."
- family-names: "Treangen"
given-names: "Todd J."
- family-names: "Melsted"
given-names: "Páll"
- family-names: "Mallonee"
given-names: "Adam B."
- family-names: "Bergman"
given-names: "Nicholas H."
- family-names: "Koren"
given-names: "Sergey"
- family-names: "Phillippy"
given-names: "Adam M."
journal: "Genome Biology"
year: 2016
volume: 17
issue: 1
pages: "132"
doi: "10.1186/s13059-016-0997-x"
url: "https://pubmed.ncbi.nlm.nih.gov/27323842/"

- type: article
title: "A fast approximate algorithm for mapping long reads to large reference databases"
authors:
- family-names: "Jain"
given-names: "Chirag"
- family-names: "Dilthey"
given-names: "Alexander"
- family-names: "Koren"
given-names: "Sergey"
- family-names: "Aluru"
given-names: "Srinivas"
- family-names: "Phillippy"
given-names: "Adam M."
journal: "Journal of Computational Biology"
year: 2018
volume: 25
issue: 7
pages: "766-779"
doi: "10.1089/cmb.2018.0036"
url: "https://pubmed.ncbi.nlm.nih.gov/29708767/"

- type: article
title: "Minmers are a generalization of minimizers that enable unbiased local Jaccard estimation"
authors:
- family-names: "Kille"
given-names: "Bryce"
- family-names: "Garrison"
given-names: "Erik"
- family-names: "Treangen"
given-names: "Todd J."
- family-names: "Phillippy"
given-names: "Adam M."
journal: "Bioinformatics"
year: 2023
volume: 39
issue: 9
pages: "btad512"
doi: "10.1093/bioinformatics/btad512"
url: "https://academic.oup.com/bioinformatics/article/39/9/btad512/7246743"

- type: article
title: "ntHash2: recursive spaced seed hashing for nucleotide sequences"
authors:
- family-names: "Kazemi"
given-names: "Parham"
- family-names: "Wong"
given-names: "Johnathan"
- family-names: "Nikolić"
given-names: "Vladimir"
- family-names: "Mohamadi"
given-names: "Hamid"
- family-names: "Warren"
given-names: "René L."
- family-names: "Birol"
given-names: "Inanç"
journal: "Bioinformatics"
year: 2022
volume: 38
issue: 20
pages: "4812-4813"
doi: "10.1093/bioinformatics/btac564"
url: "https://academic.oup.com/bioinformatics/article/38/20/4812/6674501"

- type: conference-paper
title: "b-Bit minwise hashing"
authors:
- family-names: "Li"
given-names: "Ping"
- family-names: "König"
given-names: "Arnd Christian"
collection-title: "Proceedings of the 19th International Conference on World Wide Web"
year: 2010
pages: "671-680"
doi: "10.1145/1772690.1772759"
url: "https://doi.org/10.1145/1772690.1772759"

- type: conference-paper
title: "One permutation hashing"
authors:
- family-names: "Li"
given-names: "Ping"
- family-names: "Owen"
given-names: "Art B."
- family-names: "Zhang"
given-names: "Cun-Hui"
collection-title: "Advances in Neural Information Processing Systems 25"
year: 2012
pages: "3122-3130"
url: "https://papers.nips.cc/paper_files/paper/2012/hash/eaa32c96f620053cf442ad32258076b9-Abstract.html"

- type: conference-paper
title: "HyperLogLog: the analysis of a near-optimal cardinality estimation algorithm"
authors:
- family-names: "Flajolet"
given-names: "Philippe"
- family-names: "Fusy"
given-names: "Éric"
- family-names: "Gandouet"
given-names: "Olivier"
- family-names: "Meunier"
given-names: "Frédéric"
collection-title: "Discrete Mathematics and Theoretical Computer Science Proceedings, Analysis of Algorithms 2007"
year: 2007
volume: "AH"
pages: "127-146"
url: "https://algo.inria.fr/flajolet/Publications/FlFuGaMe07.pdf"

- type: conference-paper
title: "On the resemblance and containment of documents"
authors:
- family-names: "Broder"
given-names: "Andrei Z."
collection-title: "Compression and Complexity of Sequences 1997"
year: 1997
pages: "21-29"
doi: "10.1109/SEQUEN.1997.666900"
url: "https://doi.org/10.1109/SEQUEN.1997.666900"

- type: software
title: "ModDotPlot"
authors:
- family-names: "Sweeten"
given-names: "Alexander P."
- family-names: "Schatz"
given-names: "Michael C."
- family-names: "Phillippy"
given-names: "Adam M."
repository-code: "https://github.com/marbl/moddotplot"

- type: software
title: "MashMap"
authors:
- name: "MashMap contributors"
repository-code: "https://github.com/marbl/MashMap"
commit: "1a07d0e"

- type: software
title: "ntHash"
authors:
- name: "BCGSC ntHash contributors"
repository-code: "https://github.com/bcgsc/ntHash"
commit: "c26bd4572a19de81e30d55042dbd33c1fd21d4b6"

- type: software
title: "SMHasher and the MurmurHash3 reference implementation"
authors:
- family-names: "Appleby"
given-names: "Austin"
url: "https://github.com/aappleby/smhasher/blob/master/src/MurmurHash3.cpp"

- type: software
title: "ColorBrewer 2"
version: "2.0"
authors:
- family-names: "Brewer"
given-names: "Cynthia"
- family-names: "Harrower"
given-names: "Mark"
- name: "The Pennsylvania State University"
repository-code: "https://github.com/axismaps/colorbrewer"
url: "https://colorbrewer2.org/"
Loading
Loading