Skip to content

Contributions

This e-book is intended to be a collaborative resource developed by and for the community of educators using Nanopore sequencing in their classrooms and laboratories. As more instructors integrate real-world DNA sequencing experiences into their courses, sharing materials, insights, and best practices helps build a stronger foundation for effective, accessible, and innovative teaching.

We welcome contributions from educators, researchers, and practitioners to expand and refine this resource. There are many ways to contribute, ranging from submitting instructional materials to providing feedback on existing content.


Ways to Contribute

Provide feedback

If you've used materials from this e-book and found areas for improvement, or if you'd like to suggest new topics, your feedback is valuable. Educators who are actively using Nanopore sequencing with students can help ensure that our content remains:

  • Practical – Aligned with real-world classroom and laboratory settings
  • Accurate – Updated with the latest scientific knowledge and best practices
  • Inclusive – Designed to be accessible to a diverse range of students

To share feedback options include:

  1. Email williams@cshl.edu
  2. Participate in the discussion at QUBES Nanopore Network or Nanopore Network Slack.
  3. Visit the website's GitHub page and submit an issue.

On pages that may be frequently updated, you will also see a feed from our Slack channel.


Share teaching resources

If you have developed lesson plans, presentations, worksheets, videos, or assessments, we encourage you to share them with the community. Contributions may include:

  • Lecture slides or presentations
  • Step-by-step protocols for DNA extraction, sequencing, or data analysis
  • Sample datasets for classroom use
  • Assessments or concept questions to test student understanding
  • Complete course modules or research experiences (CUREs)

Submit research and case studies

If you have conducted research on Nanopore sequencing in the classroom or developed a case study about how it has impacted student learning, we encourage you to share your findings. Potential contributions include:

  • Published papers or preprints on Nanopore-based education initiatives
  • Case studies of student-led sequencing projects
  • Institutional reports on course-based research experiences (CUREs

Contribute to the glossary or FAQs

The glossary and FAQ sections are designed to help newcomers quickly understand technical terms and common questions about Nanopore sequencing. If you notice missing terms or important questions that should be addressed, your contributions can enhance clarity for future educators and students.

Contribution templates

You can visit examples/protocol-template.md to see and download a template for contributing protocols.

Editing the website

The full authoring workflow—the process of building this entire site—relies on two GitHub repositories, an a variety of publishing tools, the most important of which are MkDocs and Material for MkDocs. You will need a bit of GitHub knowledge and Command line knowledge to fully manipulate these tools.

Overview

In the MkDocs system your 'docs' are a collection of markdown files; every page in this site is built as a markdown file. There is also a mkdocs.yml file which contains important metadata about how the site is organize (e.g., the title of the site, the navigation bar, etc.).

Once you have made a page(s) in markdown, there is some serve command you can use to serve the site (e.g. mkdocs serve) to build an html version of the site as a preview you can browse locally. When you are ready, there will also be some deploy command which pushes the html site to GitHub to be served as a website.

This site, is a bit more complicated.

The problem, is that in the build process, the unrendered markdown docs remain on my (the author's) computer, and what is pushed to github are only the HTML files organized however MkDocs has decided. We don't want people editing the HTML files—it's difficult to do, and the point is that editing should take place in markdown only. If I want other people to be able to edit my original markdown files they can't. Therefore, this site is split into two repositories:

  • nanopore_e-book-dev: Is a private repository (i.e., you must request access) where the unrendered docs live.

  • ebook-website: Is a public repository where the built site lives. If you check that site you will see that it basically containes HTML files.

    The authoring workflow is something like:

Authoring steps

Fork and clone repository and install software dependencies

  1. If needed, contact williams@cshl.edu or feitzin@cshl.edu to be added to the repository as a collaborator; you will need to share your GitHub ID.

  2. On github, go to nanopore_e-book-dev and create a fork to your own GitHub account.

  3. Clone the nanopore_e-book-dev repository.

    git clone YOUR FORKED REPOSITORY
    
  4. Use python pip to install all of the software dependencies in the requirements.txt; verify that all packages have installed successfully.

    pip install -r requirements.txt
    

    or

    pip3 install -r requirements.txt
    

Edit the website in markdown form and view a local preview

  1. Change into the nanopore_e-book-dev directory you cloned.

    cd nanopore_e-book-dev
    
    1. Optional, create a branch if desired.
  2. Use a text editor (e.g., atom) to make changes to the documentation.

    Tip

    We are using the Material theme. Explore the site's documentation for extensive examples on how to use:

  3. Use mkdocs serve to generate a local preview of your site. This will be a 'live' preview which will refresh in your browser everytime you save a change to your website.

    mkdocs serve
    
  4. Copy the URL (e.g. 'http://127.0.0.1:8000/nanoporenetwork/ebook-website/') to a web browser to preview. In the terminal use CNTRL+C to stop serving the preview site.

Commit your changes, push, and create a pull request

  1. Add all changed files and commit your change

    git add --all
    
    git commit -am "commit message"
    

  2. Push your change to your fork on GitHub

    git push
    
  3. Create a pull request on Github. The website maintainers will review your changes, suggest edits, and/or incorporate your requested changes!

Making changes to the live site

Edits and changes are done as above. In principle, the live site will have versioned releases using mike.

  1. Create a version of the site using mike; the command string will contain a version and, optionally, and alias (e.g. mike deploy [version] [alias]...)

    mike deploy February-2025-alpha latest
    

    Tip

    Versioning

    Versioning for this website shall be:

    • Major Versions: Month-YYYY (e.g., March-2025); for major releases (e.g., May, August, December)

    • Minor Versions: Month-YYYY-a (e.g. March-2025-a, March-2025-b, ...); for critical updates between major releases.

    Typos, broken links, etc. can be fixed any time without a new release. Correcting outdated information, adding new links to external documents, etc. should trigger a minor version. Substantially new content should be done at major version releases.

  2. Set the version to default

    mike set-default February-2025-alpha # or whatever version
    
  3. Build the site and preview. Copy the URL (e.g. 'http://localhost:8000/') to a web browser to preview. In the terminal use CNTRL+C to stop serving the preview site. The version dropdown should appear in the site header.

    mike serve
    
  4. Deploy the site from the development repository to the ebook website depository. Note, you will only be able to do this if you also have write access as a collaborator to the main site.

    mike set-default --push latest -r https://github.com/nanoporenetwork/ebook-website.git --allow-empty
    

Creating formal releases and updating website citation

Following these instructions for logging into a Zenodo account and adding the main repository. When you create a release you will get an update to the Zenodo record.