Skip to content

betteridiot/biocomp_bootcamp

Binder Code of Conduct License


Biocomputing Bootcamp Day 2: Introduction to Programming

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.


What are the goals of today's sessions?

  1. Introduce basic programming concepts and principles
  2. Nurture a general sense of familiarity with Python code and usages
  3. Teach data I/O and pipelining
  4. Explore effective programming practices
  5. Write a program from scratch

What are not the goals of today's sessions?

  1. Make you a Python expert
  2. Expect production-level code at the end of the course

Schedule:

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

Overview:

Session I: Intro to Python and Programming Concepts [1:15 hr]

  • What is Python? What is programming?
  • Setup and execution of simple scripts
— ☕ Coffee Break [15 mins]

Session II: Variables, Data Structures, and I/O [1:30 hr]

  • What is a variable?
  • Data Structures:
    • Mutable vs Immutable
    • Lists vs Tuples
    • Dictonaries and Sets
  • Input/Output and File Handling

— 🍽 Lunch Break [1 hr]

Session III: Control Structures and Functions [1.15 hr]

  • Control structures and loops
  • Functions
— ☕ Coffee Break [15 mins]

Session IV: System Calls and Plotting [1.30 hr]

  • Calling external programs
  • Tabular data analysis with pandas
  • Plotting using matplotlib
  • Plotting gene expression data using seaborn

Wrap-up

  • Summary
  • Questions

Resources

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

About

Jupyter Binder containing interactive labs for DCMB Introduction to Biocomputing Bootcamp

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages