Imagine you have a string of length 3 billion made by randomly choosing from 4 characters. Like this
dna = ''.join(random.choices('atgc', weights=[30.9, 29.4, 19.9, 19.8], k=3_234_830_000))
you get to randomly sample 1 billion[3, page 7] overlapping substrings of length 200[3, page 7] with .1% of the characters randomly changed[3, page 8]. Trying to find the original string from this is technically an undecidable problem. If there's a sequence 400 characters long that repeats multiple times, how could you know if it repeats 5 times or 50 times? (this would be unlikely to happen with random.choices() but DNA isn't random). This is called sequence alignment and it's one of the hard problems in bioinformatics[4].[0] https://docs.python.org/3/library/random.html random.choices() was added in Python 3.6
[1] http://www.biology-pages.info/B/BasePairing.html source for `weights`
[2] https://en.wikipedia.org/wiki/Human_genome source for 3_234_830_000 (python ignores underscores in numbers)
[3] http://sci-hub.io/10.1111/j.1755-0998.2011.03024.x illumina is the most popular producer of genome sequencers
The alternative technologies, sometimes called third generation sequencing are nanopore based (PacBio and Oxford Nanopore technologies), they work by pulling long DNA molecules through tiny holes and read the sequence directly, more specifically, they read a couple of base pairs at a time and infer the sequence from the current between the sides of the pores. This is very error prone and the (around 1 in 10?) random errors are corrected by sequencing every part of the genomic area of interest multiple times.
To be clear, most sequencing experiments (in research and in the hospital) are designed to look at variations we can understand and thus the "words" (we call them reads) are aligned against "the" reference genome (as opposed to assembling de novo), which is the genome for as far as we understand it (the last official version is from 2013 but is updated regularly with new parts). Typically, a significant portion of the reads a sequencer produces cannot be mapped to the reference, probably as a results of unmapped regions indeed or perhaps deviations between the patient and the reference genome, this is of course even worse in patients with tumors with unstable genomes. This field still has a lot of challenges to tackle.
Nope, not randomly. Having a random error profile is the best case. In reality these machines suffer from systematic errors, especially the Illumina ones. That means that they always fail to read through certain pieces of DNA, or make the same error every time.
On a tablet, I highlight and pull down. It grabs it all and I can then read it. It is a very awful workaround that impacts the site's usability.
The other thing this article doesnt mention is the idea of coverage. Its not like a jigsaw puzzle with one copy of each tile-- every time a whole genome is sequenced it is done so 30 times over to ensure that the pieces are correct.
Finally, Read length varies from technology to technology. This one claims average 10k base pairs.
http://www.pacb.com/smrt-science/smrt-sequencing/read-length...
I realize that the magnitude of this natural shuffling, even during meiosis, is nowhere near like what happens when sequencing DNA[2], but (assuming I'm correct) it's helpful to realize that this problem of deciphering the "correct" sequence reflects something intrinsic to the operation of the machinery; that this applies even when the relevant macro sequences are all genes that directly code for phenotypes as traditionally understood; and that gene sequencing works precisely because many (most?) genes are relatively tolerant to being spliced in at random locations in the strand. (Which is different than saying all locations--or even any two locations--produce identical results.)
[1] I refrain from saying "complete set of genes" because I imagine for some genes location at both the micro- and macro-scale is everything. AFAIU the term gene is sometimes better understood as more a description of the result of possibly non-local sequences which maintain reproductive affinity than an identification of a specifically adjoining sequence of base pairs.
[2] Or is it?
This is correct, and is a reason why genome informatics has been moving away from representing the genome as a single linear "reference" sequence of 3 billion nucleotides, and towards a graph-based model: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5411762/.
So you have two problems. The first is, you never read anything longer than say 1k bp ever. The second is say your nuclease cuts at GAATTC. You will have great difficulty counting runs of that sequence.
this is the technique https://en.wikipedia.org/wiki/Polyacrylamide_gel_electrophor...
The other takeaway I had, as someone who came to this with a CS and stats background, is that chemistry sucks. None of it is deterministic, and when people say some chemistry does X, what they really mean is it generally does that. Most of the time. Subject to conditions and a reasonable amount of stochasticity. We're built on a pile of random muck hacked together.
And yes, the chemistry that biology takes advantage of means embracing uncertainty in the world. It's all thermodynamic chances, with lots of non-linearity added on top of it all.
There’s even evidence that this is true, for who knows their audience better than them? You, while making up a a portion of the audience, are not the main portion, or so it seems, unless they don’t understand their audience that well after all... although that seems pretty unlikely
> The reason for these gaps is that DNA sequencing machines don’t read genomes like humans read books, from the first word to the last. Instead, they first randomly chop up copies of the 23 pairs of chromosomes, which total some 3 billion “letters,” so the machines aren’t overwhelmed. The resulting chunks contain from 1,000 letters (during the Human Genome Project) to a few hundred (in today’s more advanced sequencing machines). The chunks overlap. Computers match up the overlaps, assembling the chunks into the correct sequence.
> That’s between difficult and impossible to do if the chunks contain lots of repetitive segments, such as TTAATATTAATATTAATA, or TTAATA three times. “The problem is, when you have the same exact words, it’s hard to assemble,” said Lander, just as if jigsaw puzzle pieces show the same exact blue sky.
> In 2004, the genome project reported that there were 341 gaps in the sequence. Most of the gaps — 250 — are in the main part of each chromosome, where genes make the proteins that life runs on. These gaps are tiny. Only a few gaps — 33 at last count — lie in or near each chromosome’s centromere (where the two parts of a chromosome connect) and telomeres (the caps at the end of chromosomes), but these 33 are 10 times as long in total as the 250 gaps.
I recommend reading HN user eggie's comments on this from last week.
https://news.ycombinator.com/item?id=15482439 https://news.ycombinator.com/item?id=15483462