Computing Environment Setup

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.

These instructions are for setting up your laptop. Instructions for setting up a Linux/Unix environment (e.g. on TACC or on your computer if you are on a Linux/Unix platform) will be covered elsewhere.

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

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 (free for base features)
  2. Terminal (built-in)
  3. Cyberduck (or you can use Terminal if you like typing scp commands)

On Windows, you can use

  1. Probably VSCode (see below) Not Notepad!
  2. Putty
  3. Cyberduck

Comfortable Setup

Getting an Authentic Linux Environment on Your 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 and Windows 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
  • RStudio (Mac and Windows 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).

Luxurious Setup

There are some advanced setup tricks that can save you a lot of time documented on other pages.

These include:

Edit | Attach | Watch | Print version | History: r6 | r4 < r3 < r2 < r1 | Backlinks | Raw View | More topic actions...

 Barrick Lab  >  ComputationList  >  ProtocolsComputerSetup

Contributors to this topic Edit topic JeffreyBarrick, CameronRoots
Topic revision: r2 - 2024-05-21 - 13:01:48 - Main.JeffreyBarrick
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright ©2025 Barrick Lab contributing authors. Ideas, requests, problems? Send feedback