Multiple sequence alignment using WebGPU

ag43491 pts1 comments

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.

webgpu json browser search fasta github

Related Articles