AS.020.617     CMDB Quantitative Biology Lab     Fall 2021

Instructor Email
Rajiv McCoy rajiv.mccoy@jhu.edu
Michael Sauria msauria1@jhu.edu

Teaching Assistant Email
Dylan Taylor dtaylo95@jhu.edu
Sara Carioscia scarios1@jhu.edu

Class Meetings
Fridays, Sept 10, 2021 - Dec 3, 2021
1:00 P.M. ET - 3:30 P.M. ET, Online

Course Website
http://bxlab.github.io/cmdb-lab/

Course Description

This course builds upon the foundations of Quantitative Biology Bootcamp, reinforcing and expanding upon mathematical and computational methods for analysis of biological data. Weekly meetings of this 2.5-hour course are organized as active-learning modules focused on diverse areas of genomics. Students perform guided research with real genomic data, uploading their results and code to repositories where they receive feedback.

Topics are intergated with the curricula for concurrent core courses in molecular biology and cell biology, with datasets and analysis goals aimed at diverse topics in these fields. Examples of such topics include: * genome assembly and variant discovery, problems with well-established quantitative theory and upon which a wide array of downstream genomic analyses depend. * genetic assocation studies, aimed at uncovering the genetic basis of phenotypic variation for complex traits. * sequence alignment, a long-standing computational challenge that is foundational to evolutionary studies. * functional genomic data, such as ChIP-seq, and bisulfite-seq, which provide insight into mechanisms of gene regulation. * motif-finding and genome segmentation, methods for deciphering the logic of gene regulation encoded in the DNA sequennce and epigenetic modifications. * bulk and single-cell RNA-seq, including testing for gene expressionn responses to varying experimental conditions, changes in gene expression throughout development, and identifying marker genes that are up or downregulated in particular cell lineages. * Hi-C data to gain insight into the three-dimensional organization of the genome and its role in gene regulation.

Upon completing the course, students should have the background to develop reproducible bioinformatic workflows tailored to their research questions, as well as familiarity with resources for expanding upon these skills.

Specific Objectives

  • Develop familiarity with workflows for common genomic analyses, including developing tractable questions, organizing and preprocessing data, developing analytic pipelines, and implementing statistical models.
  • Develop knowledge of common probability distributions, statistical tests, and correction for multiple hypothesis testing.
  • Develop best practices in bioinformatic research, including documentation, testing, and version control.
  • Develop skillful habits for exploratory data analysis, visualization, and sanity checks.
  • Develop appreciation of confounding factors, as well as methods for their diagnosis and mitigation.
  • Develop understanding of key algorithms and data structures that are commonly encountered in computational biology.
  • Develop good habits for ensuring reproducible research.

Study Materials

This course does not have a required text. Any lecture notes or slides will be made available on the course website. Recordings of interactive lectures will be posted to a private OneDrive to which only students, instructors, and TAs will be granted access.

Course Format

Attendance

Due to the interactive nature of this course, there is a policy that students should not participate in any other meetings, courses, or lab work during this course meeting time. Please be on time for course activities, and budget extra time in anticipation of technical delays. Your attendance is expected during all synchronous sessions and your effort is also expected during asynchronous sessions. Exceptions have been specifically granted for students in distant time zones. Please let us know about any emergencies, family responsibilities, illness, etc. that may prevent attendance, and we will work to accommodate reasonable requests.

Asking for Help

We both expect and encourage you to ask questions and request help throughout this course. Everyone is learning and there is no shame in having questions, not understanding what an instructor has said or typed, or needing to debug your code. Therefore, please ask questions about whatever and whenever you need to.

Googling

Googling is always an acceptable way to find answers or help, and we encourage you to utilize it extensively. A Tuesday lesson will give you some useful tips on Googling error messages. If you adopt a solution following a Google search, make sure you understand what you incorporate, rather than just copy/pasting without comprehension of the logic or code. Please see the Academic Integrity & Ethics syllabus section for more on this.

Grading

Weekly exercise solutions (Jupyter notebooks, scripts, results, etc.) should be pushed to a student’s qbb2021-answers github repository within a week after the assignment is posted. The grading for this course is based on reasonable completion. For each weekly exercise, students will be advised which if any exercises are advanced and therefore not required for submission.

TAs will verify that the student’s submitted work each week shows a reasonable level of individual effort. Letter grades will be assigned in line with the level of completion.

General guidelines for letter grade assignments:

  • A (excellent): 90-100% of weekly completion
  • B (passing): 80-90% of weekly completion
  • C or lower (not passing): <80% of weekly completion

Academic Integrity & Ethics

Academic and scientific institutions and research depend on honesty and integrity. You should be completing your lunch and homework exercises and your work should not plagiarize others – including group partners, presenters, and strangers posting to online forums or blogs. You and your partner should be working together, but both persons should be writing and turning in unique, individualized code. Note your scripts and analysis may follow the same logic steps and even have tidbits of the same code, but no one person should be writing the solution the whole group uses character for character. Additionally, you should understand every line of code you write, are given and use, or find online and incorporate. If asked to, you should be able to explain exactly what your code is doing. Another aspect is properly acknowledging the source of borrowed code. Understanding can be cultivated and acknowledgement implemented by writing both inline and multiline comments (which is a terrific practice in general). Relatedly, don’t give someone code to copy and paste. Make sure any recipient can explain back to you any gifted code. See the university’s guidelines on plagiarism for details and contact a TA with any questions.

Code of Conduct

We are committed to creating a welcoming, inclusive, and harassment-free environment for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), political beliefs/leanings, or technology choices. We do not tolerate harassment in any form. This code of conduct applies to all course participants, including instructors and TAs, and to all modes of interaction, including Zoom meetings, Slack messages, and emails.

All class participants agree to:

  • Be considerate and polite. Bootcamp is a stressful and sometimes frustrating week for everyone. In addition, the collaborative nature of this course means it is essential that students are respectful of each other’s questions and points of confusion. Remember that you all are coming into this program with a wide range of coding backgrounds. A community where people feel uncomfortable is not conducive for learning.
  • Work together cooperatively. Be kind when giving feedback on your classmates’ code, and make an effort to help if they are stuck. You will gain much more from explaining concepts to someone else than you will from rushing through the assignments on your own.
  • Refrain from demeaning, discriminatory, or harassing behavior and speech. Harassment includes, but is not limited to: deliberate intimidation; stalking; unwanted photography or recording; sustained or willful disruption of talks or other events; inappropriate physical contact; use of sexual or discriminatory imagery, comments, or jokes; and unwelcome sexual attention. If you feel that someone has harassed you or otherwise treated you inappropriately, please alert one of the instructors or TAs.
  • Refrain from advocating for, or encouraging, negative behavior. And, if someone asks you to stop, then stop. Alert an instructor or TA if you notice a dangerous situation, someone in distress, or violations of this code of conduct, no matter how inconsequential it seems.

The Pandemic

We know that this is one of the least ideal situations in which to be starting your first year of grad school and taking an intensive coding course. Our plan is to be as understanding as possible about grading, attendance, and any issues that come up. Please don’t hesitate to reach out to an instructor or TA if you are having issues, and we will do our best to accomodate you however we can.