Computer Setup for Bioinformatics and Computational Biology

So, you want to harness the immense power of bioinformatics and computational biology for your science? Here are some things you probably want to think about in terms of your operating system, programs you want to download, and other tips for making things convenient.

NOTE: These instructions are for setting up your local computer (the one you on which you are banging the keyboard and clicking the trackpad/mouse).

Instructions for setting up a Linux/Unix environment (e.g. on TACC or also within computer if it can access a Linux/Unix system) are covered under Computing Environment Setup.

Minimum Setup

In general, you'll need at least these things to get by:

  1. Text Editor – needs to be industrial strength, meaning it should have these features:
    • Show invisible characters (such as tabs)
    • Open and save files with different types of line endings (you'll want these to be Unix)
  2. Terminal – for connecting to and running commands on a Linux/Unix computer (your own or a cluster)
  3. SFTP File Transfer Program – for transferring files back and forth between your computer and a server
    • You can get by without this if you would rather type scp commands in the terminal.

Probably, you should jump to the next section and use one of those recommended programs, but if you really want to be minimal, here are some options.

On Macs, you can use these programs for the requirements:

  1. BBEdit or *Sublime. (Don't use TextEdit or MS Word!)
  2. Terminal (built-in under /Applications/Utilities)
  3. Cyberduck

On Windows, you can use:

  1. Notepad++ (not to be confused with Notepad!)
  2. Windows Terminal
  3. Cyberduck

On Linux, you can use:

  1. gedit
  2. Terminal (built-in)
  3. Cyberduck

Some text editors will let you "edit remote files". (For example File > Open From FTP/SFTP Server... in BBEdit).

This can be useful, as you will have to download, edit, and re-upload these files if you can't do this.

Getting an Authentic Linux Environment on Your Windows Machine

On Mac* and Linux systems, you will be able to run and test code on your own computer, which greatly speeds up and simplified development.

*Warning: The Mac setup is not perfect at running all Linux tools. Occasionally some tools will not compile or run on Macs, but >95% of them work fine.

To join the Linux club on a Windows/PC machine, you can partition your hard drive for dual boot and install Linux alongside your Windows install. However, this has serious drawbacks in terms of splitting your hard drive space and not letting you use programs you are familiar with on Windows when you are booted in Linux. Recently, it has become possible to use the Windows Subsystem for Linux (WSL) to much more easily access a true Linux Environment on Windows. If you plan to install, write, and run any code or pipelines—except maybe pure R scripts—on your machine, you will probably want to install and use WSL.

Using an IDE

A basic text editor is passable for changing config files and opening output files that don't play nice with Excel, but it is usually not very good for writing code.

A true integrated development environment (IDE) typically offers these improvements:

  • Code formatting, syntax checking, and auto-complete
  • Ability to step through your code to debug
  • Integration with version control (e.g., git)

The best IDEs depend a bit on what type of coding and activities you are doing. Here are some useful ones:

  • VSCode (Mac, Windows, and Linux versions)
    • Downside: has a complicated interface and a bit of a learning curve
    • Upside: Great for Python and other text files (including Markdown), has extensions for almost any coding/scripting language
    • Bonus: Everything you need is included in one application. You can connect to servers, edit files remotely, use it as a terminal for running commands, browse files, perform drag-and-drop file transfer, and use it for managing a git repository!
    • If you don't like being tracked by Microsoft, you can use VSCodium
  • JupyterLab (Mac, Windows , and Linux versions)
    • Upside: Nice desktop application for working with Jupyter notebooks (Python)
  • RStudio (Mac, Windows , and Linux versions)
    • Upside: works great for all things R, including R markdown files, Shiny apps, etc.
    • Limitations: can't easily integrate your R code with other parts of a pipeline on its own
  • XCode (Mac)
    • For C++ coding and debugging (only needed if you are working on breseq).
Edit | Attach | Watch | Print version | History: r6 < r5 < r4 < r3 < r2 | Backlinks | Raw View | More topic actions

 Barrick Lab  >  ComputationList  >  ProtocolsComputerSetup

Contributors to this topic Edit topic JeffreyBarrick, CameronRoots
Topic revision: r6 - 2024-07-09 - 21:10:27 - Main.JeffreyBarrick
Lab.ProtocolsComputerSetup moved from Lab.ProtocolsComputingEnvironmentSetup on 2024-05-21 - 18:08 by Main.JeffreyBarrick -
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright ©2024 Barrick Lab contributing authors. Ideas, requests, problems? Send feedback