Latest posts

Time is Citations: How I Plan My Days

In business, time is money. But in academia, the currency is not published units but citations of your publications. For someone to not only read your paper but understand and cite it, you need to produce high-quality, readable papers. And that requires deep work.

IGV: Null pointer exceptions, invalid GZIP header, invalid BZIP header

If you’ve run into a java.lang.NullPointerException or “Invalid Gzip Header” or some complaint about bzip while using the Integrative Genomics Viewer, then you’ve run into the same problem as me. Turns out I had too many index (*.bai) files that had similar naming to my *.bam files, and IGV assigned the wrong ones as the index, so whenever I tried to view reads from those samples, the index pointed to the wrong location in the bam, and one of those many errors would happen. So the solution is simple (and relatively fast): use samtools index on your bam files!

CodeNeuro NYC 2015

Last weekend I attended the CodeNeuro NYC conference, which is a conference for neuroscientists, programmers, and everything in between. It was a unique experience because it had both the excitement and energy of a tech conference, and the pure, unadulterated zest for knowledge of a scientific conference.

Things said to me

I read the things my male tech colleagues have said to me article and thought about my own experience. Thankfully I haven’t been subjected to nearly as many microagressions (but hey I’m still young! there’s plenty of time!), but there were a few points that resonated wih me.

2014 Annual Review

Recently I subscribed to James Clear‘s blog and his writing and advice has resonated with me. The last time I felt like someone was speaking directly through me was Cal Newport’s Study Hacks blog, which I discovered during undergrad, and I felt it directly addressed the issues I was having with keeping up with my intense courseload. James Clear posted his 2014 Annual Review in December, and it reminded me of how we do annual self-evaluations for work. I read through my evaluation for 2013 and enjoyed reflecting back on that time, how much I did then, what didn’t go well, and what I’ve learned since. So I’m going to follow his template with the following three questions: 1. What went well this year? 2. What didn’t go so well this year? 3. What am I working toward?

Teaching “Data cleaning”

Our compute cluster is down for maintenance, so obviously instead of working on my advancement exam presentation, I’m gonna write a blog post about teaching “data cleaning” to graduate students in UCSD’s BIOM 262: “Quantitative Methods in Genetics” class, where I taught Python, IPython Notebook, and pandas, using Software Carpentry techniques for teaching technical skills.

Re: “Shirtgate”

No longer actively developing prettyplotlib

It is with heavy heart that I announce that I am no longer actively developing prettyplotlib. I just don’t have the bandwidth available to do the project justice. It was a fantastic experience to …

Migration to!

Migrated my blog from Tumblr to

Implementing annotation-free quantification of splice junction usage via RNA-STAR and Python+Pandas magic

If you’ve been reading my blog for general python/productivity stuff, you are in for a TREAT! Here is some REAL SCIENCE! I’ll give a quick intro but please let me know if anything is unclear. I spend most of my time talking to a few people who …