Class Introduction
Instructors:
Joe Allen, wallen@tacc.utexas.edu
Kelsey Beavers, kbeavers@tacc.utexas.edu
Erik Ferlanti, eferlanti@tacc.utexas.edu
Time: Tue/Thur 11:00 — 12:30pm
Location: WEL 3.310 (in person)
Office Hours: Fridays 10:00 — 11:00am, or by appointment (Zoom)
Important Links:
Canvas: https://utexas.instructure.com/
Docs (no textbook): https://mbs-337-sp26.readthedocs.io/
Slack: https://tacc-learn.slack.com/ (channel #mbs337-sp26)
Catalog Description:
Develop essential computational skills for modern biological research. Practice skills in software engineering, data management, containerization, workflow automation, dashboard development, and cloud computing through projects with applications in bioimaging, genomics, protein folding, and drug discovery.
Prerequisites:
One of the following with a passing grade:
INB 321G: Principles of Computational Biology
BCH 339N: Systems Biology and Bioinformatics
CS 303E: Elements of Computers and Programming
Or:
By permission of Instructor
Overview of the Class:
Research Computing in Biology is a hands-on, project-driven course designed for upper-level undergraduate biology majors and graduate students seeking practical experience with essential computing skills used in modern biological research settings. The course teaches core principles of research software engineering, reproducibility, automation, scientific data management, development and operations (DevOps), cloud computing, and high-performance computing to address real-world applications in bioimaging, genomics, protein folding, and drug discovery. Students will gain practical experience working with real biological datasets and computational tools commonly used in research settings across bioinformatics, structural biology, and neuroscience. Emphasis is placed on building and practicing foundational skills in Linux, Python programming, version control systems, containerization, workflow managers, and dashboard development. By the end of the course, students will be equipped to design, implement, and share robust computational pipelines for a variety of biological research problems.
Knowledge, Skills and Abilities Students Should Have Before Entering This Course:
Students should have a foundational understanding of biological concepts and basic familiarity with working on computers. Prior exposure to a command-line terminal environment and a programming language is helpful, but not required. Prerequisite coursework may include INB 321G: Principles of Computational Biology, or BCH 339N: Systems Biology and Bioinformatics, or CS 303E: Elements of Computers and Programming, or permission of Instructor.
Knowledge, Skills, and Abilities Students Gain From This Course (Learning Outcomes):
Students will learn to write and manage scientific code using software engineering best practices, build automated and reproducible pipelines using containerization platforms and workflow managers, interact with and manage scientific datasets, deploy pipelines and dashboards into cloud resources, and scale pipelines efficiently on high-performance computing resources. Students will learn and reinforce these skills by applying them to class projects which include real-world biological research problems in image analysis, bioinformatics, protein modeling, and drug discovery.
Class Format:
The class will be delivered in person in a standard classroom setting. Most class meetings will be comprised of lectures/demonstrations and hands-on labs. Students are expected to attend every lecture and actively participate in the hands-on labs during the class. The hands-on portions will often solve parts of homework assignments. Lecture materials with worked examples will be posted to the class website right before the class meeting. Additionally, there will be a class Slack channel for discussing ideas about the course with your fellow students and instructors.
Required Devices:
The entire course will be computer-based. The instructors will provide a remote server for students to work on. Students are expected to have access to a personal/laptop computer with a web browser, a terminal (or SSH client), and an integrated development environment (e.g. Visual Studio Code).
Attendance:
Regular attendance is expected but will not count against the students’ grades. We expect students to give us a week notice in advance of their absence if known ahead of time.
Class Topics: (Tentative, subject to change)
Command-line Linux
Python programming
Version control with Git
Container orchestration
Working with scientific data
Workflow automation
Building and managing dashboards
Deep Learning
Cloud computing
High-performance computing
Class Schedule: (Tentative, subject to change)
Week |
Topics |
What’s Due |
Instructor |
|---|---|---|---|
Week 1 |
Onboarding, Linux Review, Python Review |
N/A |
K Beavers |
Week 2 |
Version Control with Git |
Homework 1 |
K Beavers |
Week 3 |
Working with JSON, CSV, XML, YAML |
Homework 2 |
K Beavers |
Week 4 |
Working with FASTA, FASTQ, BAM/SAM, VCF, PDB, CIF |
TBD |
K Beavers |
Week 5 |
Code Organization, Documentation, Exception Handling, Unit Testing |
TBD |
K Beavers |
Week 6 |
Containerization, Automation, Docker Compose |
TBD |
E Ferlanti |
Week 7 |
Databases, Programmatic Data Access, APIs, iNaturalist, RCSB, NCBI, share |
TBD |
E Ferlanti |
Week 8 |
Jupyter, Visualization, Plotting |
TBD |
E Ferlanti |
Week 9 |
Building Dashboards |
Midterm Project |
E Ferlanti |
SPRING BREAK |
N/A |
||
Week 10 |
Cloud Computing, DevOps, Ansible |
TBD |
J Allen |
Week 11 |
Continuous Integration, Integration Testing |
TBD |
J Allen |
Week 12 |
Workflow Automation, Snakemake, Nextflow |
TBD |
J Allen |
Week 13 |
High-Performance Computing, Batch Queueing Systems |
TBD |
J Allen |
Week 14 |
Deep Learning / MLOps for Biology applications |
TBD |
J Allen |
FINAL EXAMS |
Final Project |
Refer to UT’s academic calendar for important dates: https://registrar.utexas.edu/calendar/25-26
Final Exam date and times may be found here: https://onestop.utexas.edu/registration-and-degree-planning/final-exam-information
Grading:
Grades for the course will be based on the following:
50% Homework — Approximately 10 coding / software design assignments to be submitted via GitHub. Homeworks will typically be assigned on Thursdays, and due the following Tuesdays.
20% Midterm — A midterm design project will include concepts from the first half of the semester and build on the first 4-5 homework assignments. A written component will also be required.
30% Final Project — Students will work independently OR form groups to work on a final class project consisting of a web-accessible dashboard for running a scientific application. The project will draw from and build upon work done throughout the semester in homework assignments. The project will also need to be pitched to the instructors for approval, and a written component will also be required.
Letter grade cutoffs are as follows (tentative, final grades may be curved up):
Grade |
≥ |
< |
|---|---|---|
A |
93 |
100 |
A- |
90 |
93 |
B+ |
87 |
90 |
B |
83 |
87 |
B- |
80 |
83 |
C+ |
77 |
80 |
C |
73 |
77 |
C- |
70 |
73 |
D+ |
67 |
70 |
D |
63 |
67 |
D- |
60 |
63 |
F |
0 |
60 |
Homework Policy:
We encourage collaboration on homework assignments. Engaging in discussions and comparing notes with other students about the homework assignments can be a valuable learning experience. However, each student is expected to complete and turn in their own homework assignment. We do not allow students to copy directly from others. All homework assignments will be turned in as Git repositories on GitHub. Homework repositories should be set to private and shared with the course instructors. The course instructor will pull homework from the repositories at the posted due date / time. Instructions on setting up the repositories and sharing them with the course instructor will be covered in class.
Academic Integrity Expectations:
Academic integrity is foundational to scholarly work. To learn more about academic integrity standards, tips for avoiding a potential academic misconduct violation and the overall conduct process, please visit the Student Conduct and Academic Integrity website.
Artificial Intelligence:
The creation of artificial intelligence tools for widespread use is an exciting innovation. These tools have both appropriate and inappropriate uses in classwork. The use of artificial intelligence tools (such as ChatGPT) in this class shall be permitted on a limited basis. You will be informed as to the assignments for which AI may be utilized. You are also welcome to seek my prior-approval to use AI writing tools on any assignment. In either instance, AI writing tools should be used with caution and proper citation, and the use of AI should be properly attributed. Using AI writing tools without my permission or authorization, or failing to properly cite AI even where permitted, shall constitute a violation of UT Austin’s Institutional Rules on academic integrity. If you are considering the use of AI writing tools but are unsure if you are allowed, or are unsure regarding the extent to which they may be utilized appropriately, please ask.
Disability and Access (D&A):
The University of Texas at Austin is committed to creating an accessible and inclusive learning environment consistent with university policy and federal and state law. Please let me know if you experience any barriers to learning so I can work with you to ensure you have equal opportunity to participate fully in this course. If you are a student with a disability, or think you may have a disability, and need accommodations please contact Disability & Access (D&A). Please refer to the D&A website for more information: http://diversity.utexas.edu/disability/. If you are already registered with D&A, please deliver your Accommodation Letter to me as early as possible in the semester so we can discuss your approved accommodations and needs in this course.
Title IX Disclosure:
Beginning January 1, 2020, Texas Education Code, Section 51.252 (formerly known as Senate Bill 212) requires all employees of Texas universities, including faculty, to report to the Title IX Office any information regarding incidents of sexual harassment, sexual assault, dating violence, or stalking that is disclosed to them. Texas law requires that all employees who witness or receive information about incidents of this type (including, but not limited to, written forms, applications, one-on-one conversations, class assignments, class discussions, or third-party reports) must report it to the Title IX Coordinator. Before talking with me, or with any faculty or staff member about a Title IX-related incident, please remember that I will be required to report this information.
Although graduate teaching and research assistants are not subject to Texas Education Code, Section 51.252, they are mandatory reporters under federal Title IX regulations and are required to report a wide range of behaviors we refer to as sexual misconduct, including the types of misconduct covered under Texas Education Code, Section 51.252. Title IX of the Education Amendments of 1972 is a federal civil rights law that prohibits discrimination on the basis of sex – including pregnancy and parental status – in educational programs and activities. The Title IX Office has developed supportive ways and compiled campus resources to support all impacted by a Title IX matter.
If you would like to speak with a case manager, who can provide support, resources, or academic accommodations, in the Title IX Office, please email: supportandresources@austin.utexas.edu.
Case managers can also provide support, resources, and accommodations for pregnant, nursing, and parenting students.
For more information about reporting options and resources, please visit: https://titleix.utexas.edu, contact the Title IX Office via email at: titleix@austin.utexas.edu, or call 512-471-0419.
University Resources:
For a list of university resources that may be helpful to you as you engage with and navigate your courses and the university, see the University Resources Students Canvas page.
Additional help
Our main goal for this class is your success. Please contact us if you need help:
Joe Allen, wallen@tacc.utexas.edu
Kelsey Beavers, kbeavers@tacc.utexas.edu
Erik Ferlanti, eferlanti@tacc.utexas.edu
Important Links:
Canvas: https://utexas.instructure.com/
Docs (no textbook): https://mbs-337-sp26.readthedocs.io/
Slack: https://tacc-learn.slack.com/ (channel #mbs337-sp26)