Marcus D. Sherman
Mills Lab
University of Michigan, Department of Computational Medicine & Bioinformatics
Much of bioinformatics requires manipulation of data data sets, execution of multiple external programs, and summary and analysis of results. Many programming langagues, such as Perl and Python excel at these tasks. Here, we will provide an overview of the Python language, demonstrate basic concepts in programming, and show how to create figures and utilize Jupyter notebooks. Python is a powerfull language with many external packages that permit sophisticated analysis workflows.
- Introduce basic programming concepts and principles
- Nurture a general sense of familiarity with Python code and usages
- Teach data I/O and pipelining
- Explore effective programming practices
- Write a program from scratch
- Make you a Python expert
- Expect production-level code at the end of the course
Session | Time | Topics |
---|---|---|
I | 9:00-10:15 AM | Intro to Python and Programming Concepts |
☕ | 10:15-10:30AM | Coffee Break |
II | 10:30-12:00 AM | Variables, Data Structures, and I/O |
🍽 | 12:00-1:00PM | Lunch |
III | 1:00-2:15 PM | Control Structures and Functions |
☕ | 2:15-2:30 PM | Coffee Break |
IV | 2:30-4:00 PM | System Calls and Plotting |
- What is Python? What is programming?
- Setup and execution of simple scripts
- What is a variable?
- Data Structures:
- Mutable vs Immutable
- Lists vs Tuples
- Dictonaries and Sets
- Input/Output and File Handling
- Control structures and loops
- Functions
- Calling external programs
- Tabular data analysis with
pandas
- Plotting using
matplotlib
- Plotting gene expression data using
seaborn
- Summary
- Questions
Link | Description |
---|---|
Cheat Sheet | Basic Python beginner's cheat sheet |
Shortcut Cheat Sheet | Keyboard shortcut cheat sheet for Jupyter Notebooks |
CodeAcademy | An interactive online python tutorial for beginners |
Hitchhiker's Guide to Python | Guide for both novice and expert Python developers to installation, configuration, and usage best practices |
Google Python Style Guide | Python is the main dynamic language used at Google. This style guide is a list of dos and don'ts for Python programs |
Matplotlib Gallery | Some examples of the power of matplotlib |
Jupyter Project | Project Jupyter is a non-profit, open-source project that supports interactive data science and scientific computing across all programming languages |
Binder Project | How the material for this day's sessions are being served |
NumFOCUS | NumFOCUS offers many programs in support of our mission to promote sustainable high-level programming languages, open code development, and reproducible scientific research |