This page is the official repository for the course "Introduction to Bioinformatics" of the Bachelor's Degree in Biomedical Science (Biomedicine) at the UIC.
The repository contains the material created or adapted from other (referred) sources for a first introduction to the field of Bioinformatics, using Python and R programming languages.
To work in Bioinformatics means to work with computers. As a necessary step, you'll need to learn how to use computers to get insight from biological data. By "use computers," we mean to grasp the full potential that computers can offer to assist you in gathering, creating, and analyzing data. These tasks are achievable at their best by learning to write your own programs, so they will suit the specific needs to answer your scientific questions. We will learn how to make small scripts along with the content of the course. However, most programming learning will be part of your own effort; programming is a language, we can show you how it works, but it is up to you how you learn it, "speak" it, and put it to good use.
Before we start with the course's practical session, you must have everything set up and ready to work. Our primary language will be Python, a general programming language every day more ubiquitous. Many platforms can host a Python interpreter, but since this is not the only application we will use in the course, we will need a shared operating system among all the course attendants. For this, we choose Linux since most scientific applications are developed for it.
Linux and macOS are very alike since both have similar architectures. Many Linux programs are also available for macOS users. So, you can use the terminal application in your MacOS to follow the course for most purposes.
There are several ways to install Linux. One way is using it as your primary operating system and do everything you usually do but now using Linux. We recommend Ubuntu:
Besides, there are ways of having more than one operating system in your personal computer that you can select at startup (when you turn on your computer). If you have a Windows computer, this could be an option:
How to set up a computer with dual-booting
Finally, if you don't want a second operative system on your computer, you can set up a Linux virtual box:
How to set up a Linux virtual machine for Windows with Hyper-V
If the Hyper-V option is not available to your Windows system (it is not available for Windows Home edition), then you can try with:
How to set up a Linux virtual machine for Windows with VirtualBox
First, we will need to install the Conda package manager:
Documentation for installing Conda
After installing Conda, we will install several packages needed for our sessions. Open up a terminal on your Linux or Mac and execute the following:
- Install jupyter notebooks:
conda install jupyterlab
- Other required Python packages:
conda install numpy
conda install matplotlib
conda install biopython
- Install Git
conda install -c anaconda git
If you are using Mac OS X you may be interested in installing GitHub Desktop aswell.
That's it for now. Although, during the course, we will install and create other programming packages along we need them.
After setting up your computer, it is time to prepare yourself with some programming knowledge. If this is your first time using a console or terminal, you better read this tutorial to learn some basic bash language and how to operate a command-line based terminal (Note: macOS also uses bash language to operate its terminal):
If you have some experience and have already finished the Basic Linux tutorial, please read the following:
Importantly, for Python, we ask you to read and familiarize yourself with at least the "Learn the Basics" entries in the following link:
The deeper you go, the better programmer you'll become! A good programmer will go swiftly along "Introduction to Bioinformatics," not to mention that later you will be able to apply all this knowledge when delving into other professional problems. You can also find material developed in-house here.
IMPORTANT: if you want to clone this repository on your computer (not needed, as you can download individual files), you can install GitHub Desktop to make it visually easy.
The course will be divided into theoretical, practical, and methodological cases. Here, you will find the necessary information for each one of those sessions. Please read the information within each appropriate link before you come to a particular session:
Practical session 01
P01 - Working with sequence data
For the assignment of practical session 01, please see this notebook:
Practical session 02
For the assignment of practical session 02, please see this notebook:
Practical session 03
P03 - Multiple sequence alignments
For the assignment of practical session 03, please see this notebook:
Practical session 04
Happy programming!