Learn Biocomputing

General Resources

Software Carpentry
https://software-carpentry.org/lessons/

Code Academy
https://www.codecademy.com/

Learning R

The programming language R was originally designed for statistical analysis, but researchers now use it for a wide variety of data analysis and visualization tasks.
Download R here: https://www.r-project.org
Use the RStudio IDE to write and run R code. Download here: https://rstudio.com

Primers on RStudio Cloud
https://rstudio.cloud/learn/primers
These are short interactive lessons that let you write R code in your web browser. They use the "tidyverse" style of R coding, which we recommend for all new users. The first 4 lessons: "Basics", "Work with Data", "Visualize Data", and "Tidy your Data" give a strong foundation for writing R code to explore your data.

Primers on data analysis/visualization in R
https://wilkelab.org/classes/SDS348_spring_2020.html (first half of lectures)

Learning Python (for biology)

Python has become a dominant programming language for asking and answering many different questions in biology. This is because of its relative simplicity yet powerful flexibility, and also because Python has extensive library support for various biological tools.

Python Installation
There are many different ways to run Python, but one of the easiest choices to get started is Google Colabroratory. This is essentially an online Jupyter Notebook, which has many popular packages pre-installed, and removes much of the hassle that can come from a local intallation of python. Jupyter Notebooks are a great tool for keeping track of what the user has tried, and also seamlessly integrating spaces where the user can describe their thought process or add other notes. It is conceptually similar to a lab notebook that one might use in a wet lab.

If a local installation of Python is prefered, Anaconda is a great choice. Anaconda is a data science platform that installs many useful tools, including Jupyter Notebook, and allows for easier package management. Packages contain libraries of useful code that other people have written making Python easier to use. Biopython is one such such library, and contains indespensible tools such as FASTA/GBK parsers/writers, and tools for manipulating DNA/protein sequences.

Classes/resources
Codecademy offers short lessons that teach the basics of Python syntax. Professor Claus Wilke of The University of Texas at Austin has a great class posted online (second half of lectures) that introduces how to use Python in a biological context.

Git / GitHub

Interactive Git lesson
https://github.com/jlord/git-it-electron

Recommended Books

Practical Computing for Biologists by Steven Haddock and Casey Dunn
Buy on Amazon
This book provides an exceptionally clean and well written introduction for biologists to begin working with computational data. The beginning focus on regular expressions and working with text files will help anyone starting out with coding.

Bioinformatics Data Skills: Reproducible and Robust Research with Open Source Tools by Vince Buffalo
Buy on Amazon
This book is one of the few available "intermediate" level bioinformatic texts. Once you have mastered some basics in UNIX or Python/R programming, this books introduces more advanced concepts like workflow management and dealing with specific biological data.


This topic: Lab > WebHome > ComputationList > ProtocolsLearnBiocomputing
Topic revision: r3 - 2020-04-27 - MattMcGuffie