While many software packages have been developed and distributed to support bioinformatic analysis, we still find it incredibly helpful to have basic knowledge of a scripting language. Being able to read, write and (most critically) understand code enables novice bioinformaticians to get more involved with the analysis of their datasets. A large part of modern bioinformatics workflows is the manipulation of enormous text files. Next-generation sequencing datasets are often far too large to be easily manipulated in Excel. Adding and removing columns, sorting datasets, and converting between data formats almost always require the use of some scripting language.
We find that Python is an excellent candidate language for individuals looking to venture into basic applications of bioinformatics and computational biology. Python offers several attractive features for newcomers to programming:
We have developed and offer here a free online course to help introduce users to Python. The course consists of video lectures, supporting slides, sample Python programs, and programming assignments.
Topics Covered | ||
---|---|---|
Module 1 | Setting up the Python development environment | Launch Module » |
Module 2 | Introduction to programming Python interactive environment Built-in functions |
Launch Module » |
Module 3 | Introduction to variable types (numbers, strings, boolean) Text editors Command line Python programs |
Launch Module » |
Module 4 | Advanced numbers, strings, and boolean variables Program flow - linear coding |
Launch Module » |
Module 5 | Program flow - if, else, if elif Program flow - functions |
Launch Module » |
Module 6 | Data structures - lists Program flow - loops ("for") |
Launch Module » |
Module 7 | Review of concepts covered Introduction to codingbat |
Launch Module » |
Module 8 | Program flow - loops ("while") Program flow - loops (advanced) |
Launch Module » |
Module 9 | Reading data from files Parsing data read from files Writing data to files |
Launch Module » |
Module 10 | Data structures - dictionaries | Launch Module » |
Module 11 | Command line arguments Command line options |
Launch Module » |