Learn Biocomputing

General Resources / Courses

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

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

edX Computer Science Courses
https://www.edx.org/course/subject/computer-science

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. TutorialsPoint offers a nicely laid-out reference to the basics of Python syntax and common operations.

Git / GitHub

Git is currently the dominant tool for version control and distribution of open-source code. Learning Git is useful for organizing, versioning, saving, and backing up your own code as you develop it, but it is especially useful for working on code collaboratively as part of a group and making sure that it will be available into the future to others after you are done working on it.

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.

 Barrick Lab  >  ComputationList  >  ProtocolsLearnBiocomputing

Contributors to this topic edittopic JeffreyBarrick, SeanLeonard, MattMcGuffie
Topic revision: r4 - 27 Apr 2020 - 20:53:03 - Main.JeffreyBarrick
 
This site is powered by the TWiki collaboration platformCopyright ©2020 Barrick Lab contributing authors. Ideas, requests, problems? Send feedback