During the course of your work you may need to do a simple task on a large number of files, like renaming all the files from a sequencing run, or raising the contrast on microscopy images. Performing these tasks on individual files by hand is time-consuming and prone to errors. Unix, Mac OSX and Windows all have simple shell scripting programming languages built-in for these small repetitive tasks require simple logic
The benefits of shell scripting are:
- not needing to install additional software on your computer and,
- ease of use. Most Unix-based systems (eg. Ubuntu) come with the Bourn Again SHell (“Bash”), which are also standard on Mac OSX systems. Windows have the Command Prompt and PowerShell. You can enter shell scripting commands directly via a command line interface or save these commands in a shell script to be run immediately non-interactively.
Shell scripting resources
- A gentle introduction to command line interface and related concepts are here.
- Some basic Bash commands can be found here.
- Slightly more advanced Bash scripting are found here.
- Common Bash pitfalls goes into more subtle, advanced usage
- Overview of Windows PowerShell and an example comparing Command Prompt and PowerShell.
The Julia language aims to combine the accessible syntax of R or Python with the speed of C/C++ programs. While not currently as functional as R or Python for bioinformatic tasks, there is a growing collection of resources for Julia for bioinformatics.
NOTE: This article is a work in progress. If you have suggestions or would like to contribute email