Genetics in PureScript Without Knowing Genetics
summary
Built a genetics browser in PureScript that maps mouse genome (19 autosomes, 60–200M base pairs each) onto an HTML5 canvas, links points to external resources like gene network.org and UniProt, and renders tens of thousands of snps interactively. Coordinate system settles on pixel-segment mapping instead of squashing chromosomes, annotations group into peaks by visible radius, and interactivity returns hotspot search functions. Performance drops from ~30s/frame to fluid by using off-screen glyph caching, switching arrays to lists for a 1000% speed-up, and async batch rendering.
AI-written summary · about
chapters (30)
- 0:00Start
- 1:15About me
- 1:57Project background
- 3:36Scale of the problem
- 4:24Demo
- 7:10Table of Contents
- 7:47Rendering SNPs
- 8:27Genome and screen
- 9:24The transformation
- 15:03The solution
- 15:43Canvas intervals
- 17:05Putting it together
- 19:08Summary
- 20:17Annotated SNPs
- 21:01Annotation pipeline
- 21:37Adding height to annotations
- 23:01Problems
- 24:18A better way
- 25:26Constructing peaks
- 27:56User interaction
- 28:24The naive solution
- 29:08The better solution
- 29:51Code
- 31:05Optimization
- 31:30Batched rendering
- 32:16PureScript bits
- 34:09Use better data structures
- 35:59Async rendering
- 36:39Conclusion
- 38:30Questions?
related talks
36mShow me your data!
34mHigh-performance graphical view filtering with Sprotty
42mPython’s role in accelerating biomedical science
01h 55mUse your data to tell stories
04mDBTB INT Alyssa Morrow r
37mVisualizing Large Datasets with JavaScript Using deck.gl
34mThe Gamma: Democratizing data science
12mSculpin: Direct-Manipulation Transformation of JSON
