Coder Social home page Coder Social logo

sipbs-compbiol / bm214-workshop-3 Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 8.74 MB

Bacterial/bacteriophage enumeration bioinformatics workshop for BM214 (Being a Biomolecular Scientist 2)

Home Page: https://sipbs-compbiol.github.io/BM214-Workshop-3/

License: Creative Commons Attribution Share Alike 4.0 International

TeX 0.08% Jupyter Notebook 88.71% JavaScript 6.91% HTML 0.06% CSS 0.53% Lua 3.72%

bm214-workshop-3's Introduction

README.md BM214-Workshop-3

This repository contains the Quarto book for BM214 (Being a Biomolecular Scientist) Workshop 3:

Notes on delivery

Individualised student data

In this workshop, students are assigned to sessions (AM or PM) and groups ("lab bays"), and are given individualised IDs. Each student gets a potentially unique sequence and data file, as indicated below.

% tree sequences                                                                                                           [4:20:46]
sequences
├── AM_Bay_01
│   ├── AM_Bay_01_CD.fasta
│   ├── AM_Bay_01_FD.fasta
│   ├── AM_Bay_01_TB.fasta
│   └── AM_Bay_01_TF.fasta
├── AM_Bay_02
│   ├── AM_Bay_02_CD.fasta
│   ├── AM_Bay_02_FD.fasta
│   ├── AM_Bay_02_TB.fasta
│   └── AM_Bay_02_TF.fasta
[...]
% tree data                                                                                                                [4:20:53]
data
├── AM_Bay_01
│   ├── AM_Bay_01_01.csv
│   ├── AM_Bay_01_02.csv
│   ├── AM_Bay_01_03.csv
│   └── AM_Bay_01_04.csv
├── AM_Bay_02
│   ├── AM_Bay_02_01.csv
│   ├── AM_Bay_02_02.csv
│   ├── AM_Bay_02_03.csv
│   └── AM_Bay_02_04.csv

These data files are generated using the Jupyter notebooks provided in the scripts subdirectory.

  • generate_16S_datasets.ipynb: generates data in assets/sequences for each lab bay (separate subdirectories) - these are random choices from example 16S marker sequences for four bacteria; each of the four people in a lab bay gets one of the organisms.
  • generate_reporter_data.ipynb: generates data in assets/data/reporter_curves.csv - these are randomly-generated Beta distribution curves which we claim are reporter absorbance curves, in response to variation in concentration of an antibiotic.
  • generate_yeast_growth_data.ipynb: generates data in assets/data/ for each lab bay (separate subdirectories) - these are randomly-generated logistic curves, modelling measurement noise and variation in parameters for the curve (within a constrained range) that we claim are OD values for yeast growth under various conditions.

Generating new datasets

To generate new datasets for each year's presentation:

  1. Run each of the Jupyter notebook files. These will change the data in-place.
  2. Stage the modified files (git add assets)
  3. Commit the changes (git commit) with a suitable commit message
  4. Push the changes (git push origin)

Using the data with WebR

In the exercise-02_yeast.qmd and exercise-03_reporter.qmd interactive exercises we use WebR to give students experience in using R for data analysis and visualisation, while not requiring any particular setup on their own, or a university, machine.

WebR runs in a "sandboxed" form, and is unable to interact with the local filesystem or download arbitrary files to the local machine. Instead we must explicitly preload all the datasets we might need under the setup context for WebR. In exercise 3 we need only download one such file, as in the (truncated) example below:

```{webr-r}
#| context: setup

# Download reporter data
download.file('https://raw.githubusercontent.com/sipbs-compbiol/BM214-Workshop-3/main/assets/data/reporter_curves.csv', 'reporter_curves.csv')
```

We need to pass the full path to the online resource, and the file will be available within WebR as though it is a local file (reporter_curves.csv) within the sandboxed version of R running in the browser.

bm214-workshop-3's People

Contributors

widdowquinn avatar

bm214-workshop-3's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.