Skip to content

oasci/pitt-biosc1630-2023f

Repository files navigation

BIOSC 1630

Computational Biology Seminar

Fall 2023 • University of PittsburghDepartment of Biological Sciences

License GitHub repo size GitHub repo size Jupyter book

Topics in computational biology will be explored using primary literature. Students will present research articles orally and complete a series of writing assignments that will culminate in producing a literature review paper.

Open education

We value accessible, open education that should be available to anyone who seeks it. Thus, all materials for this course are released under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Feedback and reflection

hypothes.is is used to provide feedback, ask questions, and reflect on the course materials. After making an account, you can annotate using the "Annotation sidebar" on the right-hand side of your screen.

Building the website

This website is built using the Jupyter Book framework and poetry to manage the Python environment.

If you do not have poetry installed you can so by activating your preferred Python environment and running the following command:

make poetry-download

Now we have to setup the virtual environment. Technically, other versions of Python3 should work, but I have not validated it.

poetry config virtualenvs.in-project true
poetry env use python3.11

To build the website:

make install
make book

You can now view the website by opening book/_build/html/index.html.

Contributing

All contributions, corrections, and suggestions are welcome!

We use pre-commits to ensure uniform formatting. These have to be installed first.

make pre-commit-install

Before committing and pushing, run the following command a couple of times to ensure all checks pass.

make validate

Local copy

You can also get a local copy of this website. Go to the repository and switch to the gh-pages branch. Then click the green < > Code button and download a zip file containing an up-to-date compiled website.

Alternatively, you can click this link to automatically download this zip.

Encryption

git-secret is used to encrypt course materials that are in preparation. Use git secret add to encrypt an untracked file. This will add a line to .gitignore and .gitsecret/paths/mapping.cfg to mark that it should be a .secret file. To stop encrypting the file, remove the lines in .gitignore and .gitsecret/paths/mapping.cfg and delete the .secret file.

pre-commit hooks are used to ensure all desired files are encrypted before commits. Building the book before committing is beneficial as it will encrypt and decrypt files as necessary so you can see which files are changing. git secret reveal will allow you to decrypt these files if you have access.

Hooks

We have added a post-merge hook in .githooks that will ensure the encrypted files are handled correctly. It will create backups of all decrypted files in the local repository if they exist. Then, it will decrypt the .secret files to ensure the unencrypted files are consistent.

You must run the following command while in the repository to use these hooks.

git config core.hooksPath .githooks

Acknowledgements

I sincerely thank the following individuals who have played a significant role in supporting the development of this course and my teaching.