Mac or PC: Which Should You Choose for Bioinformatics?

1835
bioinformatics operating system

If you are new to bioinformatics, then you are probably overwhelmed by the number of decisions you need to make regarding how to carry out your work. While you may be using resources that are already in place, setting up your workspace properly at the onset of a project can lead to greater productivity. One of the most important decisions you can make when embarking on a bioinformatics project is the type of operating system you use. Each has its advantages and disadvantages, so we will go through each of them here.

Why not just use Linux?

Almost all bioinformatics tools currently available are written using programming languages that are more at home on Linux architecture, such as Python and Perl. In fact, most of your scripts and algorithms will also use these programming languages. Therefore, using a Linux based system makes the most sense, right?

Unfortunately, Linux has a pretty steep learning curve if you have never used it before, and only relatively recently have Linux distributions included a graphical user interface that emulates a Windows-based system for more accessibility to a wider range of users. That doesn’t mean that it is simple to use, though, and if something goes wrong, it can be more difficult to troubleshoot.

Luckily, you are able to run programs that are written using these programming languages using whatever operating system you are most comfortable with, such as a Windows PC or Mac. Let’s talk about how.

A Mac is the most convenient option for bioinformatics

Mac or PC preference seems to be quite the divisive topic – just ask anyone you know about which they’d prefer to use! But the simple fact is that a Mac is the most convenient option for bioinformatics. Without getting into the technical details, you can run very similar commands on a Mac as you would using a Linux operating system. They are not identical, though, and packages written for Linux systems will not automatically port over to macOS. Most developers will write tools that work for either, or have versions that will run on a macOS.

With macOS, you have access to the features you need to run a script or program from the Terminal app. This console allows you access to Python, shell, Perl, R or whatever other programming or scripting environment you need without having to connect to a remote Linux host.

To illustrate this, I wrote a simple “Hello world!” python script on my Macbook Pro.

python hello world on macOS
Yes, I use vim. I’m a creature of habit.

If given the choice, a Mac is the ideal option for your bioinformatics career. If you are more interested about the history of macOS and Linux development and the differences between the two operating systems, you can read about it all here.

Can I use a Windows PC for bioinformatics?

Sure you can! In fact, your research group might not have the resources to make a big purchase such as an iMac, and they may not have the systems support to run a Linux machine, so you could be limited to using a PC. While Windows systems do not offer the seamless Linux-style usage that macOS does, you can still access the tools you need to run your analyses.

Windows offers support for R through RStudio, so you will find that a large part of your work can be performed this way. However, Windows has no automatic support for Python, you you will have to download and install Python for Windows. And, given the fact that Windows and Linux architecture are completely different, you will need to install a client that will allow you to connect to a remote Linux host, such as PuTTY, to do a lot of your work. Unfortunately, there is no way to avoid having to learn some Linux commands!

We won’t go through it now, but Dave Tang has a couple of great blogs on how to set up your Windows PC for bioinformatics here and here. All of us on the editorial team made the switch to macOS a long time ago because of the convenience, but we will put together some guides on how to set up a Windows PC for bioinformatics in the future.

It’s time to get coding!

You are going to have to learn some Linux basics, though, regardless of which operating system you use. We are currently putting together a bunch of resources for navigating Linux and macOS for bioinformatics work, so join our newsletter for updates on when this content becomes available. Happy coding!