Bi/BE/CS 183, Winter 2024: Difference between revisions
(Created page with "{{Course |Course number=Bi/BE/CS 183 |Year=2024 |Term=Winter |Instructors=Richard Murray (CDS/BE) }}") |
|||
(90 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Course | {{Course | ||
|Course number=Bi/BE/CS 183 | |Course number=Bi/BE/CS 183 | ||
|Course title=Introduction to Computational Biology and Bioinformatics | |||
|Year=2024 | |Year=2024 | ||
|Term=Winter | |Term=Winter | ||
|Lecture schedule=MWF 11-11:55a, room TBD | |||
|Instructors=Richard Murray (CDS/BE) | |Instructors=Richard Murray (CDS/BE) | ||
|Instructor office hours=Wed, 3-3:45 pm, Annenberg treehouse lounge | |||
|TAs=Tara Chari, Meichen Fang | |||
|TA office hours=Mon/Tue 4-5 pm, Chen 240A | |||
}} | }} | ||
This course closely follows the [[http:github.com/pachterlab/BI-BE-CS-183-2023|Winter 2023 course]]. | |||
=== Catalog Description === | |||
'''Bi/BE/CS 183. Introduction to Computational Biology and Bioinformatics.''' 9 units (3-0-6): second term. Prerequisites: Bi 8, CS 2, Ma 3; or BE/Bi 103 a; or instructor's permission. Biology is becoming an increasingly data-intensive science. Many of the data challenges in the biological sciences are distinct from other scientific disciplines because of the complexity involved. This course will introduce key computational, probabilistic, and statistical methods that are common in computational biology and bioinformatics. We will integrate these theoretical aspects to discuss solutions to common challenges that reoccur throughout bioinformatics including algorithms and heuristics for tackling DNA sequence alignments, phylogenetic reconstructions, evolutionary analysis, and population and human genetics. We will discuss these topics in conjunction with common applications including the analysis of high throughput DNA sequencing data sets and analysis of gene expression from RNA-Seq data sets. | |||
=== Lecture Schedule === | |||
{| class="mw-collapsible wikitable" width=100% border=1 cellpadding=5 | |||
|- | |||
| '''Date''' | |||
| '''Topic''' | |||
| '''Reading''' | |||
| '''Homework''' | |||
|- valign=top | |||
| '''Week 1'''<br> | |||
3 Jan <br> 5 Jan <br> | |||
| '''Course Introduction''' | |||
* Overview of computational biology | |||
* Logistics for the course | |||
* Overview of scRNA-seq | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L1-1_intro-03Jan2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L1-2_single_cell-05Jan2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1-Bo7yaaaxbf8ul_2gacZIII_pggd6JmSVXEF4Zwqekg|Lecture 1]]: Introduction to computational biology of single-cell RNA-seq | |||
** [[http:docs.google.com/presentation/d/1vYFsO2OtC3IlVaxiRXSmFzTsqZPbAAXaFWR0ZEXHneE|Lecture 2]]: Single-cell RNA-seq technology | |||
* Optional reading: | |||
** [https://colab.research.google.com/drive/15MYgi5mxLmna1vPVuLJ3tDM91BTTC8EA#scrollTo=3QavWOXvopRl An introduction to single cell RNA-seq], Booeshaghi and Pachter, 2020? (interactive tutorial) | |||
** [http://www.scdiscoveries.com/blog/knowledge/10x-chromium-how-does-it-work-and-what-are-its-features/#:~:text=10x%20Chromium%20is%20a%20machine,thousands%20of%20cells%20per%20run| 10x Genomics]: Description of 10x 3' Single-cell Sequencing | |||
| {{Bi/BE/CS 183 public|hw1-wi2024.pdf|HW #1}} | |||
Out: 3 Jan <br> | |||
Due: 10 Jan <br> | |||
{{Bi/BE/CS 183 public|caltech/hw1-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 2'''<br> | |||
8 Jan <br> 10 Jan <br> 12 Jan | |||
| '''Correlation and regresssion''' | |||
* Linear and logistic regression, least squares | |||
* Random variables, covariance, correlation | |||
* Exploratory data analysis | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L2-1_regression-08Jan2024.pdf|Mon}}, {{Bi/BE/CS 183 public|caltech/L2-2_correlation-10Jan2024.pdf|Wed}}, Fri ([https://colab.research.google.com/drive/1_BBQFxDF2Q53LQtDvoUJlzWTbvvoQxz7?usp=sharing ipynb], {{Bi/BE/CS 183 public|caltech/L2-3_single_cell-12Jan2024.pdf|PDF}}) | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1P2tFP82zIwZHOlRQWu8qlFUjCck3BDhtTPquZssciio|Lecture 3]]: Linear and logistic regression | |||
** [[http:docs.google.com/presentation/d/1ZJQQSgKdQA7PUw2HyZmgJwRN1IgRXA0e1XTmL9D3iF8|Lecture 4]]: Correlation and causation | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
* Optional reading: | |||
--> | |||
| {{Bi/BE/CS 183 public|hw2-wi2024.pdf|HW #2}} | |||
Out: 10 Jan <br> | |||
Due: 17 Jan <br> | |||
{{Bi/BE/CS 183 public|caltech/hw2-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 3'''<br> | |||
<s>15 Jan</s> <br> 17 Jan <br> 19 Jan | |||
| '''Dimensionality reduction''' | |||
* Singular value decomposition (SVD), principal components analysis (PCA) | |||
* Clustering and data visualization (PCA, t-SNE, UMAP) | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L3-1_svd-17Jan2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L3-2_pca-19Jan2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1A0g8BbgGmQllI5y1kdEYOPRQ0Q9CPMDMmX-RQwbhRzM|Lecture 5]]: Singular value decomposition | |||
** [[http:docs.google.com/presentation/d/1DTuLMODtcFy-x1X1J4p7hy8aIxr9VnGyY98XNKs1B78|Lecture 6]]: Dimensionality reduction | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
* Optional reading: | |||
--> | |||
| {{Bi/BE/CS 183 public|hw3-wi2024.pdf|HW #3}} | |||
Out: 17 Jan <br> | |||
Due: 24 Jan <br> | |||
{{Bi/BE/CS 183 public|caltech/hw3-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 4'''<br> | |||
22 Jan <br> 24 Jan <br> 26 Jan* | |||
| '''Expectation maximization (EM)''' | |||
* Maximum likelihood estimation (MLE) | |||
* Clustering via EM | |||
* Gaussian mixture models | |||
* Read alignment via EM | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L4-1_clustering-22Jan2024.pdf|Mon}}, {{Bi/BE/CS 183 public|caltech/L4-2_alignment-24Jan2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L4-3_meyerowitz-26Jan2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1hH6WcVqrTsZRJmkTstJNjIka5g2eJcCnD_sBn4G-J6w|Lecture 7]]: Clustering | |||
** [[http:docs.google.com/presentation/d/1G4s2D-Y2Z5LFVe41enVBepyffSAjuAhrJZ7Hzn8A3nU|Lecture 8]]: Read alignment | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
* Optional reading: | |||
--> | |||
| {{Bi/BE/CS 183 public|hw4-wi2024.pdf|HW #4}} | |||
Out: 24 Jan <br> | |||
Due: 31 Jan <br> | |||
{{Bi/BE/CS 183 public|caltech/hw4-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 5'''<br> | |||
29 Jan <br> 31 Jan <br> 2 Feb | |||
| '''Read alignment and modeling counts''' | |||
* String algorithms, suffix trees | |||
* Modeling counts, zero-inflated negative binomial distributions | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L5-1_string_algorithms-29Jan2024.pdf|Mon}}, {{Bi/BE/CS 183 public|caltech/L5-2_modeling_counts-31Jan2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L5-3_guttman-02Feb2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1XELEyVhr0vMpkaGXq4INhNq8mXttqz_NZ1ZGclUFM0Y|Lecture 7]]: String algorithms | |||
** [[http:docs.google.com/presentation/d/1XjHXsOVMdO0DgP8NvNCHC82DyudHrtf2YXOzRoPBN5g|Lecture 8]]: Modeling counts | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
--> | |||
* Optional reading: | |||
** [[http:medium.com/@mr-easy/burrows-wheeler-alignment-part-1-eb93057bfff5|BWT tutorial]] | |||
** {{Bi/BE/CS 183 public|caltech/guttman_bwt-29Jan2024.pdf|M. Guttman slides on BWT}} | |||
| {{Bi/BE/CS 183 public|hw5-wi2024.pdf|HW #5}} | |||
Out: 31 Jan <br> | |||
Due: 7 Feb <br> | |||
{{Bi/BE/CS 183 public|caltech/hw5-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 6'''<br> | |||
5 Feb <br> 7 Feb <br> 9 Feb | |||
| '''Transformation of non-normal distributions''' | |||
* Generalized linear models (GLMs) | |||
* Variance stabilization, normalization, log1p transformations | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L6-1_glms-05Feb2024.pdf|Mon}}, {{Bi/BE/CS 183 public|caltech/L6-2_normalization-07Feb2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L6-3_transformations-09Feb2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1Snj90kIe6iguVfftZ18404C4h8WcHoEdA8isfy021GQ|Lecture 11]]: Generalized linear models | |||
** [[http:docs.google.com/presentation/d/1qTSqWCfXNwKxpMT5VcgCrv_gmZ9xlXazukaWjWYoJ3o|Lecture 12]]: Variance stabilization | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
* Optional reading: | |||
--> | |||
| {{Bi/BE/CS 183 public|hw6-wi2024.pdf|HW #6}} | |||
Out: 7 Feb <br> | |||
Due: 14 Feb <br> | |||
{{Bi/BE/CS 183 public|caltech/hw6-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 7'''<br> | |||
12 Feb <br> 14 Feb <br> 16 Feb | |||
| '''Differential analysis''' | |||
* Differential expression | |||
* Hypothesis testing, multiple testing | |||
* Selective inference, aggregation | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L7-1_differential_analysis-12Feb2024.pdf|Mon}}, {{Bi/BE/CS 183 public|caltech/L7-2_multiple_testing-14Feb2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L7-3_sternberg-16Feb2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1ExkNVQ8u8IuZ1ZmUpTyd7oBuRkqU5RZEHm1q4eqK9Uc|Lecture 13]]: Differential analysis | |||
** [[http:docs.google.com/presentation/d/1F-OFNeVNClOYxTnJGW-pZ0KHzTIggPZeyZsk7y9gM0g|Lecture 14]]: Multiple testing | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
* Optional reading: | |||
--> | |||
| {{Bi/BE/CS 183 public|hw7-wi2024.pdf|HW #7}} | |||
Out: 14 Feb <br> | |||
Due: 21 Feb <br> | |||
{{Bi/BE/CS 183 public|caltech/hw7-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 8'''<br> | |||
<s>19 Feb</s> <br> 21 Feb <br> 23 Feb* | |||
| '''Hidden Markov models''' | |||
* Parameter estimation (Baum-Welch) | |||
* State estimation (Viterbi algorithm) | |||
* Dynamic programming | |||
* Global and local alignment (Needleman-Wunsch, Smith-Waterman) | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L8-1_hmms-21Feb2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L8-2_dp_alignment-23Feb2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1zpWVNvlbnqAjDlFr4XGaocOPw0Y-s6qm16kf01GS2aM|Lecture 15]]: Hidden Markov models | |||
** [[http:docs.google.com/presentation/d/1ry13HMq3z-DERtXNnm5L_YHXQFtIltmoGDTq3zydn6k|Lecture 16]]: Dynamic programming | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
* Optional reading: | |||
--> | |||
| {{Bi/BE/CS 183 public|hw8-wi2024.pdf|HW #8}} | |||
Out: 21 Feb <br> | |||
Due: 28 Feb <br> | |||
{{Bi/BE/CS 183 public|caltech/hw8-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 9'''<br> | |||
26 Feb <br> 28 Feb <br> 1 Mar | |||
| '''Markov processes''' | |||
* Continuous-time Markov chains (CTMC) | |||
* Stochastic simulation algorithm (SSA) | |||
* Chemical master equation (CME) | |||
* Bursty gene expression | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L9-1_ctmc-26Feb2024.pdf|Mon}}, {{Bi/BE/CS 183 public|caltech/L9-2_transcription-28Feb2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L9-3_elowitz-01Mar2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1Nf528xSOGWQS6sEkkAdA1MSt4p7u3aHnttA-tXGlzP0|Lecture 17]]: Mechanism | |||
** [[http:docs.google.com/presentation/d/15lw0UxeSoVwxrmn8L5BYu_xr7ccMB2u3QvGcn7M0sa8|Lecture 18]]: Chemical master equation | |||
* Optional reading: | |||
** [[http:fbswiki.org/wiki/index.php/Biomolecular_Feedback_Systems|Del Vecchio and Murray (BFS)]], Sec 2.1, 4.1, 4.2 | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
--> | |||
| {{Bi/BE/CS 183 public|hw9-wi2024.pdf|HW #9}} | |||
Out: 28 Feb <br> | |||
Due: 6 Mar <br> | |||
{{Bi/BE/CS 183 public|caltech/hw9-wi2024_solns.pdf|Solns}} (Caltech only) | |||
|- valign=top | |||
| '''Week 10'''<br> | |||
4 Mar <br> 6 Mar <br> 8 Mar | |||
| '''Machine learning''' | |||
* Auto-encoders, function approximation, backpropagation, classification | |||
* Large language models, RoseTTAFold, ESM2 | |||
* TRILL | |||
| | |||
* Wi 2024 lecture slides: {{Bi/BE/CS 183 public|caltech/L10-1_neural_nets-04Mar2024.pdf|Mon}}, {{Bi/BE/CS 183 public|caltech/L10-2_llms-06Mar2024.pdf|Wed}}, {{Bi/BE/CS 183 public|caltech/L10-3_martinez-08Mar2024.pdf|Fri}} | |||
* Wi 2023 lecture slides: | |||
** [[http:docs.google.com/presentation/d/1OroKl_6AyrX422RGkodctorMA1dBhNBwbITg_kzxB3Q|Lecture 19]]: Neural networks | |||
* Optional reading: | |||
** [https://youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi&si=NKR746t9ldPr-yPw YouTube videos on neural networks] | |||
** [https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/ What is ChatGPT Doing ... and Why Does It Work?] (S. Wolfram, 2023) | |||
** [http://jalammar.github.io/illustrated-transformer/ The Illustrated Transformer] (J. Alammar, 2018) | |||
<!-- | |||
* Jupyter notebooks: {{Bi/BE/CS 183 public|example.ipynb}} | |||
--> | |||
| Final (GradeScope) | |||
Out: 8 Mar <br> | |||
Due: 15 Mar <br> | |||
<!-- {{Bi/BE/CS 183 public|caltech/final-wi2024_solns.pdf|Solns}} (Caltech only) --> | |||
|} | |||
=== Grading === | |||
The final grade will be based on homework sets and a final exam: | |||
*''Homework (70%):'' Homework sets will be handed out weekly and due on Wednesdays by 11 am using GradeScope. Each student is allowed up to two extensions of no more than 2 days each over the course of the term. Homework turned in after Friday at 11 am or after the two extensions are exhausted will not be accepted without a note from the health center or the Dean. Python code is considered part of your solution and should be printed and turned in with the problem set (whether the problem asks for it or not). For Colab notebooks, first use the Runtime --> Run all command to execute all code cells, then use File --> Print to save the notebook and the outputs to a pdf. | |||
:The lowest homework set grade will be dropped when computing your final grade. | |||
* ''Final exam (30%):'' The final exam will be handed out on the last day of class (8 Mar) and due at the end of finals week. It will be an open book exam and computers will be allowed. | |||
=== Collaboration Policy === | |||
Collaboration on homework assignments is encouraged. You may consult outside reference materials, other students, the TA, or the instructor, but you cannot consult homework solutions from prior years and you must cite any use of material from outside references. All solutions that are handed in should be written up individually and should reflect your own understanding of the subject matter at the time of writing. Any computer code that is used to solve homework problems is considered part of your writeup and should be done individually (you can share ideas, but not code). | |||
No collaboration is allowed on the final exam. | |||
=== Course Text and References === | |||
There is no course textbook, but the slides from the prior year's course serve as a reference for much of the material in the course: | |||
* <span id="Pachter_2023">[Pac23]</span> L. Pachter, [[http:github.com/pachterlab/BI-BE-CS-183-2023|Caltech BI/BE/CSS 183: Introduction to Computational Biology and Bioinformatics]], Winter 2023. | |||
The following additional references may also be useful: | |||
* TBD | |||
* TBD | |||
Note: the only sources listed here are those that allow free access to online versions. Additional textbooks that are not freely available can be obtained from the library. | |||
[[Category: Courses]] |
Latest revision as of 18:58, 12 March 2024
Introduction to Computational Biology and Bioinformatics | |
Instructors
|
Teaching Assistants
|
This is the course homepage for Bi/BE/CS 183, Winter 2024. This course closely follows the Winter 2023 course.
Catalog Description
Bi/BE/CS 183. Introduction to Computational Biology and Bioinformatics. 9 units (3-0-6): second term. Prerequisites: Bi 8, CS 2, Ma 3; or BE/Bi 103 a; or instructor's permission. Biology is becoming an increasingly data-intensive science. Many of the data challenges in the biological sciences are distinct from other scientific disciplines because of the complexity involved. This course will introduce key computational, probabilistic, and statistical methods that are common in computational biology and bioinformatics. We will integrate these theoretical aspects to discuss solutions to common challenges that reoccur throughout bioinformatics including algorithms and heuristics for tackling DNA sequence alignments, phylogenetic reconstructions, evolutionary analysis, and population and human genetics. We will discuss these topics in conjunction with common applications including the analysis of high throughput DNA sequencing data sets and analysis of gene expression from RNA-Seq data sets.
Lecture Schedule
Date | Topic | Reading | Homework |
Week 1 3 Jan |
Course Introduction
|
|
HW #1
Out: 3 Jan |
Week 2 8 Jan |
Correlation and regresssion
|
HW #2
Out: 10 Jan | |
Week 3
|
Dimensionality reduction
|
HW #3
Out: 17 Jan | |
Week 4 22 Jan |
Expectation maximization (EM)
|
HW #4
Out: 24 Jan
| |
Week 5 29 Jan |
Read alignment and modeling counts
|
HW #5
Out: 31 Jan | |
Week 6 5 Feb |
Transformation of non-normal distributions
|
|
HW #6
Out: 7 Feb |
Week 7 12 Feb |
Differential analysis
|
|
HW #7
Out: 14 Feb |
Week 8
|
Hidden Markov models
|
|
HW #8
Out: 21 Feb |
Week 9 26 Feb |
Markov processes
|
|
HW #9
Out: 28 Feb |
Week 10 4 Mar |
Machine learning
|
|
Final (GradeScope)
Out: 8 Mar |
Grading
The final grade will be based on homework sets and a final exam:
- Homework (70%): Homework sets will be handed out weekly and due on Wednesdays by 11 am using GradeScope. Each student is allowed up to two extensions of no more than 2 days each over the course of the term. Homework turned in after Friday at 11 am or after the two extensions are exhausted will not be accepted without a note from the health center or the Dean. Python code is considered part of your solution and should be printed and turned in with the problem set (whether the problem asks for it or not). For Colab notebooks, first use the Runtime --> Run all command to execute all code cells, then use File --> Print to save the notebook and the outputs to a pdf.
- The lowest homework set grade will be dropped when computing your final grade.
- Final exam (30%): The final exam will be handed out on the last day of class (8 Mar) and due at the end of finals week. It will be an open book exam and computers will be allowed.
Collaboration Policy
Collaboration on homework assignments is encouraged. You may consult outside reference materials, other students, the TA, or the instructor, but you cannot consult homework solutions from prior years and you must cite any use of material from outside references. All solutions that are handed in should be written up individually and should reflect your own understanding of the subject matter at the time of writing. Any computer code that is used to solve homework problems is considered part of your writeup and should be done individually (you can share ideas, but not code).
No collaboration is allowed on the final exam.
Course Text and References
There is no course textbook, but the slides from the prior year's course serve as a reference for much of the material in the course:
- [Pac23] L. Pachter, Caltech BI/BE/CSS 183: Introduction to Computational Biology and Bioinformatics, Winter 2023.
The following additional references may also be useful:
- TBD
- TBD
Note: the only sources listed here are those that allow free access to online versions. Additional textbooks that are not freely available can be obtained from the library.