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)

R for Data Science
https://r4ds.had.co.nz/index.html
Free online textbook that covers how to process data in R with tidyverse.

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 preferred, use a flavor of Conda such as miniconda to manage your install. Install the Mamba package to speed things up. In addition to Python, Conda/Mamba is exceptionally useful for installing many other command-line bioinformatics programs and their dependencies. Learn about environments and use them!

Anaconda may be a good choice if you want a graphical interface for controlling package installation, but be aware that installing it may cause some future clashes if you want to switch to the flexibility of Conda/Mamba later. 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 indispensable 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. It's good to try using the command line a bit when learning git to understand how it works and have a way of doing power-user commands if you need them. There are many GUI clients for Git that you'll probably transition to using day-to-day, like GitHubDesktop or clients built into IDEs like VSCode or XCode.

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

Setup Git for Barrick Lab

Common Workflows

Best Practices for Creating Bioinformatics Software

Ten recommendations for creating usable bioinformatics command line software
https://doi.org/10.1186/2047-217X-2-15

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.

Edit | Attach | Watch | Print version | History: r8 < r7 < r6 < r5 < r4 | Backlinks | Raw View | More topic actions

 Barrick Lab  >  ComputationList  >  ProtocolsLearnBiocomputing

Contributors to this topic Edit topic JeffreyBarrick, SeanLeonard, MattMcGuffie, JosephReitman
Topic revision: r8 - 2024-07-09 - 21:00:49 - 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