Essential Computing for Bioinformatics

This course provides a broad introductory discussion of essential computer science concepts that have wide applicability in the natural sciences. Particular emphasis will be placed on applications to Bioinformatics. The concepts will be motivated by practical problems arising from the use of bioinformatics research tools such as genetic sequence databases. Concepts will be discussed in a weekly lecture and will be practiced via simple programming exercises using Python, an easy to learn and widely available scripting language.

NOTE: Most materials are available in source (e.g. DOC, PPT) formats upon request by email.

General Information

- Course Syllabus(PDF)
- Course Outline  (PDF)

Lectures Slides

- Lecture  1 – First Steps in Computing: Course Overview (PDF)
- Lecture  2 – Using Bioinformatics Data Sources (PDF)
- Lecture  3 – Mathematical Computing Models (PDF)
- Lecture  4 – High-level Programming with Python: Flow Control (PDF)
- Lecture  5 – High-level Programming with Python: Container Objects (PDF)
- Lecture  6 – High-level Programming with Python: Files (PDF)
- Lecture  7 – High-level Programming with Python: BioPython (PDF)

Problem Sets

- Problem Set 1. TBA (PDF, Solution)
- Problem Set 2. TBA (PDF, Solution)
- Problem Set 3. TBA (PDF, Solution)
- Problem Set 4. TBA (PDF, Solution)
- Problem Set 5. TBA (PDF, Solution)
- Problem Set 6. TBA (PDF, Solution)
- Problem Set 7. BioPython (PDF, Solution)

Programming Examples

- Programming Examples 1. Basic Sequence Analysis Functions  (Source)
- Programming Examples 2. File Manipulation (Source, TestFile)
- Programming Examples 3. Finding Primers (Source, TestFile)
- Programming Examples 4. Building Phylogenetic Trees Using Similarity Clustering (Source, TestFile1, TestFile2)
- Programming Examples 5. BioPython (Source, TestFile)

Software Development Tools

- Python Website
- BioPython Website
- Emacs for Windows (download)

Useful Links

- How to Think Like A Computer Scientist: Learning with Python
- Bioinformatics for Dummies
- NCBI Entreez BioInformatics Database

Please  let me know of any useful links that you find to post them on ths page.