How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it PCR verification with gel electrophoresis Updated 2025-07-16
For this reason, it is wise to verify that certain steps are correct whenever possible.
Gel electrophoresis separates molecules by their charge-to-mass ratio. It is one of those ultra common lab procedures!
Since we know that we amplified the 16S regions which we know the rough size of (there might be a bit of variability across species, but not that much), we were expecting to see a big band at that size.
And that is exactly what we saw!
First we had to prepare the gel, put the gel comb, and pipette the samples into wells present in the gel:
To see the DNA, we added ethidium bromide to the samples, which is a substance that that both binds to DNA and is fluorescent.
Because it interacts heavily with DNA, ethidium bromide is a mutagen, and the biology people sure did treat the dedicated electrophoresis bench area with respect! Figure 4. "Gel electrophoresis dedicated bench area to prevent ethidium bromide contamination.".
Gel electrophoresis dedicated waste bin for centrifuge tubes and pipette tips contaminated with ethidium bromide.
Source. The UV transilluminator we used to shoot UV light into the gel was the Fisher Scientific UVP LM-26E Benchtop 2UV Transilluminator. The fluorescent substance then emitted a light we can see.
As barely seen at Figure 8. "Fischer Scientific UVP LM-26E Benchtop 2UV Transilluminator illuminated gel." due to bad photo quality due to lack of light, there is one strong green line, which compared to the ladder matches our expected 16S length. What we saw it with the naked eyes was very clear however.
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it PCR Updated 2025-07-16
More generic PCR information at: Section "Polymerase chain reaction".
Because it is considered the less interesting step, and because it takes quite some time, this step was done by the event organizers between the two event days, so participants did not get to take many photos.
PCR protocols are very standard it seems, all that biologists need to know to reproduce is the time and temperature of each step.
This process used a Marshal Scientific MJ Research PTC-200 Thermal Cycler:
We added PCR primers for regions that surround the 16S DNA. The primers are just bought from a vendor, and we used well known regions are called 27F and 1492R. Here is a paper that analyzes other choices: academic.oup.com/femsle/article/221/2/299/630719 (archive) "Evaluation of primers and PCR conditions for the analysis of 16S rRNA genes from a natural environment" by Yuichi Hongoh, Hiroe Yuzawa, Moriya Ohkuma, Toshiaki Kudo (2003)
One cool thing about the PCR is that we can also add a known barcode at the end of each primer as shown at Code 1. "PCR diagram".
This means that we bought a few different versions of our 27F/1492R primers, each with a different small DNA tag attached directly to them in addition to the matching sequence.
This way, we were able to:
- use a different barcode for samples collected from different locations. This means we
- did PCR separately for each one of them
- for each PCR run, used a different set of primers, each with a different tag
- the primer is still able to attach, and then the tag just gets amplified with the rest of everything!
- sequence them all in one go
- then just from the sequencing output the barcode to determine where each sequence came from!
Input: Bacterial DNA (a little bit)
... --- 27S --- 16S --- 1492R --- ...
|||
|||
vvv
Output: PCR output (a lot of)
Barcode --- 27S --- 16S --- 1492RCode 1.
PCR diagram
. Finally, after purification, we used the Qiagen QIAquick PCR Purification Kit protocol to purify the generated from unwanted PCR byproducts.
Performing arts Updated 2025-09-09
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Fisher Scientific UVP LM-26E Benchtop 2UV Transilluminator Updated 2025-07-16
www.bidspotter.com/en-us/auction-catalogues/bscsur/catalogue-id-bscsur10011/lot-c6605b41-1a14-40e5-a255-a5c5000866e0 (archive) Cannot exact same product on official website, but here is a similar one: www.fishersci.co.uk/shop/products/lm-26-2uv-transilluminator/12382038 (archive).
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Experiment background Updated 2025-07-16
PuntSeq is a side project led by a few University of Cambridge PhDs that aims to determine which bacteria are present in the River Cam.
In July 2019, the PuntSeq team got together with the awesome Cambridge Biomakespace, an awesome biology makerspace open to all, to create a two day science outreach activity showing their procedures.
The data collected in this experiment, together with other collection sessions done by the organizers actually led to a publication on eLife: elifesciences.org/articles/61504 "Freshwater monitoring by nanopore sequencing" by Lara Urban et al. (2021), so it is awesome to see that were are actual being part of "real science".
Ciro knows nothing about biology, but since he is very curious about it, he jumped at this opportunity, and decided to document things as well as his limited knowledge would allow.
All participants chipped in some money to help cover the experiment's costs. Ciro suspects that this activity was done partially to help crowdfund the experiment, but it was a worthy investment!
The impressions you get from the experiment as a software engineer will be:
- OMG, this is so labour intensive, why haven't they automated this
- OMG, this is frightening, all the 8 hours of work I've just done are present in that tiny plastic tube
- Amazing! Look at that apparatus! And the bio people are like: I've used this a million times, it's cheap and every lab has one, just work faster and don't break you piece of junk!
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Conclusions Updated 2025-07-16
- against all odds, the experiment worked and we got DNA out of the water, despite a bunch of non-bio newbs actively messing with random parts of the experiment
- PuntSeq and Biomakespace people, and all those tho do scientific outreach, are awesome!
- biology is hard
- creating insanely media rich articles like this is also hard, but the following helped enormously:
- Wikimedia Commons to store large media files out of Git
- Asciidoctor extensions to easily include those media files. The lessons learnt in this article were then an important motivation for Ciro's OurBigBook Markup, to which this article was later migrated.
- Nomacs to give Google Photos photos meaningful names and to edit people's faces out of pictures ;-)
- some scientific Wikipedia pages may or may not have been edited with better pictures during the course of writing this article
Processor (computing) Updated 2025-07-16
Program Raspberry Pi Pico W with MicroPython Updated 2025-07-26
Then there are two appraoches:
- thonny if you like clicking mouse buttons:and select the interpreter as the Pico.
pipx install thonny - ampy if you like things to just run from the CLI: How to run a MicroPython script from a file on the Raspberry Pi Pico W from the command line?
Program the Micro Bit in C Updated 2025-07-27
Official support is abysmal, very focused on MicroPython and their graphical UI.
The setup impossible to achieve as it requires setting up the Yotta, just like the impossible to setup Compile MicroPython code for Micro Bit locally on Ubuntu 22.04 with your own firmware setup.
So we just use github.com/lancaster-university/microbit-samples + github.com/carlosperate/docker-microbit-toolchain:.hex file size for the hello world was 447 kB, much better than the MicroPython hello world downloaded from the website which was about 1.8 MB!
docker pull ghcr.io/carlosperate/microbit-toolchain:latest
git clone https://github.com/lancaster-university/microbit-samples
cd microbit-samples
git checkout 285f9acfb54fce2381339164b6fe5c1a7ebd39d5
# Select a sample, builds one at a time. The default one is the hello world.
cp source/examples/hello-world/* source
# Build and flash.
docker run -v $(pwd):/home --rm ghcr.io/carlosperate/microbit-toolchain:latest yotta build
cp build/bbc-microbit-classic-gcc/source/microbit-samples-combined.hex "/media/$USER/MICROBIT/"If you try it again for a second time from a clean tree, it fails with:presumably because after Yotta died it started using GitHub as a registry... sad. When will people learn. Apparently we were at 5000 API calls per hour. But if you don't clean the tree, you will be just fine.
warning: github rate limit for anonymous requests exceeded: you must log in Maxima and minima Updated 2025-07-16
Given a function :we want to find the points of the domain of where the value of is smaller (for minima, or larger for maxima) than all other points in some neighbourhood of .
- from some space. For beginners the real numbers but more generally topological spaces should work in general
- to the real numbers
In the case of Functionals, this problem is treated under the theory of the calculus of variations.
How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it Bioinformatics Updated 2025-07-16
Because Ciro's a software engineer, and he's done enough staring in computers for a lifetime already, and he believes in the power of Git, he didn't pay much attention to this part ;-)
According to the eLife paper, the code appears to have been uploaded to: github.com/d-j-k/puntseq. TODO at least mention the key algorithms used more precisely.
Ciro can however see that it does present interesting problems!
Because it was necessary to wait for 2 days to get our data, the workshop first reused sample data from previous collections done earlier in the year to illustrate the software.
First there is some signal processing/machine learning required to do the base calling, which is not trivial in the Oxford Nanopore, since neighbouring bases can affect the signal of each other. This is mostly handled by Oxford Nanopore itself, or by hardcore programmers in the field however.
After the base calling was done, the data was analyzed using computer programs that match the sequenced 16S sequences to a database of known sequenced species.
This is of course not just a simple direct string matching problem, since like any in experiment, the DNA reads have some errors, so the program has to find the best match even though it is not exact.
The PuntSeq team would later upload the data to well known open databases so that it will be preserved forever! When ready, a link to the data would be uploaded to: www.puntseq.co.uk/data
Oxford Nanopore MinION Updated 2025-07-16
One of the sequencers made by Oxford Nanopore Technologies.
The device has had several updates since however, notably of the pore proteins which are present in the critical flow cell consumable.
Official documentation: nanoporetech.com/products/minion (archive)
The following images of the device and its peripherals were taken during the experiment: Section "How to use an Oxford Nanopore MinION to extract DNA from river water and determine which bacteria live in it".
Top view of a closed Oxford Nanopore MinION
. Source. Side view of an Oxford Nanopore MinION
. Source. Top view of an open Oxford Nanopore MinION
. Source. Oxford mathematics Moodle Updated 2025-07-16
Moodle instance of the Mathematical Institute of the University of Oxford.
Has a mixture of open access and closed access. But at least it can have open access unlike the in-house systems such as Canvas where everything is necessarily paywalled!
Sometimes things appear open but don't show any meaningful content if you are not logged in, which is annoying.
But at least it gives a clear public course list, thing that certain departments (cough Department of Physics of the University of Oxford cough).
The organization is a bit crap, when you expand e.g. C Michaelmas term it shows nothing, just a search.
The way to go is via the year year categories e.g. "Year 2022-23": courses.maths.ox.ac.uk/course/index.php?categoryid=734. Term splitting is annoying, but one can stand it.
Oxford Ionics Updated 2025-07-16
This job announcement from 2022 gives a good idea about their tech stack: web.archive.org/web/20220920114810/https://oxfordionics.bamboohr.com/jobs/view.php?id=32&source=aWQ9MTA%3D. Notably, they use ARTIQ.
Oxbotica Updated 2025-10-14
OXAM Updated 2025-07-16
This is apparently where past exam papers can be found. Paywalled of course.
This adds to the mess of having a different location for material per department. Presumably this exists because the central university authority wants to centralize examinations to have better control over degree requirements. If only they would also do the same for all materials and end the mess.
Overfitting Updated 2025-07-16
Overdetermination of Maxwell's equations Updated 2025-07-16
As seen from explicit scalar form of the Maxwell's equations, this expands to 8 equations, so the question arises if the system is over-determined because it only has 6 functions to be determined.
As explained on the Wikipedia page however, this is not the case, because if the first two equations hold for the initial condition, then the othe six equations imply that they also hold for all time, so they can be essentially omitted.
It is also worth noting that the first two equations don't involve time derivatives. Therefore, they can be seen as spacial constraints.
TODO: the electric field and magnetic field can be expressed in terms of the electric potential and magnetic vector potential. So then we only need 4 variables?
OurBigBook Library Updated 2025-07-16
There are unlisted articles, also show them or only show them.

















