Positional weight matrix (PWM) är en bioinformatisk metod som används för att söka efter motiv i biologiska sekvenser.
PWM kan byggas på basis av multipel anpassning av relaterade sekvenser, eller sekvenser som utför liknande funktioner. PWM används i många moderna algoritmer för att upptäcka nya motiv [1] .
Den positionella viktmatrisen introducerades av den amerikanske genetikern Gary Stormo.och kollegor 1982 [2] som ett alternativt sätt att representera konsensussekvenser . Konsensussekvenser har använts tidigare för att visa vanliga motiv i biologiska sekvenser, men denna metod hade vissa nackdelar när det gäller att förutsäga och söka efter dessa motiv i nya sekvenser [3] . För första gången användes PVM för att söka efter translationsinitieringsställen i RNA . Den polsk-amerikanske matematikern Andrzej Ehrenfeucht för att skapa en viktmatris för att särskilja verkliga platser från liknande avsnitt av sekvenser .en perceptronalgoritm föreslogs . Resultatet av perceptronträning på prover av sanna och falska platser var en matris och ett tröskelvärde för skillnaden mellan dessa två datamängder. Att testa denna matris på nya sekvenser som inte ingår i träningsuppsättningen visade att denna metod var mer exakt och känslig jämfört med att bygga en konsensussekvens.
Fördelarna med PWM framför konsensussekvenser har gjort matriser till en populär metod för att representera motiv i biologiska sekvenser [4] [5] .
En strikt definition av en positionell viktmatris är följande [6] :
, där är alfabetet för sekvensen (zd. nukleotider), är positionsnumret,
är en positionssannolikhetsmatris, är förekomsten av en bokstav i alfabetet (det vill säga 0,25 för en nukleotidsekvens och 0,05 för en aminosyrasekvens).
PVM är en matris, vars antal rader motsvarar storleken på alfabetet (4 nukleotider för nukleinsyror och 20 aminosyror för proteinsekvenser), och antalet kolumner motsvarar längden på motivet [6] .
Det första steget i att konstruera en viktmatris baserad på multipel raderingsfri inriktning är skapandet av en positionsfrekvensmatris (PMF). Elementen i denna matris motsvarar hur många gånger varje bokstav i alfabetet förekommer på en viss position i motivet. Därefter omvandlas PMP till en positionssannolikhetsmatris genom att normalisera till det totala antalet sekvenser i inriktningen. En sådan matris visar vad som är sannolikheten att stöta på en given bokstav i en given position i den initiala justeringen.
Varje element i sannolikhetsmatrisen är lika med sannolikheten att träffa en bokstav i en position i den initiala justeringen och beräknas med formeln [1] :
där är sekvensnumret, är positionsnumret, är bokstaven i alfabet,
är bokstaven som motsvarar positionen i sekvensen och är indikatorfunktionen beräknad med formeln:
Till exempel, givet följande tio justerade DNA-sekvenser som representerar ett motiv:
GAGGTAAAC |
TCCGTAAGT |
CAGGTTGGA |
ACAGTCAGT |
TAGGTCATT |
TAGGTACTG |
ATGGTAACT |
CAGGTAC |
TGTGTGAGT |
AAGGTAAGT |
respektive positionsfrekvensmatrisen:
och därför sannolikhetsmatrisen som erhålls efter att ha dividerat med antalet sekvenser:
I en positionssannolikhetsmatris är summan av värdena för varje kolumn, det vill säga sannolikheten för att möta någon bokstav i alfabetet i en given position, i fallet med en raderingsfri initial justering, 1.
Med hjälp av denna matris kan vi beräkna sannolikheten för att vi, genom att generera bokstäver i varje position med sannolikheten som anges i den, kommer att få en sekvens . Eftersom matrisens kolumner antas vara oberoende av varandra, är denna sannolikhet lika med produkten av sannolikheterna för att få varje bokstav i sekvensen i sin position, det vill säga:
var är bokstaven i sekvensen i position .
Till exempel kan sannolikheten att sekvensen S = GAGGTAAAC erhålls av matrisen från föregående exempel beräknas:
För att beräkna en positionssannolikhetsmatris från en liten datamatris används ofta pseudokonton . På grund av provets ofullständighet kan en situation uppstå när inte alla bokstäver är representerade på en viss position i originalprovet. I det här fallet kommer sannolikheten att få denna bokstav när du genererar en slumpmässig sekvens från denna matris vara lika med noll. Följaktligen kommer sannolikheten att generera en sekvens med en sådan bokstav i denna position också vara lika med noll, oavsett resten av sekvensen [8] . För att undvika detta läggs ett värde, kallat ett pseudo-antal, till varje element i sannolikhetsmatrisen så att det inte är noll. Enligt Laplaces regel läggs 1 till varje element i frekvensmatrisen - minsta möjliga förekomst av en bokstav i denna position. Mer komplexa pseudo-räkningssystem finns, såsom de som använder Dirichlet-blandningar eller substitutionsmatriser .
Med tanke på pseudoräkningarna kan definitionen av sannolikhetsmatrisen formuleras som:
, där - PMC, - pseudoräkningsfunktion [9] .
I exemplet ovan, byggt utan att använda pseudo-räkningar, kommer alla sekvenser som inte har ett G i den fjärde positionen eller ett T i den femte positionen att ha en sannolikhet på 0.
Det sista steget för att skapa en PWM är övergången från sannolikheterna för bokstäver i olika positioner av motivet till deras vikter. Oftast beräknas dessa vikter som ett log-sannolikhetsförhållande , med hänsyn till bakgrundsmodellen för att generera en slumpmässig sekvens b. Den enklaste bakgrundsmodellen antar att varje bokstav förekommer lika ofta i vilken position som helst i datamängden, d.v.s. värdet för varje tecken i alfabetet (0,25 för nukleotider respektive 0,05 för aminosyror). Bakgrundsmodellen behöver inte innebära en enhetlig fördelning av bokstäver: till exempel när man studerar organismer med hög GC-sammansättning kan sannolikheterna för C och G öka och för A respektive T minska. Således beräknas elementen i viktmatrisen med formeln [6] :
Genom att tillämpa denna transformation på sannolikhetsmatrisen från exemplet (ignorera pseudo-antal) får vi:
Om elementen i SRP beräknas med hjälp av log-likelihood-förhållandet, kan vikten av sekvensen beräknas som summan av vikterna för varje bokstav i denna sekvens i dess position. Den resulterande vikten ger en uppfattning om hur denna sekvens motsvarar motivet för vilket den positionella viktmatrisen skapades. Ju högre sannolikhet att sekvensen genereras av motsvarande sannolikhetsmatris och inte slumpmässigt, desto högre vikt.
Informationsinnehållet i PVM visar hur fördelningen av bokstäver på positioner som beskrivs i den skiljer sig från den enhetliga fördelningen . Egen information för varje karaktär i motivets position är lika med:
Den förväntade (genomsnittliga) självinformationen för detta element är:
Informationsinnehållet i hela matrisen är lika med summan av alla förväntade genomsnittliga egenvärden för varje element i matrisen. Informationsinnehållet i SPM vid en ojämn bakgrundsfördelning beräknas med formeln:
var är bakgrundsfrekvensen för den givna symbolen.Informationsinnehållet är relaterat till Kullback-Leibler-avståndet eller relativ entropi . Men när man använder PSSM-algoritmen för att söka efter genomiska sekvenser (se nedan) kan en sådan enhetlig korrigering leda till en överskattning av betydelsen av olika baser i motivet på grund av den ojämna fördelningen av n-merer i verkliga genom, vilket leder till ett betydligt högre antal falskt positiva [10] .
PVM används i stor utsträckning för analys av nukleotid- och proteinsekvenser. Först och främst används de för att söka efter specifika webbplatser och motiv. Till exempel kan MATCH-algoritmen [11] söka efter potentiella bindningsställen för transkriptionsfaktorer i DNA-sekvenser. Liknande tillvägagångssätt används för proteiner [12] . Förutom att söka efter funktionella domäner kan PVM användas för att förutsäga olika egenskaper hos proteiner, såsom sekundär struktur [13] [14] [15] , deras tillgänglighet till ett lösningsmedel [16] [17] , kontakter i strukturen [ 18] . Förutom att söka efter motiv används multipla anpassnings-PWM:er för att beskriva proteinfamiljer. Det finns PVM-databaser som kan användas för att avgöra om ett protein av intresse tillhör kända familjer. Metoder för att konstruera och använda PVM förbättras också. Till exempel har en metod utvecklats för att skapa PWM utan att använda stora multipla proteinjusteringar, vilket avsevärt påskyndar beräkningar i närvaro av en stor mängd initiala data [19] . Dessutom finns det ett tillvägagångssätt som använder flera PTM för att beskriva proteinfamiljer: i detta fall är inte en, utan många matriser konstruerade med hjälp av olika icke-nära (för att undvika fördomar) familjeproteiner.
Det finns olika algoritmer för att skanna efter PWM-matchningar i sekvenser. Ett exempel är MATCH-algoritmen, som implementerades i ModuleMaster. Mer sofistikerade algoritmer för snabba databassökningar med användning av nukleotider såväl som PWM/PSSM-aminosyror implementeras i possumsearch-mjukvaran och beskrivs av Beckstette, et al. (2006) [20] .
Bland de mest kända algoritmerna finns också MEME och Gibbs [1] .
Den färdiga PVM-implementeringen kan användas i programmeringsspråken Python ( BioPython- paketet ) och R ( seqLogo- biblioteket ).