Introduction to Bioinformatics

"When it comes to working in bioinformatics, it is the best of times and it is the worst of times. "

Lior Pachter

Bioinformatics is a fascinating field that combines biology, data science, computer science, and more. The opportunities offered are endless, and gaining some bioinformatics skills can be the start of an exciting adventure. Obviously, we are just going to be able to get our toes wet in this two day introduction. However, I hope the material and resources provided here pique your interest to continue your studies in this area on your own.

We will be introducing two resources during this workshop: Biopython and

Biopython is a set of freely available tools for biological computation written in Python. As stated on the Biopython website, "It is a distributed collaborative effort to develop Python libraries and applications which address the needs of current and future work in bioinformatics."

Thus, if you decide you would like to learn about or work in the field on bioinformatics, you should be prepared to need some programming background (or at least the willingness to learn). In addition to Python, it would also be good to have some Linux/Bash skills, and even to know some R ( see Bioconductor). However, we don't have time for everything right now!

The other resource we will be using if This site provides learners with a set of bioinformatics puzzles of increasing levels of difficulty. It is a great way to have fun improving your Python programming skills while working on common problems that are encountered in bioinformatics.

"For developers we have tons of modern tools, polished libraries, github and twitter and a sane extension of c++ called c++11. On the other hand we have clusters. Moreover, users have clusters that they don’t control, can’t install modern compilers (and by modern, I mean like two years old), can’t install libraries and compiling without root is pain."

Lior Pachter

On that positive note, let's get started! In all fairness, what Lior Pachter says is pretty much how it is. Your troubleshooting and problem solving skills will be invaluable. If you enjoy constantly learning new technologies and skills, you will find bioinformatics to be challenging and exciting.

About Me:

just finished my 3rd year as a graduate student in the Paul G Allen School of Computer Science and Engineering. I did not follow a direct route to computer science. Before I started my current program, I was a graduate student in pathobiology. While taking programming classes as a student in that program (in order to be able to RNA sequencing analysis work), I realized that I wanted to study CS more than I wanted to study biology. My pre-UW background was just as convoluted:

  • graduated with a BS in Materials Science & Engineering
  • worked as a process engineer for a short time
  • went to medical school & did half of a family practice residency
  • homeschooled the 3 kids above for > 10 years
  • started teaching at local community colleges
  • finally, became a graduate student at UW

Ultimate goal: Finish my current program and teach computer science full-time.

Please feel free to chat with me about any parts of this varied past that interest you or that you think might be helpful to you.