views:

1046

answers:

13

What is the best choice of operating system for bioinformatics work? Are most of the tools for 64-bit Windows, for Linux/Unix in general, or OS X?

A: 

Unix systems are classically popular for science, so I suggest Linux especially if you plan using FORTRAN. You could try Windows but the Windows API is not exactly programmer-firendly and C# (while it is very fast for most applications) is perhaps too slow for scientific calculations. F# is really great for science but I'm not sure if it is fast enough for complex computations.

I guess you could also use C++, STL and maybe some plaftorm-independent GUI toolkit like Qt or wxWidgets. This way, you won't need to worry about the platform (that much).

DrJokepu
+1  A: 

Since many of the players in this field are universities, and many universities use Linux, that'd be my guess. I know the Bioinformatics Dept at the school where I got my Masters used Linux.

Scottie T
+1  A: 

If you use a popular Linux distribution like Ubuntu, you'll have Perl and (I believe) Python loaded initially. These are popular languages for use in bioinformatics and have some nice libraries (Bioperl/biopython/CPAN/etc).

Also, I haven't used it, but DNALinux was made for this sort of thing.

Colin
A: 

While perhaps not the 'best' OS there is a ton of Windows software out there. From working in Pharma I've seen SAS, SPlus, StatXact, NQuery etc.

That said, there is a growing move to Linux. For example R programming is available for multiple OSs. I suspect the penetration is slower due to end users familiarity with the systems.

atom255
A: 

Mac OS X, you could install Windows in a virtual machine and is Unix. Then all advantages of Linux (with "port" a package management program).

Just my USD 0.02.

yogsototh
+3  A: 

Kind of a loaded question ... bioinformatics analysis can range from just using existing software to developing your own software. So depending what you want to accomplish will result in a different answer. However, Linux is probably your best bet because the majority of bioinformatics software needs to be compiled from source, and was likely developed on a Linux compatible platform. My current setup is a Windows OS with Linux running in VirtualBox. This way I get good hardware support (which Linux still somewhat lacks) and the ability to use a plethora of software programs I need for my research.

Vince
+2  A: 

For bioinfo, Linux is good, but it's likely that you could need some software to do data analysis. For example, in my case I had to improve vector graphics images produced via a script by means of adobe illustrator. In that case, a full linux setup would have been bad for me.

For servers and running programs (mostly perl script, as the bioinfo community likes perl) I strongly endorse Linux. Any other Unix is either obsolete or is going to be very soon.

Therefore, my suggestion is Linux on the server, and another Unix on your laptop, so to have better compatibility. Since the only Unix solution nice for desktop is MacOSX, that's the answer to your question.

Stefano Borini
A: 

In bioinformatics and similar domains, you choose among toolsets, which usually involve multiple host/guest/target OSes. The OS you work in depends primarily on where/how you work.

I've worked in a number of different work settings from pure Linux to "pure" Windows (hel-lo Cygwin). I've never worked in Mac OS X, but know those who do exclusively as well.

If you're going to develop FOSS apps for wide distribution, then Linux, ANSI C, Perl/Python, Apache/MySQL (i.e. LAMP stack) is the way to go. Besides, there are similar "WAMP" stacks for Windows and using Cygwin someone can compile and use many tools developed in Linux. As far as I know, many Linux apps can be built/run on Mac OS X as well.

For data analysis/visualization, popular commercial and even many OSS tools run in Windows with either native or Java versions. So maybe the best setup would be a native Windows XP machine and [xhosted] access to a real/virtual instance of Linux.

bubaker
You can also do the opposite: a Linux system with Windows running in a virtual machine :-)
dalloliogm
A: 

Windows is a good choice, there are a ton of pretty standard apps you'd probably want like, AnnHyb, MeltSim, Base Pad, and Winblast.

Echostorm
All of these tools can also run on Linux or Mac, moreover, you can find better alternatives for these operating systems.
dalloliogm
Thank you, this answer needed some fanboism.
Echostorm
A: 

Have a look at Linux!! It is not only an operating system, but a software project produced and maintained by a community of people, in all its parts (from the kernel to the various programs).

If you use Linux for a long time (one or two years) you will learn how to live and contribute to a community of people, and this can be very useful for a scientist.

From the technical point of view, Linux is a free clone of an Unix system, and this means that it has a good support to work at the command line (bash), along with a lot of tools to manage flat files (sed, awk, grep), which will enable you to execute operations on text files without having to open them directly. Moreover, it has good tools that allows you to manage the programs installed in your system, and to download and install new programs with a click. It may lack some advanced proprietary programs, but on the other side you have a lot of free tools with good documentation.

I have been using Linux for 4 years now and I don't miss other operating systems at all.

dalloliogm
+1  A: 

I've noticed a big shift to MacBooks recently. At Conferences recently MacBooks have overtaken linux or windows laptops. The advantage of a mac laptop is that you can do all the linux stuff on the laptop in the shell using fink or similar if by chance some package isn't available. And you can actually use the laptop to do other non-core work stuff. Windows applications are there using Parallels or VMFusion - plus with features like unity you don't need to run a full Windows VM.

On the desktop side, I would probably still recommend linux. This is because if you developing any kind of server infrastructure then the deployment environment is invariably linux as well. Red Hat on server is popular in academic environments. However, this is not as big a deal as it used to be and I see a lot of mac based desktops as well. I also note an increase in the number of people who just use their laptops for development.

Almost all bioinformatic software is available for linux (and therefore usually works with Mac). I've yet to find a program for bioinformatics unavailable for linux - its almost all open-source. The major advantage of the Mac is superior software for presentations and programs like Illustrator. LaTeX is also well supported on the mac for writing manuscripts and Word works natively for sharing documents with non-geeks.

Scripting languages like perl and python (the lingua franca of bioinformatics) are well supported on the mac - and it should be remembered that there are many versions of linux. The same script may require some work to get running on different versions of linux.

A: 

I did a course in bioinformatics at University and we used a variety of tools on Windows, Linux, Solaris and some web based ones.

I think the short answer is you'll need access to any of the above. Though you should be able to cope with just windows or linux. It just limits you to the tools available on that platform.

In my experience (which is cursory) the tools for bioinformatics are usually written in perl, or java, and I think more recently Python, so thats mostly platform independant.

There are some tools which will be written in c so to use them you will need to have whatver platform it was built for available, or find a build for whatever your chosen platform.

Omar Kooheji
+1  A: 

Bioinformatics is a field still heavily dependent on text file processing, and for this Linux provides many core utils. Some must-have are cat, sed, cut, paste, grep, plus of course pre-installed perl and python interpreters. Moreover, software like R (for statistical computing) has no memory limitations in Linux (while in Windows it's capped to a percentage of the available RAM for security reasons).

Thrawn