7 Under-Appreciated Pieces of Software for Doing Science Efficiently

Posted March 17, 2015 by Emily Dolson in Productivity / 0 Comments

“Under-appreciated” is definitely hard to quantify. However, these tools dramatically simplify my day-to-day workflow, and most people I talk to have only heard of them from me. So, my goal with this post is to introduce people to some useful programs they might not have heard of before. Since I use Linux Mint as my primary operating system, all of these programs are Linux-compatible. Most of them are also compatible with other operating systems.

Searching for papers with Qnotero
Searching for papers with Qnotero

Qnotero – As previously discussed, Zotero is my go-to reference manager.  But qnotero is what really seals the deal for me. It creates a shortcut on your task-bar that you can click to open a floating window that allows you to search your entire Zotero data-base. The search process is smooth, and you can directly open stored PDFs from the window. This is invaluable for writing papers and even as a quick reference during meetings.

Juice provides key command line shortcut buttons.

Juice SSH – An SSH client for your Android phone. Obviously, the small keyboard of a phone is never going to be ideal for writing code. But if you need to make a quick fix or check the status of your jobs while on the go, Juice is the best app I’ve found. The tab complete and up-arrow go a long way towards speeding up your terminal usage. Even better, Juice supports mosh, a shell designed to gracefully handle flaky connections (as a mobile user is liable to have).

Gummi’s user interface is clean and simple while still providing some useful features.

Gummi – I don’t know why, but when I’m writing something, I find it very reassuring to be able to see what the finished product will look like. Gummi is a LaTeX editor that features two panels: one with your raw code, and one that shows the PDF compiled from that code. On top of that, it has a feature that was surprisingly uncommon in LaTeX editors last time I looked: spell check.

Beaker Notebook allows you to use a variety of languages to process the same data
Beaker Notebook allows you to use a variety of languages to process the same data

Beaker Notebook – You’ve all heard of iPython notebook, which lets you create notebooks combining markdown, executable Python code, and the output of that Python code. It’s a wonderful tool for creating reproducible figures, keeping a lab notebook, and teaching Python. But I’ve always been too indecisive for iPython notebook. Sure, Python is my primary language, but sometimes I want the statistical power of R, or interactive Javascript visualizations with d3.js. With Beaker notebook, you don’t have to choose. You can use all three of these languages, and a few others. Moreover, you can pass your data around between them! Beaker is still pretty new, so there are some wrinkles to be ironed out, but it’s done wonders for keeping my thoughts organized in one place.

I used LucidChart to create this example of a neural network.
I used LucidChart to create this example of a neural network.

LucidChart – This web application is my go-to for making flow-charts of any kind. You just drag the shapes that you want onto your canvas and click on edges to draw arrows between shapes. I don’t know why every other flow chart program I’ve tried to use has been so much more complicated than this. As an added benefit, LucidChart features integration with Google Docs. There are some features that require a premium account, but (at least when I last checked) you can get free access to premium features if you’re using them for education.

A scatterplot matrix and parallel coordinate plot as created by GGobi.
A scatterplot matrix and parallel coordinate plot as created by GGobi.

GGobi – I really enjoy large and complicated data sets. Usually, these data sets have a lot of variables that interact with each other in more than three dimensions. GGobi contains every trick in the book for visualizing high dimensional data. I’m sure all of these functions exist in R too, but GGobi just makes it so easy that I’ll often use it for my initial exploration of a new data set. The one downside is that GGobi does not handle large data-sets gracefully.

Scribus Desktop Publishing software

Scribus – This is by far my favorite open source desktop publishing program. When I need to make complicated multi-part figures that combine elements from different programs, this is my go-to. I’m normally pretty awful at lining things up so that they look tidy, so Scribus’ alignment, distribution, and guide line features are indispensable for me. As much as possible, I try to have my code output figures in their final form. But when I can’t, I’m glad I have Scribus.

What’s your favorite piece of under-appreciated software?

Emily Dolson

I’m a doctoral student in the Ofria Lab at Michigan State University, the BEACON Center for Evolution in Action, and the departments of Computer Science and Ecology, Evolutionary Biology, & Behavior. My interests include studying eco-evolutionary dynamics via digital evolution and using evolutionary computation techniques to interpret time series data. I also have a cross-cutting interest in diversity in both biological and computational systems. In my spare time, I enjoy playing board games and the tin whistle.

More Posts - Website - Twitter

Leave a Reply