Dan writes on HammerLab

I haven't written a substantial blog post on danvk.org since January. Instead, I've been writing over on my groups's blog at hammerlab.org.

Here are the posts I've written or edited:

  • SVG→Canvas, the pileup.js Journey (13 Oct 2015)

    In which I explain why we changed from using SVG to using canvas for our genome browser (spoiler: it's performance). This also introduces data-canvas, which compensates for some of the drawbacks of canvas, e.g. difficulty in tracking clicks and writing tests.

  • Bundling and Distributing Complex ES6 Libraries in an ES5 World (09 Jul 2015)

    I helped edit this post, which was written by Arman Aksoy. It outlines our approach to writing ES6 JavaScript while distributing/bundling it for ES5 clients.

  • Introducing pileup.js, a Browser-based Genome Viewer (19 Jun 2015)

    This post introduces pileup.js, the in-browser genome visualizer I've been working on for most of the past year.

  • Testing React Web Apps with Mocha (14 Feb 2015)

  • Testing React Web Apps with Mocha (Part 2) (21 Feb 2015)

    A two-parter in which I explain how we set up testing for our React web app using Mocha, rather than Jest. Since writing this post, I've completely changed my mind about how web testing should be done. If your code is intended to be run in the browser, then you should test it in the browser, rather than using Node as these posts suggest.

  • Faster Pileup Loading with BAI Indices (23 Jan 2015)

    BAM is a very widely used bioinformatics file format which stores aligned reads from a genome. These files can be huge, so the BAM Index (BAI) format was created to speed up retrieval. We found that the BAI was also too large for convenient access on the web, so we created an index of the index.

  • Streaming from HDFS with igv-httpfs (05 Dec 2014)

    How we got data from HDFS into our genome viewer of choice by building a small piece of infrastructure. We've since stopped using this. Nowadays we have an NFS mount for our HDFS file system and serve from that using nginx.

Please leave comments! It's what makes writing worthwhile.

comments powered by Disqus