GitHub - ag4349/msa-webgpu: Private, browser-native protein MSA search with WebGPU · GitHub
/" data-turbo-transient="true" />
Skip to content
Search/
Sign in<br>Sign upAppearance settings
You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
{{ message }}
ag4349
msa-webgpu
Public
Notifications<br>You must be signed in to change notification settings
Fork
Star
main
BranchesTags
Go to file
CodeOpen more actions menu
Latest commit
History<br>6 Commits<br>6 Commits
Folders and files<br>NameNameLast commit message<br>Last commit date<br>.github/workflows
.github/workflows
scripts
scripts
src
src
testdata/scoring
testdata/scoring
.gitignore
.gitignore
DATABASE_FORMAT.md
DATABASE_FORMAT.md
LICENSE
LICENSE
README.md
README.md
index.html
index.html
package-lock.json
package-lock.json
package.json
package.json
tsconfig.json
tsconfig.json
vite.config.ts
vite.config.ts
View all files
Repository files navigation
MSA WebGPU
A small browser-based protein search and MSA tool. Database scoring runs with WebGPU, and local FASTA files stay on your machine.
Running locally
Requires Node.js 20+ and a browser with WebGPU support.
npm ci<br>npm run dev
The local FASTA option works as-is. The Swiss-Prot options need database packs generated separately.
How it works
The GPU runs an ungapped BLOSUM62 search over the database. The best candidates are realigned on the CPU with Smith-Waterman-Gotoh, filtered, and exported as A3M, FASTA, or Stockholm.
This is a query-centered star alignment. It is not a replacement for MMseqs2 and does not calculate E-values.
Swiss-Prot data
npm run swissprot:fetch<br>npm run swissprot:pack<br>npm run swissprot:pack20k
To pack another FASTA file:
npm run db:shard -- proteins.fasta public/packs/my-database 20000
The generated directories go under public/packs. Set VITE_DATABASE_ROOT if they are hosted somewhere else. The file format is described in DATABASE_FORMAT.md.
Swiss-Prot data is available from UniProt under CC BY 4.0.
Checks
npm test<br>npm run build
Shader validation is optional and requires naga:
npm run validate:wgsl
Production deployments need HTTPS for WebGPU and persistent browser storage.
License
MIT
About<br>Private, browser-native protein MSA search with WebGPU<br>Resources<br>Readme<br>MIT license<br>Activity<br>Stars<br>0 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository
Releases
Packages
Contributors
Languages
You can’t perform that action at this time.