Hvor stort er det menneskelige genom?
Jeg bliver ofte stillet dette spørgsmål. Hvor stor er vores genetiske kode? Du ved … den der DNA-blåskrift … som består af milliarder af bogstaver … A’er, G’er, C’er, T’er … som findes i alle de TRILLIONER af celler i menneskekroppen … det, der gør dig til dig selv. Hvor stort er det egentlig?
Vi har hver især ~3 milliarder basepar i vores genomer, men hvor meget lagerplads fylder et menneskeligt genom? Svaret er naturligvis:
Det kommer an på.
Det kommer an på, hvad vi taler om. Taler vi om den enkelte bogstavstreng inde i dine celler? Eller de rådata, der kommer fra en genom-sequencer, som skal have mange “læsninger” på hver position for at opnå tilstrækkelig dækning, og som har kvalitetsdata tilknyttet? Eller måske taler vi bare om listen over alle de steder i dit genom, hvor du adskiller dig fra det såkaldte “normale” referencegenom?
Her er blot nogle få af de mange måder at opdele det på:
1. I en perfekt verden (kun dine 3 milliarder bogstaver): ~700 megabyte
Hvis du havde en perfekt sekvens af det menneskelige genom (uden teknologiske fejl at bekymre dig om, og derfor ikke behøver at inkludere oplysninger om datakvalitet sammen med sekvensen), så ville du kun have brug for den række af bogstaver (A, C, G og T), som udgør en streng af det menneskelige genom, og svaret ville være ca. 700 megabyte. Det ville se nogenlunde sådan her ud:
AGCCCCTCCTCAGGAGTCCGGCCACATGGAAACTCCTCATTCATTCCAGGGAGGTCAGTCAGATTCAGATTTACCCTCTCACCTCCTTGGCGTCGCGTCGTCCGGCGGCGGCAAACTAACTAAGAACACGTCGTCGTCTAAATCTAAATGACTTCTTCTTAAAGTAAAGTAGAATAGCGTGGTGTTCTCTCTCCTCCTTCCAGCCTCCTCCTGAAAAACTCACTCGACCAAAGATCAGGCTCTTGTCTCTCTGTTCTTCTTCGCGCTGCTGCTGCTGTTGTTCTACTGTACAACCAACCAATTTAGGTGAGGTGAGTTCAAACTCAAACTTCAGGAGGGTCAGGAGAGGCTCTATAGATAATCTACTCTACTTACCTACCCAACAACATACATAG
For at gøre regnestykket, hvert basepar tager 2 bits (du kan bruge 00, 01, 10 og 11 for T, G, C og A). Multiplicer dette med antallet af basepar i det menneskelige genom, og du får 2 * 3 milliarder = 6.000.000.000.000 bit. Og husk, at man skal gå fra bits til bytes for at få et svar i megabytes. En bit er blot en enkelt enhed af digital information, men en byte er en sekvens af bits (normalt 8). Og da computere arbejder med binær matematik, er 1 kilobyte = 1024 (dvs. 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 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. Man tager altså de 5 800 000 000 000 bits og dividerer dem med 8 for at få 750 000 000 000 bytes. Divider det med 1024 og du får 732.422 kilobytes. Divider det endnu en gang med 1024, og du får 715 megabyte tilbage. Jep, det kunne næsten passe på en cd-rom, men der er ikke nogen, der bruger den slags længere.
2. I den virkelige verden, lige fra genomsekvenseren: ~200 gigabyte
For at sekventere et helt menneskeligt genom skal man i virkeligheden generere en masse korte “læsninger” (~100 basepar, afhængigt af platformen) og derefter “tilpasse” dem til referencegenomet. Dette er også kendt som dækning. For eksempel betyder et helt genom, der er sekventeret med 30x dækning, at hver base på genomet i gennemsnit blev dækket af 30 sekventeringsreads. Illuminas næste generations sekvenseringsmaskiner kan f.eks. producere millioner af korte 100bp-reads pr. time, og disse lagres ofte i FASTQ. Disse filformater gemmer ikke kun bogstavet for hver baseposition, men også en masse andre oplysninger, f.eks. om kvalitet. Sådan ser en FASTQ-fil ud:
@SEQ_ID
GATTTGGGGGGTTCAAAGAGCAGTATTATCGATCAAATCAAATAGTAAATCCATCCATTTGTTCAACTCACACACAGTTT
+
!”*((((***+))%%%%++)(%%%%).1***-+*”’))**55CCF>>>>>>>>CCCCCCCCC65
Disse kvalitetsdata er ikke så enkle som ACGT, fordi der er en række forskellige bogstaver og symboler, der anvendes. Så i dette tilfælde betragter vi hvert bogstav som en byte i stedet for en bit. Ved hjælp af lidt hurtig & beskidt, oversimplificeret matematik ser tallene således ud: Hvis vi antager, at det menneskelige genom har en længde på 3 milliarder bogstaver og en gennemsnitlig dækningsdybde på 30×, vil vi have 90 milliarder bogstaver, som groft sagt optager 90 gigabyte diskplads, hvis vi kortlægger et tegn til en byte. Hvis man tager i betragtning, at en typisk FASTQ-fil indeholder både short-reads og kvalitetsscorer, vil den samlede størrelse være ca. 180 gigabyte (hvis man ser bort fra kontrollinjer og vognretur). Det varierer meget, men lad os kalde det 200 gigabyte.
3. Som en variantfil, med kun listen over mutationer: ~125 megabyte
Kun ca. 0,1 % af genomet er forskelligt fra individ til individ, hvilket svarer til ca. 3 millioner varianter (alias mutationer) i det gennemsnitlige menneskelige genom. Det betyder, at vi kan lave en “diff-fil” med kun de steder, hvor et givet individ adskiller sig fra det normale “reference”-genom. I praksis gøres dette normalt i et .VCF-filformat, som i sit enkleste format ser nogenlunde sådan ud:
chr20 14370 rs6054257 G A 29 PASS 0|0
Hvor hver linje bruger ~45 bytes, og man gange dette med de ~3 millioner varianter i et givet genom, og man får en .VCF-filstørrelse på ca. 135.000.000 bytes eller ~125 megabyte.
Så der har du det. Et par af de mange måder at se på genomets lagerstørrelse på. Praktisk set gælder nr. 1 ikke rigtig, fordi man aldrig får en perfekt streng af et helt menneskeligt genom. #3 er den mest effektive, og det er det, som folk ofte sender rundt og beskæftiger sig med i forbindelse med den efterfølgende analyse og interpretering. Men #2 er den måde, genomer normalt opbevares på, fordi sekventering stadig er en ufuldkommen videnskab, ligesom variant calling er en ufuldkommen videnskab. Så man er virkelig nødt til at holde fast i de rå sekventeringslæsninger og de tilhørende kvalitetsdata med henblik på fremtidig justering af dataanalyseparametrene, hvis det er nødvendigt.
Det betyder, at vi alle hellere må forberede os på en større strøm af genomiske data. Dataene fra 1000 genomes-projektet er f.eks. nu tilgængelige i AWS-skyen og består af >200 terabyte for de 1700 deltagere. Efterhånden som omkostningerne ved sekventering af hele genomer falder, bliver større og større sekventeringsundersøgelser rullet ud. Tænk blot på lagerbehovet for dette 10K Autism Genome-projekt eller Storbritanniens 100k Genome-projekt….. eller endda … gisp … dette Million Human Genomes-projekt. De beregningsmæssige krav er svimlende, og det store spørgsmål er: Kan dataanalysen følge med, og hvad vil vi lære af denne strøm af A’er, T’er, G’er og C’er….?