Chapter 1 Why Linux?

1.1 What is Linux

Before the creation of Linux, Unix was developed by AT&T Bell Labs in the 1960’s. It’s an operating system. Before the creation of Linux, and before the rise of Windows, the computing world was dominated by Unix (from web). After many years of evolution, Linux was created in early 1990’s.

In case you don’t know, Mac OS X is also a certified Unix operating system. So most of the Linux skills are applied in Mac OS X.

Linux is a clone of the operating system Unix, written from scratch by Linus Torvalds (Figure 1.1) with assistance from a loosely-knit team of hackers across the Net. It aims towards POSIX and Single UNIX Specification compliance (Torvalds (2015)).

An example of Linux terminal.

Figure 1.1: An example of Linux terminal.

It has all the features you would expect in a modern fully-fledged Unix, including true multitasking, virtual memory, shared libraries, demand loading, shared copy-on-write executables, proper memory management, and multistack networking including IPv4 and IPv6. It is distributed under the GNU General Public (Torvalds, 2015).

Maybe it’s hard to understand what Linux or to remember the sentences mentioned above. Just know Linux is an operating system like Windows. This is enough for you to start out.

Linus Torvalds on GitHub

Figure 1.2: Linus Torvalds on GitHub

1.2 Linux for bioinformatics

For analysis of NGS data, a large amount of software were developed for using under Linux environment. Among them, a large proportion can be only used under Linux environment.

  • Easy to build simple pipelines (awk, bash, piping, bash redirection, texttools)
  • Simple to install and use software development tools
  • Multiple versions of a program can be installed by the user himself and switched on/off with sourcing some scripts without being administrator
  • A lot of good scientific software is written in a non portable way for linux/unix (almost all short read aligners, samtools). This makes it necessary to use Unix for genomics.
  • Ability to perform analyses on computer clusters (important for big/long computational jobs)

References

Torvalds, Linus. 2015. Linux kernel release 4.x.” https://github.com/torvalds/linux.