4 ms·
There are organisms with almost no introns, no redundancy, no CRC, no "metadata" and even overlapping genes to save space, like Giardia genome ( https://www.sc
by otherme123 4y ago
There are organisms with almost no introns, no redundancy, no CRC, no "metadata" and even overlapping genes to save space, like Giardia genome ( https://www.science.org/doi/10.1126/science.1143837 https://www.science.org/doi/10.1126/science.1143837 ). Lots of virus have all their genes encoded without introns, and almost all the genome is encoding something.
I've never seen DNA as close to a filesystem, and our current best bet on introns functions are they are used to create alternative splicing products from the same DNA chunk. I cannot identify this function in a filesystem, where you can obtain two or three different valid files from the same data just by skipping some blocks.
- pazimzadeh 4y agoWhat is CRC? Metadata is everywhere... histone modifications, glycosylation, etc..
- anonymouskimmer 4y agoCyclic redundancy check? And there is almost always basic redundancy in non-viral organisms (and many viruses) in that DNA is typically double-stranded, and most organisms have repair machinery that can rewrite across single-strand lesions using the opposite strand (this fails at double-strand lesions).
- GauntletWizard 4y agoI can - It's called COW Snapshotting. Modern filesystems like ZFS and BTRFS don't ever overwrite parts of the file that change. They abstract it away by keeping an ordered list of blocks. Snapshots are simply copies of the old list. The analogy doesn't go very far, however.
- bronson 4y agoCOW just dedupes, it doesn’t produce alternatives. Maybe a filesystem that figures out how your spreadsheet can be stored partway into an executable, with no loss to either? Yeah, this analogy doesn’t seem real helpful.
- otherme123 4y agoIf a filesystem worked like alternative splicing https://en.m.wikipedia.org/wiki/Alternative_splicing https://en.m.wikipedia.org/wiki/Alternative_splicing , you could for example store 10 different, valid and useful images using the same disk space. The filesystem would decide how to skip a block or two to give them all. A woodworker could make a better analogy: DNA is like a box of leftover wood. You can chose the "exons" and build a closet with them, a different sort would make a table. My point is we CS shouldn't feel pity for the biologist not being able to draw analogies with our field. You don't need an analogy when you are already the best at understanding the system directly. I like to explain ML to biologists as an analogy with neurons, but it only can go so far. As soon as you need to teach the details things are no longer so similar. The reverse is also true: you can explain a neuron to a CS as a ML neuron, but when you need to explain neurotransmisors in detail, the analogy doesn't work anymore.
- GauntletWizard 4y agoOkay, ZFS also does that - ZFS Deduplication keeps an index of each block by it's checksum, and when it detects a collision, it re-uses the existing block, reducing the number of copies - https://docs.oracle.com/cd/E36784_01/html/E39134/fsdedup-1.html https://docs.oracle.com/cd/E36784_01/html/E39134/fsdedup-1.h... I'm not arguing at all that the analogy is a poor fit. Just that there are several instances of that kind of technique in CS. See also: Compression algorithms that include backpointers, so that medium-sized repeated runs (like common parts of filenames or fileheaders) can be represented by saying "The next 8 bytes are the same as the 8 bytes 32 bytes ago".
- otherme123 4y agoThe whole point of an analogy is to make it easy to understand some complex idea using another simple concept. I would use instead this analogy: "alternative splicing is like having a box of Legos (exons) which you can choose in different order and quantities to get different objects (proteins)." I find it more clear than "alternative splicing is like ZFS deduplication and collision detection algorithm, where blocks can be reused if they are identical". Introns are not for space saving or for efficiency. They provide variability. Is like ZFS could give you slightly different files from what you initially save. E.g. you store feral_cat.jpg spanning a number of blocks, and then just skipping blocks you can get back: feral_cat.jpg, persian_cat.jpg, egyptian_cat.jpg, russian_cat.jpg, alien_cat.jpg, tabby_cat.jpg... You never store "persian_cat.jpg" and try to save some genome space reusing blocks. persian_cat.jpg is just a possible useful image that appears magically from the original feral_cat.jpg.