Lecture 0.1
Title: Tutorial — Welcome to Module 0
Lecturer: Will Raymond
Lecturer Website: https://www.engr.colostate.edu/~munsky/
Lecturer Email: wsraymon@rams.colostate.edu
Learning Objectives:
- Learn how to define different variable and data types in Python
- Learn basics for how to write functions and create notebooks in Python
- Learn how to read and write data to files using Python
- Learn how to make and save plots
- Learn how to search for Python libraries to find and load different biosimulation or bioinformatic tools
Will Raymond graduated in May 2017 from Colorado State University with a Bachelors in Biomedical Engineering and a Bachelors in Chemical and Biological Engineering.
Will has been a PhD student in Dr. Munsky’s lab since 2019 working on a myriad of projects. He is currently the lead developer on the rSNAPsim, an open source Python TASEP mRNA simulation package. In addition to that, he also works on implementing machine learning for nascent chain tracking fluorescent spot identification. Additionally, a recent area of focus has been modeling tRNA abundances and their effect on translation dynamics.
His primary area of interest is the intersection of machine learning, bioinformatics, and RNA biology. He is most excited about novel ncRNA discovery and advancements in RNA structural identification and disease classification.
Title: Welcome to Module 0
Abstract: This module is an introduction to some of the basics of Python. Students will learn built in some data types, logic and looping syntax, using NumPy and Pandas, saving I/O, and visualization with matplotlib. Additionally there is a notebook about some of the functionalities of using a Google Colab to run and share you’re code. This section is not a comprehensive Python education, but just enough to get started and to understand the rest of the summer school codes provided.
Suggested Reading or Key Publications:
- Learn how to define different variable and data types in Python (Start off by working through this notebook and trying some of the first steps to coding in Python): https://colab.research.google.com/drive/167EXFCoYCTcqGqljwddWRF1nwTTc_eig?usp=sharing
- Learn basics for how to write functions and create notebooks in Python (This notebook will take you through how to write functions, loops, and logic for workable code beyond simple operations): https://colab.research.google.com/drive/1oMiuuyT0X_UBt9M0mU4klC_WTXCs2XOq?usp=sharing
- Loading Modules and Packages, File I/O (A core component of Python is its plethora of packages available for use, here we take a look at importing the os package and using it to read and write files): https://colab.research.google.com/drive/1SxDI–nHoP7tkq9tMBVcvmqSD8NoZLOo?usp=sharing
- Learn NumPy functionality for arrays and Linear Algebra (NumPy arrays are the core to many scientific computing systems in python, take a look at how they function and store data): https://colab.research.google.com/drive/1UpYhbEogKW7T03Wz6-6sLg4TdEVYbPIP?usp=sharing
- Learn how to make and save plots (Python has several packages for plotting and visualizing data, one of the most common for simple plots is matplotlib. This notebook gives a run down of the main properties of the package and what types of plots it can make): https://colab.research.google.com/drive/1hilQWOei8M1RJA5lJAX4Ea3i62Wv9eVi?usp=sharing
- Learn additional functionality of Colab interactive notebooks (Finally, here we demonstrate some of the extended capabilities of google colab, specifically how it can install packages, map to your google drive, and some of the magic functions specific to colab): https://colab.research.google.com/drive/1Z4KaQvTRLPsZ8-OHz7RzpieT3mgZVi1Q?usp=sharing
- PEP8 Naming Conventions for Python: https://www.python.org/dev/peps/pep-0008/
- NumPy docstrings: https://numpydoc.readthedocs.io/en/latest/format.html
Links to Relevant Software:
- Python Official Documentation – Standard types: https://docs.python.org/3/library/stdtypes.html
- Python Official Documentation – Control flow: https://docs.python.org/3/tutorial/controlflow.html
- Python Official Documentation – Modules: https://docs.python.org/3/tutorial/modules.html
- Python Official Documentation – Input/Output: https://docs.python.org/3/tutorial/inputoutput.html
- NumPy’s Linear algebra tutorial: https://numpy.org/doc/stable/user/tutorial-svd.html
- Matplotlib Tutorials/Documentation page: https://matplotlib.org/stable/tutorials/index.html
-
- What character is used to denote the built in type of a Python list? How about for a tuple and for a dictionary?
- How does python denote that a code block is within a logic loop (like a for loop?)