Hoe groot is het menselijk genoom?
Deze vraag wordt me vaak gesteld. Hoe groot is onze genetische code? Je weet wel… dat DNA blauwdruk ding… bestaande uit miljarden letters… A’s, G’s, C’s, T’s… aanwezig in alle van de triljoenen cellen in het menselijk lichaam… het ding dat jou tot jou maakt. Hoe groot is het eigenlijk ?
We hebben elk ~3 miljard basenparen in ons genoom, maar hoeveel opslagruimte neemt een menselijk genoom in ? Het antwoord is natuurlijk:
Het hangt ervan af.
Het hangt ervan af waar we het over hebben. Hebben we het over die enkele letterreeks in je cellen? Of de ruwe gegevens die van een genoomsequencer komen, die op elke positie veel “reads” moet hebben voor een adequate dekking, en waaraan kwaliteitsgegevens zijn gekoppeld? Of misschien hebben we het gewoon over de lijst van elke plek in je genoom waar je afwijkt van het zogenaamde “normale” referentiegenoom?
Hier zijn slechts enkele van de vele manieren om het uit te splitsen:
1. In een perfecte wereld (alleen uw 3 miljard letters): ~700 megabytes
Als je een perfecte sequentie van het menselijk genoom had (zonder technologische gebreken om je zorgen over te maken, en dus niet nodig om informatie over de kwaliteit van de gegevens samen met de sequentie op te nemen), dan zou alles wat je nodig hebt is de reeks letters (A, C, G en T) die deel uitmaken van een streng van het menselijk genoom, en het antwoord zou ongeveer 700 megabytes zijn. Het zou er ongeveer zo uitzien:
AGCCCCTCAGGAGTCCGGCCACATGGAAACTCCTCATTCCGGAGGTCAGTCAGATTTACCCTGGCACCTTGGCGTCGTCGTCCGGCAAACTAAGAACGTCGTCTAAATGACTTCTTAAAGTAGAATAGCGTTCTTCTCTCCTTCCAGCCTCCGAAAAACTCGGACCAAAGATCAGGCTTCCGTTCTTCGCTAGTGATGAGACTGCGCCTTCGTACAACCAATTTAGGTGAGTTCAAACTTCAGGGTCCAGGCTGATAATCTACTTACCCAAACATAG
Om de wiskunde te doen, elk basenpaar heeft 2 bits nodig (je kunt 00, 01, 10 en 11 gebruiken voor T, G, C en A). Vermenigvuldig dat met het aantal basenparen in het menselijk genoom, en je krijgt 2 * 3 miljard = 6.000.000.000 bits. En vergeet niet dat je van bits naar bytes moet gaan om tot een antwoord in megabytes te komen. Een bit is slechts een enkele eenheid digitale informatie, maar een byte is een opeenvolging van bits (meestal 8). En omdat computers in binaire wiskunde werken, is 1 kilobyte = 1024 (d.w.z. 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 = 1024). 1 gigabyte = 1024 megabytes = 1048576 kilobytes = 1073741824 bytes. Dus je neemt de 5.800.000.000 bits en deelt die door 8 om 750.000.000 bytes te krijgen. Deel dat door 1024 en je krijgt 732.422 kilobytes. Deel het nog eens door 1024 en je houdt 715 megabytes over. Yup, het zou zo ongeveer op een CD-rom passen, niet dat iemand die dingen nog gebruikt.
2. In de echte wereld, zo uit de genoomsequencer: ~200 gigabyte
In werkelijkheid moet je, om een heel menselijk genoom te sequencen, een heleboel korte “reads” genereren (~100 baseparen, afhankelijk van het platform) en die vervolgens “aligneren” aan het referentiegenoom. Dit wordt ook wel dekking genoemd. Bijvoorbeeld, een volledig genoom gesequeneerd met 30x dekking betekent dat, gemiddeld, elke base op het genoom werd gedekt door 30 sequencing reads. Illumina’s next-generation sequencers, bijvoorbeeld, kunnen miljoenen korte 100bp reads per uur produceren, en deze worden vaak opgeslagen in FASTQ. Deze bestandsformaten slaan niet alleen de letter van elke basepositie op, maar ook een heleboel andere informatie zoals de kwaliteit. Zo ziet een FASTQ-bestand eruit.
@SEQ_ID
GATTTGGGGTTCAAAGCAGTATCGATCAAATAGTAAATCCATTTGTTCAACTCACAGTT
+
!”*((((***+))%%%++)(%%%%).1***-+*”))**55CCF>>>>>CCCCC65
Deze kwaliteitsgegevens zijn niet zo eenvoudig als ACGT, omdat er een groot aantal verschillende letters en symbolen wordt gebruikt. Dus in dit geval beschouwen we elke letter als een byte in plaats van een bit. Met behulp van wat snelle & vuile, overgesimplificeerde wiskunde, zien de cijfers er als volgt uit: Uitgaande van een menselijk genoom met een lengte van 3 miljard letters en een gemiddelde dekkingsdiepte van 30×, zouden we 90 miljard letters hebben, die ruwweg 90 gigabyte schijfruimte innemen, als we één letter aan één byte koppelen. Als we bedenken dat een typisch FASTQ-bestand zowel short-reads als kwaliteitsscores bevat, zou de totale grootte ongeveer 180 gigabyte bedragen (als we controleregels en carriage returns buiten beschouwing laten). Dat varieert sterk, maar laten we het 200 gigabyte noemen.
3. Als variantenbestand, met alleen de lijst van mutaties: ~125 megabytes
Slechts ongeveer 0,1% van het genoom verschilt tussen individuen, wat neerkomt op ongeveer 3 miljoen varianten (aka mutaties) in het gemiddelde menselijke genoom. Dit betekent dat we een “diff file” kunnen maken van alleen die plaatsen waar een bepaald individu verschilt van het normale “referentie” genoom. In de praktijk wordt dit meestal gedaan in een .VCF bestandsformaat, dat er in zijn eenvoudigste vorm ongeveer zo uitziet:
chr20 14370 rs6054257 G A 29 PASS 0|0
Waarbij elke lijn ~45 bytes gebruikt, en je vermenigvuldigt dit met de ~3 miljoen varianten in een gegeven genoom, en je krijgt een .VCF bestandsgrootte van ongeveer 135.000.000 bytes of ~125 megabytes.
Daar heb je het dus. Een paar van de vele manieren om naar de opslaggrootte van het genoom te kijken. Praktisch gezien is #1 niet echt van toepassing, want je krijgt nooit een perfecte string van een volledig menselijk genoom. #3 is het meest efficiënt, en is wat mensen vaak doorgeven en verwerken voor de downstream analyse en interpreatie. Maar #2 is de manier waarop genomen gewoonlijk worden bewaard, want sequencing is nog altijd een onvolmaakte wetenschap, net als variant calling. Dus je moet echt vasthouden aan de ruwe sequencing leest en de bijbehorende kwaliteitsgegevens, voor toekomstige tweaking van de data-analyse parameters indien nodig.
Wat dit betekent is dat we allemaal beter schrap te zetten voor een grote vloed van genomische gegevens. De gegevens van het 1000-genomenproject, bijvoorbeeld, zijn nu beschikbaar in de AWS-cloud en bestaan uit >200 terabytes voor de 1700 deelnemers. Aangezien de kosten van whole genome sequencing blijven dalen, worden er steeds grotere sequencingstudies uitgerold. Denk maar aan de opslagbehoeften van dit 10K Autism Genome project, of het UK’s 100k Genome project….. of zelfs… gasp… dit Million Human Genomes project. De computationele eisen zijn duizelingwekkend, en de grote vraag is: Kan de gegevensanalyse het bijhouden, en wat zullen we leren van deze vloed van A’s, T’s, G’s en C’s….?