Tender Is The Byte
Blog posts
Bioinformatics by hand: Neighbor-joining trees
Aug 31, 2022Bioinformatics algorithms can be intimidating, but many are much simpler than you think. In this post, we show how to calculate neighbor-joining trees "by hand" without any computational assistance beyond a spreadsheet program.
Generating Python bindings for OCaml with pyml_bindgen
Apr 12, 2022 | Updated:This post provides an introduction to using pyml_bindgen, a command line application that generates Python bindings via pyml directly from OCaml value specifications.
An introduction to the re2 regular expression library for OCaml
Oct 2, 2021 | Updated:In this post, I give an introduction and guide to help you get started using OCaml's re2 regular expression library, which provides OCaml bindings for Google's regular expression library, RE2.
Styling plots in base R graphics to match ggplot2 classic theme
May 9, 2021 | Updated:The ggplot2 package makes some really nice looking plots. In this post, we give a step-by-step guide to styling plots, including moving the legend outside the plotting area, to match the ggplot2 classic theme using base R graphics.
Computational lab notebooks using git and git-annex
May 7, 2021 | Updated:Managing a computational lab notebook can be tricky. Here I discuss a workflow and command line app for helping you to set up and manage your lab notebook with git and git-annex.
divnet-rs: A Rust implementation for DivNet
Jan 18, 2021 | Updated:DivNet is an R package for estimating diversity when taxa occur in an ecological network. Here I talk about why you may want to use DivNet, introduce my Rust implementation of the algorithm, and compare its performance to the original R package.
A simple dashboard for COVID-19 case counts
Dec 30, 2020Introducing the COVID-19 dashboard I made to compare case counts across U.S. counties.
Virome Bytes: Microdiversity of Mediterranean Sea Viruses
Feb 29, 2020In today's edition of Virome Bytes, Amelia Harrison discusses a paper looking at the microdiversity of Mediterranean Sea viruses!
Beginning Bioinformatics: What's a terminal? What's the command line?
Dec 15, 2019 | Updated:If you're new to bioinformatics and just getting started, you're going to need to learn a lot of background info before you can really get started analyzing your data. In this post, we go back to the basics talking about terminals and the command line.
Using Sass in Clojure Ring apps
Dec 12, 2019So you want to use Sass instead of plain CSS in your Clojure Ring web app, but you're not sure how to get it set up? No problem! Let's walk through it together.
Virome Bytes: Prophages in Lactobacillus
Nov 25, 2019In today's edition of Virome Bytes, I talk about a couple of new papers looking at prophages in Lactobacillus!
Notes from the Messyverse: How to tidy nested lists in R
Nov 2, 2019You've got nested lists in R. In fact, you've got lists of nested lists, but ggplot wants data frames or tibbles. Have no fear, this post will show you how to tidy up your nested lists by converting them to data frames!
Making charts with ClojureScript, Reagent, and React-vis
Oct 9, 2019An introduction to making sweet charts with ClojureScript, Reagent, and React-Vis!
Spell Checking in Emacs
Jun 9, 2019 | Updated:Super simple guide to setting up spell checking in Emacs.
Running MMseqs2 on CPUs with SSE4.1 or AVX2 instruction sets
May 21, 2019 | Updated:MMseqs2, a program for searching and clustering proteins, requires a CPU with either AVX2 or SSE4.1 to run. In this post, we walk through writing a script to automatically determine the instruction set on your computer and run the correct version of MMseqs2.
Learn Rust: Parsing command line arguments with StructOpt
May 8, 2019A beginners guide to using StructOpt for parsing command line arguments.
Rotating axis labels in R plots
Apr 25, 2019 | Updated:A detailed look at how to rotate axis labels in base R plots.