https://github.com/dlesl/clonifier
A web app for viewing plasmid maps & genomes, and simulating PCR and Gibson assembly
https://github.com/dlesl/clonifier
genome-browser molecular-biology react rust webassembly
Last synced: 6 months ago
JSON representation
A web app for viewing plasmid maps & genomes, and simulating PCR and Gibson assembly
- Host: GitHub
- URL: https://github.com/dlesl/clonifier
- Owner: dlesl
- License: gpl-3.0
- Created: 2019-04-15T19:59:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-03-14T19:31:34.000Z (over 5 years ago)
- Last Synced: 2025-04-22T12:12:13.643Z (6 months ago)
- Topics: genome-browser, molecular-biology, react, rust, webassembly
- Language: TypeScript
- Homepage: https://dlesl.github.io/clonifier/
- Size: 13.2 MB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Clonifier
This is a web app that lets you view DNA sequences in Genbank (`.gb`) format and simulate PCR and DNA assembly methods such as Gibson Assembly.## Notes
All of the work is done by the 'backend' which is written in Rust and runs in a web worker. Because of this, every request to the Rust backend is asynchronous and returns a promise (see `app/worker_comms` for details). To keep things feeling snappy and avoiding excessive 'loading' indicators, the frontend makes use of React's upcoming Suspense feature. In short, views can "throw promises" during rendering, and React will delay rendering until the promise resolves.Once WebAssembly threads become available, it should be possible to avoid most of this complexity!
The code in `/rust` in this repository is mostly just glue code, the
actual work is done in [`gb-io`](https://github.com/dlesl/gb-io), [`pcr`](https://github.com/dlesl/pcr) and [`assembly`](https://github.com/dlesl/assembly).