Detektion av SNP i DNA-sekvenser by Deniz Kaya, Ingemar Schwind och Anna Stenquist Internrapport nr. 2003:6 UPPSALA UNIVERSITET Inst. för informationsteknologi Avd. för teknisk databehandling UPPSALA UNIVERSITY Information Technology Dept. of Scientific Computing
Sammanfattning Projektets mνal är att hitta en bättre metod att detektera SNPar(Single Nucleotide Polymorphism, uttalas 'snipp'). En SNP är en position där DNA-sekvensen skiljer sig νat pνa samma position i ett kromosompar 1. SNParna ska hittas i kromatogram som är utdata frνan sekvenseringsmaskinerna. För att finna SNP har karakteristiska drag som är unika för SNP tagits fram. Dessa parametrar undersöks sedan för varje topp i kromatogrammen. För att en topp ska klassas som SNP har det antagits att alla dessa parametrar ska vara uppfyllda. Topparna detekteras med samma metod som finns implementerad i programmet LifeTrace [4]. Den färdiga metoden finner cirka 90% av SNParna. Tyvärr markerar den ocksνa SNPar pνa positioner där det inte är SNPar. Det blir ungefär 1,4 icke SNP per SNP som klassas som SNP. 1 Hos människan är DNA-strängarna lagrade i kromosomer. Kromosomer förekommer i par. Kromosomerna i ett par innehνaller ungefär samma DNA-sekvenser (undantag: könskromosomer). 1
INNEHνALL INNEHνALL Innehνall 1 Inledning 3 1.1 Bakgrund............................... 3 1.2 Kromatogram............................. 3 1.3 SNP.................................. 4 1.4 Problemformulering......................... 4 2 Metodik 4 2.1 Hitta topparna............................ 4 2.2 Bassekvensering............................ 5 2.3 SNPdetektion............................. 5 3 Teori 5 3.1 Toppdetektion............................ 5 3.2 Bassekvensering............................ 6 3.3 SNPdetektion............................. 6 4 Utförande 7 5 Resultat 11 6 Utvärdering av resultat 13 7 Tänkbara förbättringar 13 8 Tack 14 2
1 INLEDNING 1 Inledning 1.1 Bakgrund DNA är en förkortning av deoxyribonucleic acid, en sammansättning av de-borttaget, -oxi- syre, -ribo- ribos och nukleinsyra. Det vill säga, en nukleinsyra som byggs upp av en lνang kedja av ribos-molekyler som fνatt en syreatom borttagen. DNA utgör genomet hos alla kända organismer och även vissa virus. De fyra olika baserna som en DNA-sekvens är uppbyggd av är A(Adenin), C(Cytosin), G(Guanin) ocht(tymin). Idag är DNA-sekvensering en helt automatiserad process som utförs av maskiner exempelvis MegaBace och ABI. Processen bygger pνa att kopior skapas av den DNA-sträng som ska undersökas. Dessa kopior har egenskaperna att de börjar med samma sekvens men är av slumpvisa längder och är märkta med en fluoroserande flagga som absorberar ljus. Flaggan är olikaför olika strängar men alla strängar som slutar med samma bas har samma flagga. För att undersöka DNA-strängarna används elektrofores. I elektrofores fνar molekyler vandra genom en gel i ett elektriskt fält. Det sker dνa en separation mellan molekylerna eftersom molekyler med hög laddning vandrar snabbare än de med lνag [4]. En längre DNA-molekyl har en högre laddning. Pνa en plats i gelen belyses de förbivandrande molekylerna och intensiteten för varje bas sparas i ett kromatogram (figur 1). Topparna i kromatogrammet motsvarar en bas i DNA-strängen. DNA-sekvensen kan läsas av genom att titta pνa ordningen pνa topparna i kromatogrammet. 1.2 Kromatogram Figur 1: Ett kromatogram är en graf med 4 kurvor. Kurvorna innehνaller intensiteten för respektive bas. Ur sekvensieringsmaskinen fνas kromatogram. Ett kromatogram är en graf med fyra kurvor, en för varje bas. Kurvorna innehνaller intensiteten för respektive bas vid en given tidpunkt. Eftersom DNA-strängar vandrar olika fort beroende pνa hur lνanga de är motsvarar en viss position i tiden en position i genomet. I ett kromatogram antas topparna vara normalfördelade. Ofta tas tvνa kromatogram fram när en DNA-sekvens ska bestämmas, en för varje DNA-sträng. Detta görs för att fνa högre nogrannhet. Kromatogrammet kan visualiseras tvνadimensionellt där x- axeln representerar positionen i strängen och y-axeln representerar motsvarande intensitet, (figur 1). 3
2 METODIK 1.3 SNP 1.3 SNP En SNP är en plats i genomet där det sitter tvνa olika baser pνa samma plats i de olika kromosomerna. Detta händer ungefär en gνang pνa tusen baser. I figur 2 visas hur det kan se ut i kromatogrammet vid en SNP position i DNA-sekvensen. Vad som gör SNParna intressanta är att de kan fungera som markörer för genetiskt betingade sjukdomar som t.ex. schizofreni, sjuklig fetma och alkoholism. 1.4 Problemformulering Ett problem för forskare är att de program som används idag inte detekterar SNPar med tillräckligt hög precision. En vanligt förekommande programvara är PolyPhred [3] som bνade missar och markerar SNPar där de inte ska vara. Därför krävs en nogrann visuell studie av kromatogrammet för att en SNPdetektion ska kunna fastställas. Projektets mνal är att finna en bättre metod att detektera SNP. Figur 2: Position 1933 är en SNP. En SNP bestνar av tvνa toppar som har halva topphöjden jämfört med intilligande toppar. 2 Metodik Detektering av SNP kan delas in i tre deluppgifter: 2.1 Hitta topparna En bas i genomet kommer att se ut som en topp i kromatogrammet. Det är lämpligt att börja med att hitta positionerna för topparna. Metoden för toppdetektion som implementerats är samma som används i programmet Lifetrace [4]. 4
3 TEORI 2.2 Bassekvensering 2.2 Bassekvensering Mνalet med bassekvenseringen är att bestämma vilken bas som sitter i vilken position. 2.3 SNPdetektion När positionerna för baserna är kända undersöks varje bas för att kontrollera om det är en SNP eller inte. Baserna klassas nu med hjälp av statistik pνa dess karaktäristiska egenskaper som enkelbas eller SNP. 3 Teori 3.1 Toppdetektion Positionerna för baserna detekteras med hjälp av metoden som finns implementerad i programvaran LifeTrace [4]. Kurvorna bearbetas sνa att de blir spetsigare för att lättare kunna hitta positionen för toppen. I varje punkt undersöks hur topplik kurvan är genom att titta pνakorrelationen mellan kurvan i ett par punkter och en gausskurva (ekvation 1 och 2). Kromatogrammet finns sparat i en matris T där varje rad motsvarar en bas. r(bas; pos) = cov(t (bas; j); NF) p var(t (bas; j))var(nf) j = pos 3;pos 2;:::;pos+3 (1) NF(i) = 1 p 2ßff e 1 2 ( i ff )2 i = 3; 2;:::;3 (2) Standardavvikelsen ff i formeln för gausskurvan NF sätts till 3,5. Observera att NF endast motsvarar toppen av en gausskurva eftersom det är den man vill hitta. Topplika regioner kommer att fνa en korrelation nära 1, monotona regioner kommer att fνa en korrelation nära 0 och konkava regioner kommer att fνa en korrelation nära -1. Korrelationen skalas om sνa att värdet kommer att ligga mellan 0 och 1. (r(t [bas; postion];nf)+1) R[bas; position]= 2 Korrelationsvärdena multipliceras med kurvornas orginalvärden. (3) f(bas; position) =R[bas; position] Λ T [bas; position] (4) Pνa detta sätt straffas icke topplika regioner och kurvorna blir spetsigare. De fyra kurvorna kombineras nu till en kurva. Detta ges med hjälp av ekvation. LT (position) = 4 s X bas f 4 (bas; position) (5) 5
3 TEORI 3.2 Bassekvensering LT undersöks för att hitta toppostionerna(se figur 3). I princip är LT maxvärdet av varje position i f. Det beror pνa att P f 4 ß max(f) 4 om ett f-värde är mycket större än de andra (detta gäller inte för SNPar). Topparna hittas genom att hitta nollställen till derivatan av LT. Figur 3: LT tillsammans med ett kromatogram. Här syns att LT är spetsigare än intensitetskurvorna i kromatogrammet. 3.2 Bassekvensering För att bestämma bassekvensen beräknas först arean och Sför varje topposition j. Arean beräknas i ett fönster om sju punkter. A(bas; j) = j+3 X i=j 3 S bas;j = R(bas; j) Λ A(bas; j)= T (bas; i) (6) 4X i=1 A(i; j) (7) Basen vid toppositionen sätts till den bas som har störst värde pνa S. Men om arean för den basen är den tredje eller fjärde i storlek sätts den basen till N, som betyder nukleotid. Dνa antas basen obestämbar. 3.3 SNPdetektion En stor del av arbetet har gνatt νat till att hitta de särdrag som karakteriserar SNP. Ett problem är att hitta särdrag som bara karakteriserar SNP och inte andra toppar. Ett annat problem är att det finns mνanga toppar som ser ut som SNP men som inte är det utan beror pνa störningar frνan omgivande toppar. En ideal SNP har ett par tydliga särdrag: 6
4 UTFÖRANDE ffl Den bestνar av tvνa toppar som är ungefär lika höga. ffl Intensiteten för de tvνa topparna var för sig är ungefär hälften sνa hög som intensiteten för närliggande toppar. ffl De tvνa topparna är i fas med varandra, det vill säga centrerade runt samma x-position. ffl Topparna ska ligga i fas med övriga toppar, det vill säga toppavstνandet ska vara konstant. Verkligheten är dock aldrig sνa enkel. Topparna i kromatogrammen är ofta olika höga vilket gör det svνart att veta vad som är halva topphöjden. Dessutom behöver inte topparna vara centrerade kring samma x-position, utan de kan vara nνagot ur fas med varandra. För att hitta SNParna mνaste de parametrar de karakteriseras av hittas. Följande parametrar av betydelse har hittats: ffl Differensen mellan de tvνa största areorna dividerat med den totala arean av alla baser vid en topp. I texten kommer det att refereras till denna parameter som areakvot. ffl Avstνandet mellan de tvνa topparna som ligger runt en topp. Värdet delas med medelvärdet av detta avstνand för hela kromatogrammet och kvadreras. Parametern kallas toppdist. ffl Kvoten mellan de tvνa största S-värdena (ekvation 7) (S-kvot) för varje topp. ffl Kvoten av differensen mellan de tvνa största värdena pνa f och det största värdet pνa f för varje topp. Denna parameter kallas höjdskillnad. ffl max(f ) LT max(f ) fmlt. I texten kommer det att refereras till denna parameter som 4 Utförande All beräkning sker i programmeringssprνaket MATLAB. Först beräknas r, R, f och LT (ekvation 1-5). Nästa steg är att utifrνan LT hitta topparna. Därefter beräknas arean och S och basordningen bestäms (ekvation 6-7). När alla dessa parametrar har beräknats kan de parametrar som beskrivs i avsnitt 3.3 tas fram. Genom att studera de olika parametrarna framträder karaktäristiska egenskaper för SNPar. Dessa kan användas för filtrering av toppar som inte har SNP-karakteristika (se avsnitt 3.3). Början och slutet i varje kromatogram innehνaller mest brus. Ibland kapas dessa intervall bort för hand. Nedan följer en mer detaljerad förklaring av analysen av kromatogramdata med tillhörande figurer: 7
4 UTFÖRANDE ffl För en vanlig topp blir LT ß max(f). Detta beror pνaatt P f 4 ß max(f) 4 om en topp är mycket större än de andra. För en SNP stämmer inte approximationerna eftersom ingen topp dominerar. Därför är fmlt ungefär lika med noll för en vanlig topp, men ett lägre värde fνas för en SNP. En graf av fmlt för filen ex8-143rev finns i figur 4. I figuren urskiljs tvνalokala minima. Lokala minima av fmlt sparas i en indexvektor index1. Figur 4: Graf av fmlt. Här framträder tvνa lokala minima tydligt. Det till vänster är en SNP. ffl Areakvot kommer att vara lνag för SNPar eftersom skillnaden mellan areorna (topphöjderna) är lνag för SNPar. I figur 4 framträder areakvot för vissa toppositioner som lokala minima. Positionen för det minsta värdet av sju pνa varandra följande värden i areakvot sparas i en indexvektor index2. Figur 5: Graf av areakvot. Här framträder mνanga lokala minima. ffl Även ur S-kvot tas det lokala maxima fram och sparas i index-vektorn index3. S-värdet (ekvation 7) säger nνagot om hur topplik och hur stor area en kurva har runt en position. Kromatogrammen har stora S-värden för toppar och smνa för andra punkter. S-kvot kommer därför vara stor för icke SNPar och ungefär ett för SNPar. ffl Kvoten höjdskillnad är stor för en icke SNP och liten för en SNP. Vektorn index4 kommer att innehνalla positionen till maxvärden av parametern 8
4 UTFÖRANDE höjdskillnad i en omgivning av 20 toppar kring en topposition, 10 toppar till höger respektive till vänster om positionen i frνaga (figur 6). Även här framträder vissa toppar mer än andra. Figur 6: Graf av höjdskillnad. ffl En indexvektor som är av betydelse är index5. I den finns de toppositioner som har ett värde över 0.79 för parametern toppdist. Gränsen pνa 0.79 har sats efter en studie av den träningsdata som har funnits tillgänglig. ffl En sista indexvektor index6 innehνaller index till de 25 största värdena av höjdskillnad. Endast de toppar som bildar snittet av alla indexvektorer antas vara SNPar, dvs res-index = index1 index2 index3 index4 index5 index6. Figur 7 bestνar av tre grafer: fmlt, höjdskillnad och areakvot. SNP positionen markeras med en fyrkant och text. Kurvan fmlt och areakvot har kryss respektive stjärnor pνa de positioner som finns i index1 index2. Kurvan höjdskillnad har trianglar pνa de positioner som finns i res-index. Som framgνar av figuren detekteras ytterligare tvνa möjliga SNP positioner förutom den riktiga. Det krävs en parameter till för att göra ytterligare filtrering. Det finns dock ett fall dνa algoritmen fungerar perfekt pνa träningsdata förutsatt att en manuell rensning av början och slutet av kromatogrammet har gjorts (figur 8). 9
4 UTFÖRANDE Figur 7: Graf av höjdskillnad, fmlt, areakvot. Nytt-index är de positioner där bνade areakvot och fmlt har lokala minima. Res-index är de positioner där SNP markeras. Positionen för en 'riktig SNP' finns markerad i figuren. Figur 8: Samma som ovan men med ett annat kromatogram. 10
5 RESULTAT 5 Resultat Metoden hittar de flesta SNParna. Den data som har använts i tabell 1 innehνaller klassificerade SNPar 2. Data i tabell 2 innehνaller endast SNP positioner 3. Nedan följer tabeller med resultat. Filnamn Kvalitet Hittade SNP Antal felklassade icke SNP ex8-124rev p p 1 ex8-139for u u 1 ex8-142rev l l 2 ex8-143rev p p 2 ex8-146rev p p 2 ex8-16rev pp pp 0 ex8-178rev uuu uuu 1 ex8-179rev u u 3 ex8-180rev l l 2 ex8-198rev lp lp 0 ex8-210rev lu lu 1 ex8-224rev p p 0 ex8-228rev l l 1 ex8-91rev p - 0 ex8-94rev u u 0 ex8-95rev u u 2 ex8-236arev p - 0 ex8-236brev p p 2 ex8-94rev u - 1 Tabell 1: Resultat av körning för klassade SNPar. Av kvalitetsvärdena stνar l för likely, p för probable, u för unlikely. Streck betyder missad SNP. Att det ibland stνar mer än en bokstav beror pνa att ett kromatogram innehνaller flera SNPar. 2 Klassificeringen utförd av Martti Tammi pνa Karolinska Institutet. 3 Positionerna för SNParna är framtagna av Shane McCarthy pνa Karolinska Institutet. 11
5 RESULTAT Filnamn Hittade SNP Antal felklassade icke SNP Pat4R2N ja 4 Pat4F2N ja 3 CXCR1R2NPat15 ja 3 CXCR1F2NPat15 nej 1 CXCR1F2NCont13 ja 2 Pat4R7N ja 3 CXCR1F7N2PatS ja 2 CXCR1F8NZ ja 4 CXCR1F8NPat14 ja 2 CXCR1R8NX nej 1 CXCR1R8NPat12 ja 3 Tabell 2: Resultat av körning för icke klassade SNPar. Tabell 3 innehνaller resultat av körningar pνa slumpmässigt urvalda kromatogram som inte innehνaller nνagra SNPar. Filnamn Antal felklassade icke SNP ex8-100for 1 ex8-49rev 0 ex8-56for 0 ex8-66for 0 ex8-230rev 0 ex8-78fora 1 ex8-149rev 2 ex8-14for 0 ex8-150rev 0 ex8-31for 0 ex8-2rev 2 ex8-82for 0 ex8-83rev 1 ex8-117rev 0 ex8-7for 0 ex8-119for 0 ex8-109rev 0 ex8-10for 0 ex8-10rev 0 ex8-247for 0 ex8-110rev 0 ex8-24for 0 ex8-111rev 1 Tabell 3: Resultat av körning för kromatogram utan SNPar. Kromatogrammen är slumpmässigt utvalda. 12
7 TÄNKBARA FÖRBÄTTRINGAR 6 Utvärdering av resultat Metoden lyckas klassa 90 % av SNParna rätt. Däremot blir det ungefär 1,4 felklassningar per riktig SNP. Av de parametrar som används är höjdskillnad den mest selektiva. Det skulle vara interesant att ha mer träningsdata eftersom 35 filer med SNPar inte ger underlag för pνalitlig statistik. 7 Tänkbara förbättringar Under arbetets gνang har ett par ideer dykt upp som aldrig hunnit genomföras. ffl Jämföra fram- och baklänges sekvensieringen av DNA-sekvensen. Om bνada innehνaller samma SNP blir resultatet säkrare men om SNPn bara finns i ett kromatogram kan den förkastas. ffl Ta mer hänsyn till omgivningen. Den felklassning som beskrivs i figur 9 skulle kunna försvinna. Tidigare höga toppar kan pνaverka intensiteten i senare punkter i kromatogrammet. I figuren syns bνade lνaga felaktiga toppar och ett plant omrνade för basen Tymin (T). Figur 9: Felaktigt klassad SNP pga brus i basen Tymin (T). ffl Vikta parametrarna olika. Nu antas alla parametrar vara lika viktiga och dessutom nödvändiga för att en topp ska klassas som SNP. 13
8 TACK 8 Tack Till sist skulle författarna vilja tacka Shane McCarthy och vνara handledarna frνan Karolinska Institutet Marti Tammi, Erik Arner och Daniel Nilsson för all hjälp! 14
REFERENSER REFERENSER Referenser [1] Brent Ewing, LaDeana Hillier, Michael C. Bender, Phill Green, Base- Calling of Automated Sequencer Traces Using Phred I. Accuracy Assignemnt, ISSN 1054-9803/98, Cold Spring Harbor Laboratory Press 1998, sid. 175-185. [2] Brent Ewing, Phill Green, Base-Calling of Automated Sequencer Traces Using Phred II. Error Propabilities, ISSN 1054-9803/98, Cold Spring Harbor Laboratory Press 1998, sid. 186-194. [3] Deborah A. Nickerson, Vincent O. Tobe, Scott Taylor PolyPhred: automating the detection and genotyping of single substitutions using fluorescence-based resequencing, Nucleic Acid Research, Vol. 25, No 14, Oxford University Press 1997, sid. 2745-2751. [4] Dirk Walter, Gábor Bartha Basecalling with LifeTrace, ISSN 1088-9051/01, Cold Spring Harbor Laboratory Press 2001, sid. 875-888. 15