Datorkemi - bioinformatik

Innehåll


Vad är bioinformatik?

"Bioinformatik" är ett ord som man ofta stöter på, men som kan betyda olika saker i olika sammanhang. För det mesta används ordet i samband med teoretisk, datorbaserad forskning som använder sig av sekvensdata - både DNA- och proteinsekvenser - och som söker förstå samband mellan sekvens, struktur och funktion hos biomolekyler. Men ibland ges begreppet en vidare mening, och innefattar då all slags matematisk-datalogisk forskning inom hela biologin.

Inom den här delen av datorkemikursen kommer vi att försöka ge en första inblick i de metoder och problemställningar som bioinformatiken (i den första, mera begränsade meningen) sysslar med. För den som vill veta mera finns ett antal mer eller mindre heltäckande böcker i referenslistan sist i kompendiet.

Eftersom bioinformatiken sysslar med sekvenser uppstod fältet först när det började finnas tillräckligt många kända protein- och DNA-sekvenser för att det skulle vara någon mening med att studera dem statistiskt. Ett av de allra första arbetena av det här slaget handlade om att förutsäga proteiners sekundärstruktur från deras aminosyrasekvens (Chou, 1974), och byggde på en statistisk analys av hur ofta olika aminosyror ingår i olika sekundärstrukturelement (helix, ß-sheet, turn). En annan tidig tillämpning inom bioinformatiken (som fortfarande är mycket central) var att jämföra olika protein- eller DNA-sekvenser för att avgöra om de är besläktade, och hur de i så fall skall linjeras upp gentemot varandra (Smith & Waterman, 1981).

De tidiga "bioinformatikerna" var molekylärbiologer och biokemister som lärt sig litet statistik och programmering. Många kommer fortfarande in i fältet från en sådan bakgrund, men det blir allt vanligare att dataloger och tillämpade matematiker intresserar sig för den här sortens problem (även om de ofta behöver lång tid för att lära sig hur komplexa levande system är och hur biologer tänker). Idag är bioinformatiken ett snabbt växande fält, inte minst tack vare genomforskningens snabba framsteg - det behövs kunniga personer som kan få ut något vettigt ur alla de DNA-sekvenser som samlas i våra databaser! Utanför högskolan är det ffa. läkemedelsindustrin som satsar på bioinformatik som ett viktigt instrument i jakten på nya läkemedel.


Bioinformatik och Internet

Det viktigaste som har hänt inom bioinformatiken under senare år är tillkomsten av Internet. Tidigare var man hänvisad till lokala gurus som kunde tillräckligt mycket om datorer för att installera och underhålla de nödvändiga databaserna och programpaketen. Idag finns nästan allt man behöver som användare tillgängligt på webben. Problemet nu är snarast att veta hur man hittar till rätt sites och, inte minst viktigt, att kunna bedöma de resultat man får.

Lyckligtvis finns det sites där man har samlat ihop länkar till de viktigaste servrarna. Den kanske mest omfattande listan hittar man på Pedro's BioMolecular Research Tools. Andra tips är Expasy och The CMS Molecular Biology Resource. Hittar man inte det man letar efter här kanske det går bättre med hjälp av en generell sökmaskin som t.ex. MetaCrawler .


Databaser

Grundförutsättningen för allt arbete inom bioinformatiken är databaser av olika slag. Utvecklingen går mot en allt närmare integration mellan olika databaser, och många databaser innehåller länkar så att man lätt kan röra sig mellan olika typer av information.

En mycket användbar databas (och ett bra exempel på hur man kan lämka ihop olika databaser) är Entrez som har utvecklats av NCBI - The National Center for Biotechnology Information - i USA. I Entrez finns ett antal databaser sammanlänkade, bl.a. GenBank (DNA sekvenser), SwissProt (proteinsekvenser), PIR (proteinsekvenser), Protein Data Bank (PDB; 3D strukturer), Genome Database (GDB; genomdatabas), och Medline (bibliografisk information).

En typisk sökning i Entrez börjar med att man meh hjälp av t.ex. fritextsökning letar efter ett visst slags protein i proteindatabasen. Från den proteinsekvens man hittar kan man sedan klicka fram motsvarande DNA sekvens, genens kromosomala lokalisation, proteinets 3D struktur (om den är känd), och artiklar i Medline som handlar om just detta protein. Medlineartiklarna är dessutom länkade sinsemellan så att man kan få fram s.k. "neighbors" till varje artikel, dvs. andra artiklar som har ett antal keywords gemensamma med ursprungsartikeln. På samma sätt kan man klicka fram en lista på neighbors till varje proteinsekvens, sekvenser som har en viss minsta grad av sekvenslikhet med urspungssekvensen.

Man kan också med ett enda klick skicka iväg en sekvens som man hittar i Entrez till en s.k. homologisökning (se nedan).

I Medline finns normalt bara uppgifter om en artikels titel, författare, var den är publicerad och ett kort abstract. Fler och fler tidskrifter gör nu alla sina artiklar (både text och figurer) tillgängliga över webben. I Entrez finns direkta länkar till alla artiklar som är publicerade i tidskrifter som Journal of Biological Chemistry, och Proceedings of the National Academy of Sciences men för att kunna hämta hem dessa krävs att den dator man arbetar vid finns registrerad hos tidskriften. Naturligtvis tar tidskriften betalt för detta - t.ex. prenumerar SU nu både på den tryckta versionen av Journal of Biological Chemistry (finns i biologibiblioteket) och på den elektroniska versionen. Inom teoretisk kemi på SU har vi också vår egen lista med tidskriftslänkar.

De flesta artiklarna inom bioinformatikområdet publiceras i samma tidskrifter som publicerar molekylärbiologi och biokemi i allmänhet. Dock finns en (tyvärr rätt sällan uppdaterad) bibliografisk databas - SeqAnalRef - som bara innehåller referenser och abstracts till rena bioinformatikarbeten. Denna databas hittar man på ExPASy servern i Schweiz.


Sekvensanalys - alignments och homologisökningar

För att ta reda på om två sekvenser är lika och hur graden av likhet är fördelad längs sekvenserna gör man vanligen en upplinjering (alignment) av sekvenserna. Om alignmentmetoden är tillräckligt snabb kan man också använda den för att jämföra en sekvens (query sequence) med en hel sekvensdatabas; hittar man signifikanta likheter med redan kända gener/proteiner kan man ofta dra slutsatser om struktur och funktion hos den nya genen. Alignments och homologisökningar är utan tvekan de mest använda verktygen inom bioinformatiken, inte minst nu när genomsekvensningsprojekten kör med gasen i botten.

Dot-plots

Den enklaste formen av alignment är s.k. dot-plots. De två sekvenser som skall jämföras skrivs ut efter de två axlarna i ett matrisdiagram, och varje par av identiska enheter i de två sekvenserna markeras med en punkt i matrisen. De delar av sekvenserna som innehåller många identiska enheter kommer då att ge upphov till diagonala punktmönster som är lätta att se.

Genom olika sorters filtreringar kan man undertrycka slumpmässiga identiteter och fokusera på de signifikanta likheterna. En enkel form av filtrering är att bara behålla punkter i diagrammet som hör till diagonaler innehållande ett minsta antal punkter per längdenhet, t.ex. minst 5 identiska enheter inom ett fönster på 10 enheter. En serie dot-plots med ökande grad av stringens ger ofta en bra uppfattning om var likheterna mellan de två sekvenserna finns.

Fig. 1. Dot-plots av två svagt besläktade proteinsekvenser (SipS och Imp1). Base-window anger hur stort diagonalt fönster programmet använt och Stringency anger hur många identiska aminosyror som minst finns inom det diagonala fönstret.

Parvisa sekvensalignments

En dot-plot ger ju ingen färdig alignment utan tjänar bara som hjälp när man försöker konstruera en sådan. Det finns dock ett antal algoritmer som gör sekvensalignments automatiskt. Vissa av dessa garanterar dessutom att det alignment man får är i matematisk mening optimalt med de givna förutsättningarna (s.k. "dynamic programming" algoritmer).

Vi ska inte gå in i detalj på hur dessa algorimer fungerar, men vad de gör är enkelt uttryckt att hitta den "bästa" vägen från nedre vänstra till övre högra hörnet i en dot-plot som samtidigt inkluderar så många "bra" diagonalelement som möjligt utan att fördenskull göra alltför många "hopp" från en diagonal till en annan. "Bra" diagonalelement betyder element med många identiteter mellan de två sekvenserna, och "hopp" motsvarar insertioner eller deletioner i en av sekvensenerna.

I praktiken måste man specificera värdet på ett antal parametrar som programmet sedan använder för att jämföra hur bra olika vägar genom matrisen är.

Man måste specificera vad man menar med "likhet" mellan elementen i de båda sekvenserna: skall man t.ex. bara räkna identiska aminosyror, eller skall man också ta hänsyn till att vissa aminosyror är mera kemisk lika än andra? Att t.ex. leucin och isoleucin ofta kan ersätta varandra i ett protein utan att struktur och funktion påverkas, medan ett byte av en leucin till en asparaginsyra ofta leder till att funktionen störs. Det finns ett antal olika "likhetsmatriser" att välja mellan, alltifrån den enkla identitetsmatrisen till mera komplicerade matriser baserade på t.ex. statistiska studier av hur ofta en viss typ av aminosyra byts mot en annan under evolutionens gång.

Man måste också specificera hur ofördelaktigt det är att göra en insertion eller deletion (ett "gap") i den ena sekvensen jämfört med det man vinner på att få flera identiska matchningar i alignmenten. Ofta har programmen både en parameter för "gap-opening" och en för "gap-continuation", dvs. det kostar mer att öppna ett gap i alignmenten än att fortsätta på ett redan öppnat gap. Om man gör kostnaden för gap för liten jämfört med det man vinner på bättre matchning mellan aminosyrorna kommer den optimala alignmenten att vimla av gaps; gör man å andra sidan gap-vikten för stor så kommer man att få ett alignment med få gaps men där man kanske missar signfikanta likheter mellan delsekvenser i de två proteinerna. För att få en uppfattning om hur pass känsligt ett alignment är för variationer i valet av likhetsmatris och gap-vikter är det bra att göra om proceduren med ett antal olika val och jämföra resultaten.

Multipla sekvensalignments

I många sammanhang vill man linjera upp fler än två besläktade sekvenser, tex. för att bättre kunna identifiera segment med varierande grad av sekvenskonservering. Sådana s.k. multipla sekvensalignments kan i princip göras med dynamisk programmering (vilket garanterar att man hittar den "bästa" lösningen), men i praktiken blir beräkningarna alltför stora redan för ett fåtal sekvenser.

Man måste alltså hitta på alternativa metoder som visserligen inte kan garantera att slutresultatet är det bästa tänkbara men som ändå i de allra flesta situationer ger ett tillräckligt bra svar. Ett ofta använt sätt är att först göra parvisa alignments mellan alla sekvenserna i familjen; alignmenten mellan de två mest lika sekvenserna används sedan för att beräkna en PROFILE (se nedan); den sekvens av de kvarvarande som är mest lik de två första alignas med den första profilen; man beräknar en ny profil; osv. Ett program som fungerar enligt denna grundprincip är CLUSTAL W (kolla Baylor College of Medicine eller i Pedro's list).

Homologisökningar

Vid homologisökningar där man jämför en "query" sekvens med en hel sekvensdatabas använder man ofta snabba algoritmer som inte garanterar att man alltid får ett optimalt alignment. De är dock i de flesta fall tillräckligt känsliga för att man skall hitta flertalet sekvenser som har signifikant likhet med query-sekvensen.

FASTA är ett klassiskt homologisökningsprogram. Det är ett mycket snabbt program som bygger på s.k. hash coding. Idén är att först göra en lista på alla positioner i query-sekvensen där de olika aminosyrorna finns (t.ex. Ala i position 5, 13, 18, 25, ..., Gly i position 2, 3, 17, 31, ... osv.). När man sedan skall jämföra query-sekvensen A med en sekvens B ur databasen börjar man med den första aminosyran i B och beräknar skillnaden i position (= offset) mellan varje likadan aminosyra i A (om första aminosyran i B är Ala får man offset = 4, 12, 17, 24, ...). Sedan gör man samma sak för den andra aminosyran i B (om den är Gly får man offset = 0, 1, 16, 30, ...), osv. Till sist kollar man om något eller några offset-värden uppträder oftare än vad slumpen skulle ge; sådana offset-värden indikerar segment i de två sekvenserna som kan linjeras upp över en längre sträcka än vad som kan förväntas av slump.

Ett av de mest använda homologisökningsprogrammen är BLAST som, precis som FASTA, finns tillgängligt på ett antal olika webservrar (kolla t.ex. SBnet Protein Sequence Analysis Launcher eller i Pedro's List). Liksom FASTA letar BLAST efter lokala matchningar, dvs. delsekvenser i query-sekvensen som matchar delsekvenser i databasen. En finess med BLAST är att man också får ett värde på hur sannolik varje match är, och hur många matchningar med den sannolikheten man skulle förvänta sig att hitta i databasen av ren slump. En vidareutveckling av BLAST är sökprogrammet Gapped-BLAST.

Även om homologisökningar i dag bygger på ganska avancerade och känsliga algoritmer är det viktigt att komma ihåg att man inte skall ta datorns svar som slutgilitga sanningar - "Don't Expect Your Computer to Tell You the Truth". Man måste alltid använda sitt omdöme för att bedöma om de likheter man hittar verkligen är biologiskt relevanta, och vad de i så fall betyder.

När man väl har bestämt sig för vilka de mest relevanta sekvenserna är, så kan man givetvis gå vidare och göra parvisa alignments med program som tar längre tid men som ger mera pålitliga resultat.

Sekvensanalys - motiv

Alignmentprogram bryr sig inte om vad de hittar; ur deras synpunkt är alla delar av en sekvens lika viktiga. Detta är förstås obiologiskt: olika delar och olika aminosyror i ett protein kan ju ge helt olika bidrag till proteinets struktur och funktion.

I många proteinfamiljer hittar man starkt konserverade motiv även om sekvenserna globalt inte alls uppvisar någon statistiskt signifikant likhet. Motiv är ofta associerade med kritiska aminosyror runt ett enzyms aktiva säte, med domäner som har en strukturellt viktig roll, eller med segment som kan modifieras kemiskt på olika sätt (fosforylering, glykosylering, myristylering, klyvningsställen för specifika proteaser, etc.).

PROSITE motiv

Konserverade motiv upptäcks vanligen först när många sekvenser i en proteinfamilj kan jämföras. Om de är tillräckligt specifika kan de sedan användas för att söka efter motsvarande sekvensmönster i nya proteinsekvenser. Den största motivsamlingen finns i databasen PROSITE (Bairoch, 1993) som man kan hitta på ExPASy servern. I PROSITE beskrivs varje motiv med hjälp av en definierad syntax som anger vilka aminosyror som är tillåtna i en viss position och de tillåtna avstånden mellan olika delar av motivet. Ett exempel (motivet motsvarar det nedre vänstra diagonalelementet i Fig. 1):

DE Signal peptidases I serine active site (PS00501).

PA [GS]-x-S-M-x-P-[AT]-[LF]

NR   /TOTAL=34(34); /POSITIVE=19(19); /UNKNOWN=0(0); /FALSE_POS=15(15); /FALSE_NEG=0

Motivet består av en glycin (G) eller serin (S), följd av en godtycklig aminosyra (x), följd av en serin (S) och en metionin (M), en godtycklig aminosyra (x), en prolin (P), en alanin (A) eller treonin (T), och en leucin (L) eller fenylalanin (F). I den aktuella versionen av proteinsekvensdatbasen SwissProt finns totalt 19 proteiner i den här proteinfamiljen; alla 19 innehåller motivet men motivet finns också i 15 proteiner som inte hör till familjen.

PROTSITE innehåller många hundra olika motiv, och man kan snabbt få reda på vilka av dessa som finns i den proteinsekvens man är intresserad av.

Viktmatriser

I stället för att bara ange vilka aminosyror som är tillåtna i en viss position i ett motiv kan man också ange hur frekventa de är. Motivet beskrivs då med hjälp av en viktmatris som beräknas ur ett alignment av sekvenser innehållande motivet. För att få en additiv skala brukar man ta logaritmen av aminosyrafrekvenserna i varje position. För att söka efter motivet i en ny sekvens flyttar man matrisen längs sekvensen, och för varje placering av matrisen summerar man matrisvikterna för de aktuella aminosyrorna.
 
bas/position 1 2 3 4 5
A 0.21 0.86 0.10 0.07 0.13
C 0.02 0.12 0.75 0.05 0.10
G 0.54 0.01 0.11 0.64 0.08
T 0.22 0.01 0.04 0.14 0.69
 
bas/position 1 2 3 4 5
A -0.17 1.24 -0.92 -1.27 -0.65
C -2.53 -0.73 1.10 -1.61 -0.92
G 0.77 -3.22 -0.82 0.94 -1.14
T -0.13 -3.22 -1.83 -0.58 1.02
query: AACGGTGACGTGAAGTGC

resultat: 1.97; 0.24; -8.29; -3.99; -5.46; -7.02; 5.07; -3.44; ....

Fig. 3. En enkel viktmatris som motsvarar konsensussekvensen GACGT. I den övre matrisen anges de observerade basfrekvenserna i respektive position. I den undre anges ln (basfrekvens/0.25). Query-sekvensen analyseras genom att de logaritmerade matrisvärdena för 5 konsekutiva baser summeras varfeter matrisen flyttas ett steg, osv. Det maximala värdet är 5.07 (GACGT).

PROFILE alignments

En besläktad metod är s.k. PROFILE alignments (Luthy, 1991; Gribskov, 1987). Här utgår man från ett multipelt alignment av alla de kända proteinsekvenserna i en familj och beräknar en viktmatris i vilken frekvensen av varje aminosyra i varje position finns med (i ett PROSITE motiv räknar man bara upp de tillåtna aminosyrorna, men säger inget om vilken frekvens de har). Man talar också om hur ofta det finns ett gap i varje position (detta är en utveckling jämfört med de enkla viktmatriserna). Man kan nu göra ett optimalt alignment mellan en ny sekvens och PROFILE-matrisen på ungefär samma sätt som man gör parvisa sekvensalignments; skillnaden är att alignmenten i första hand kommer att linjera upp de mest konserverade positionerna, och kommer att placera gaps i sådana positioner där de accepteras lättast. För stora proteinfamiljer kan man konstruera mycket specifika PROFILE matriser, och sökningar med sådana blir dels mycket känsliga, dels blir de resulterande alignmenten bättre än parvisa alignments eftersom de återspeglar proteinernas 3D struktur bättre.
 

Hidden Markov modeller

En utveckling av PROFILE metoderna är de s.k. Hidden Markov modellerna (HMM) vilka automatiskt skapar den bästa möjliga profilen samtidigt som en alignment sker. I en HMM finns ett starttillstånd, ett sluttillstånd och ett antal tillstånd däremellan. Varje övergång från ett tillstånd till nästa har en viss övergångssannolikhet, och varje tillstånd har en uppsättning associerade sannolikheter att generera en viss symbol (t.ex. en aminosyra eller en nukleotid). Om man utgår från ett multipelt sekvensalignment kommer varje position i alignmenten att motsvaras av ett tillstånd i HMM-representationen och sannolikheten att generera en viss aminosyra i ett visst tillstånd ges av frekvensen för denna aminosyra i alignmenten. För att representera insertioner och deletioner i alignmenten finns speciella "delete" och "insert" tillstånd, och övergångssannolikheterna till dessa ges av frekvensen deletioner/insertioner i motsvarande position i alignmenten.

Det finns metoder för att automatiskt generera den optimala HMM som motsvarar ett multipelt alignment. När man har sin HMM kan sedan räkna sannolikheten för att en query-sekvens har genererats av just denna HMM, ochh på så sätt leta efter sekvenser i en databas som är besläktade med de sekvenser som ingick i den ursprungliga multipla alignmenten.

Neurala nätverk

Ett idag mycket populärt sätt att konstruera sökalgoritmer som kan identifiera ett specifikt motiv i DNA- eller proteinsekvenser är att använda s.k. neurala nätverk. Neurala nätverk utvecklades ursprungligen för att försöka efterlikna hjärnans funktion, men de har funnit sin viktigaste tillämpning som en generell metod för mönsterigenkänning i experimentella data.

Ett neuralt nätverk består av en "input layer" som läser in t.ex. aminosyrasekvensen i ett proteinsegment; varje aminosyra läses in av ett "neuron" in denna input layer. Neuronen i input layer är ihopkopplade med neuronen i nästa nivå - en s.k. "hidden layer" - och dessa är i sin tur hopkopplade med neuronen i en sista "output layer" (som oftast bara innehåller två neuron som betyder "sant" och "falskt"). Det kan finnas flera hidden layers, men bara en input layer och en output layer.

Fig. 4. Ett neuralt nät som är tränat att känna igen sekvensen ACG. Positiva kopplingsstyrkor ("excitatoriska neuron") är indikerade med heldragana linjer; negativa kopplingsstyrkor ("inhibitoriska neuron") är indikerade med streckade linjer. Om den summerade signalen i output-neuronet "ACG" är starkare än den summerade signalen i ourputneuronet "not ACG" så signalerar nätverket att den hittat sekvensen.

Poängen med ett neuralt nätverk är att det kan tränas att känna igen ett visst mönster, t.ex. ett aminosyramotiv. Under träningen ändras styrkan i alla neuronkopplingarna på ett systematiskt sätt, så att nätverket blir allt bättre på att skilja "sanna" från "falska" motiv (man måste alltså ha ett antal sanna respektive falska motiv - ett "training set" - att träna på). När man har tränat färdigt utvärderar man nätverkets förmåga att skilja "sant" från "falskt" genom att låta det analysera ett antal sanna och falska motiv som inte användes under träningen (ett s.k. "test set"). "Sant" och "falskt" avgörs av vilket av de två neuronen i output layer som ger den starkaste signalen.

Neurala nätverk är hypotesoberoende i meningen att man inte behöver veta vad som skiljer sanna från falska motiv när man börjar (men man måste förstås veta vilka som är sanna och falska). De innehåller också väldigt många parametrar (alla de olika kopplingsstyrkorna mellan neuronen), och kan därför anpassas väl till olika data. Har man hidden layers kan nätverket också hitta icke-linjära samband (t.ex. att om en viss aminosyra finns i en viss position tenderar en annan aminosyra att finnas i nästa position).

En grupp som jobbar mycket med att använda neurala nätverk på molekylärbiologiska problem finns i Köpenhamn, och man kan hitta intressanta tillämpningar på deras webserver.


Sekvensanalys - sekundärstrukturprediktion

Alignments och motivsökningar ger primärt information om ett proteins funktionella egenskaper. Att förutsäga struktur från sekvens är ett annat klassiskt problem inom bioinformatiken som fortfarande gäckar forskarna.

Globulära proteiner

Det stod tidigt klart att olika aminosyror har olika strukturella preferenser: vissa hittar man mest i helixar, andra i ß-sheets, åter andra i turns och oregelbundna strukturelement. Detta gav uppslaget att sekundärstrukturen hos ett protein borde kunna förutsägas från dess aminosyrasekvens. Dock har det visat sig att sekundär- och tertiärstruktur hänger intimt ihop (många sekundärstrukturelement utbildas först i samband med att teriärstrukturen bildas), vilket i princip omöjliggör prediktion av sekundärstruktur utan att ta hänsyn till tertiärstruktur.

Av detta skäl finns det en gräns för hur bra rena sekundärstrukturprediktioner kan bli. Dagens mest avancerade metoder är inte särskilt mycket bättre än de allra första som kom för mer än 20 år sedan. En s.k. "three-state" prediktion där man skiljer på helix, sheet och turn tycks inte kunna bli bättre än att runt 65% av aminosyrorna i ett protein placeras i rätt sekundärstruktur.

Genom att inte endast analysera en protein sekvens utan använda information även från relaterade sekvenser har man nyligen lyckats höja ribban så att omkring 70% av aminosyrorna i ett protein kan placeras i rätt sekundärstuktur (Rost, 1993a; Rost, 1993b). Även om detta inte verkar särskilt märkvärdig har den praktiska nyttan av sekundärstrukturprediktioner därigenom ökat markant. Man bör komma ihåg att 70% korrekt ofta innebär att t.ex. en helix bara placeras ett par aminosyror fel.

Den enklaste formen av sekundärstrukturprediktion utgår från de observerade preferenserna (helix, sheet, turn) hos de olika aminosyrorna, beräknade från kända proteinstrukturer (eller uppmätta på modellpeptider), Tabell 1. Själva prediktionen går till så att man beräknar medelpreferensen för helix, sheet och turn över ett sekvensfönster (5-6 aminosyror) genom att multiplicera preferenserna för de ingående aminosyrorna. På detta sätt får man fram tre preferenskurvor för helix, sheet och turn, och den slutliga prediktionen baseras på den lokalt högsta preferensen (med vissa regler för minsta längd och s.k. cap-aminosyror hos en helix resp. ett ß-sheet).
 

Tabell 1. Helix-, sheet- och turnpreferenser enligt Chou (1978). Preferensvärden > 1 anger att aminosyran föredrar sekundärstrukturen i fråga.
Aminosyra Helix preferens Sheet preferens Turn preferens
Glu 1.51 0.37 0.74
Met 1.45 1.05 0.60
Ala 1.42 0.83 0.66
Leu 1.21 1.30 0.59
Lys 1.16 0.74 1.01
Phe 1.13 1.38 0.60
Gln 1.11 1.10 0.98
Trp 1.08 1.37 0.96
Ile 1.08 1.60 0.47
Val 1.06 1.70 0.50
Asp 1.01 0.54 1.46
His 1.00 0.87 0.95
Arg 0.98 0.93 0.95
Thr 0.83 1.19 0.96
Ser 0.77 0.75 1.43
Cys 0.70 1.19 1.19
Tyr 0.69 1.47 1.14
Asn 0.67 0.89 1.56
Pro 0.57 0.55 1.52
Gly 0.57 0.75 1.56
Moderna metoder bygger ofta på att man tränar neurala nätverk på de olika sekundärstrukturformerna. Man kan också uppnå en viss förbättring genom att först göra multipla alignments av besläktade sekvenser och sedan göra en konsensusprediktion på alla sekvenserna samtidigt.

Användbara webservrar är t.ex. nnPREDICT, PHDsec, SOPM, och SSPRED.

Membranproteiner

Såvitt man vet finns det två strukturellt olika klasser av integrala membranproteiner. Den största klassen ("helix bundle proteins") har en struktur som bygger på hydrofoba, transmembrana alfa-helixar. Sådana proteiner finns i nästan alla cellmembran, både i prokaryota och eukaryota celler. Den andra klassen har en struktur som består av en transmembran "ß-barrel" med en yttre, hydrofob yta vänd mot lipiderna; dessa proteiner har man hittills bara hittat i yttermembran från mitokondrier, kloroplaster och Gram-negativa bakterier.

Transmembrana helixar består nästan uteslutande av hydrofoba aminosyror och är relativt lätta att identifiera meh hjälp av en s.k. hydrofobicitetsplot. Eftersom den typiska längden på en transmembran helix är 15-20 aminosyror beräknar man medelhydrofobiciteten tagen över ~20 aminosyror längs proteinsekvensen. Genom att beräkna medelhydrofobiciteten för ett stort antal kända transmembranhelixar kan man bestämma ett övre cut-off värde över vilket ett sekvenssegment med stor säkerhet kan anses vara transmembrant. Man kan på samma sätt bestämma ett undre cut-off värde under vilket man med stor säkerhet kan säga att ett sekvenssegment inte är transmembrant.

Fig. 5. Hydrofobicitetsplot för ett membranbundet ATPas från ärkebakterien M. janaschii. Proteinet består av en N-terminal polär domän och en C-terminal membranbunden domän.

Tyvärr innehåller många membranproteiner segment som har en medelhydrofobicitet mellan dessa båda cut-off värden; för sådana segment kan man inte göra en bra prediktion. Dock har integrala membranproteiner ytterligare en egenskap som hjälper i dessa fall: de har flertalet av sina positivt laddade aminosyror på membranets insida (cytoplasmasidan för ett plasmamembranprotein). Om proteinet har ett eller flera segment med hydrofobicitet mellan de två cut-off värdena kan man alltså konstruera två (eller flera) modeller där de tveksamma segmenten antingen anses vara transmembrana eller lämnas utanför membranet. Den mest sannolika modellen är den där skillnaden i antalet positivt laddade aminosyror mellan de två sidorna av membranet är maximal (von Heijne, 1992).

Sekundärstrukturprediktion av helix bundle proteiner är idag ganska pålitlig, och man kan identifiera 80-90% av alla transmembrana helixar. Precis som för globulära proteiner kan man öka pålitligheten i prediktionerna genom att först göra ett multipelt alignment av ett antal homologa proteiner och sedan göra en konsensusprediktion.

Populära webservrar som predicerar transmembransegment är TMAP, PHDhtm, DAS och TOPPRED (som också finns i en Mac-version på EBI's ftp-server).

Det är svårare att identifiera de transmembrana ß-strängarna i ß-barrel proteinerna. Det mönster man letar efter är segment på 7-10 aminosyror där varannan aminosyra är hydrofob (och alltså skulle kunna peka ut mot lipiderna). Dessutom finns ofta aromatiska aminosyror i ändan av ß-strängarna som man kan inkludera i motivet (Schirmer, 1993).


Proteinstruktur - prediktion

Det hägrande målet för många forskare inom bioinformatikområdet är att kunna förutsäga tredimensionella proteinstrukturer direkt från aminosyrasekvensen. Detta är ännu inte möjligt annat än om det redan finns ett homologt protein med känd struktur. Är sekvensidentiten mellan det nya proteinet och det med känd struktur >50% så kan man nästan alltid bygga en modell som i stort sett är korrekt, dock kommer detaljer som t.ex. placering av loopar att vara felaktiga. Finns det ingen känd struktur att utgå ifrån är prediktionsproblemet mycket svårt.

Det har publicerats många artiklar som mer eller mindre direkt påstår att man har utvecklat en metod som fungerar för att predicera strukturen hos ett eller flera proteiner. Ett stort problem med dessa metoder är att det för det mesta är omöjligt att utröna om författarna omedvetet eller medvetet har lyckats skapa en metod som fungerar bara för just de proteiner som används i studien. Slutsatsen från de väldigt varierande resultaten från artiklar som försöker förutsäga strukturen hos proteiner är att den enda utvärderingsmetod som fungerar är "blindprediktioner", dvs förutsägningar av en struktur innan den har publicerats.

För att kunna utvärdera olika prediktionsmetoder har det hållits två internationella "tävlingar" i strukturprediktion (arrangörerna vägrar att kalla det tävlingar utan hävdar att det hela skall kallas utvärdering av strukturprediktionsmetoder). Inför dessa möten inbjuds alla forskare att försöka förutsäga strukturen för ett antal proteinersekvenser från proteiner vars 3D strukturer är okända men håller på att bestämmas. Efter det att de riktiga strukturerna har lösts kan de olika modellerna utvärderas genom att jämföra med dessa. Den senaste tävlingen, CASP2, hölls hösten 1996 (CASP3 har just annonserats ut). I CASP2 delades de ännu olösta proteinstrukturerna in i fyra klasser:

  1. Homologimodellering: Proteiner inom denna målgrupp har ett homologt protein med känd struktur. Här gäller det alltså att skapa en så exakt model som möjligt av proteinet. Här nedanför kommer vi att bekriva några olika metoder som används för homologimodellering.
  2. Threading: Proteiner inom threading kategorin har ingen (enkelt identifierbar) homolog bland de strukturbestämda proteinerna. Här gäller det att tala om ifall det finns något protein med känd struktur som har samma struktur som detta protein. Det finns väldigt många olika metoder som har används inom denna kategori.
  3. Ab initio: Samma proteiner som i threadingkategorin. I denna klass ingår bl.a. sekundärstrukturprediktion, samt alla metoder som har utvecklats för att bestämma strukturen hos proteiner utan att de behöver vara relaterade till någon tidigare känd proteinstruktur. Med undantag för sekundärstrukturprediktionen har dessa metoder ännu haft begränsade framgångar.
  4. Docking: Inom docking klassen gäller det att förutsäga hur en ligand binder till ett protein av redan känd struktur, alternativt hur två proteiner av känd struktur binder till varandra. Flera metoder presenterades som lyckades förutsäga på vilken plats en ligand binder, dock var bindningsorientering i de flesta fall felaktig.

Homologimodellering

Grunden för homologimodellering är att två proteiner som har snarlika aminosyrasekvenser med stor sannolikhet också har väldigt lika strukturer. Principen för homologimodellering är att först aligna sekvensen hos det protein man vill modellera mot ett eller flera protein av känd struktur. Därefter ändrar man de aminosyror som inte är identiska med de i den kända strukturen. Detta är dock inte tillräckligt eftersom det ofta finns gap eller insertioner i alignmenten, och för att kunna modellera dessa måste man också ändra positionerna hos andra aminosyror. Oftast är gapen och insertionerna lokaliserade till loopar på ytan av proteinet, och eftersom aminosyror på ytan av proteinet är mer lättrörliga än dom som är begravda i kärnan av proteinet blir modelleringen här mera osäker.

Den allra enklasta metod för homologimodellering är att använda standardiserade metoder för alignmenten och loopbyggandet. Sedan låter man strukturmodellen relaxera med hjälp av en molekyldynamiksimulering. Det finns webservrar som genererar modeller automatiskt om det finns en känd struktur att utgå ifrån. En sådan är SwissModel. Det har dock visats sig att de modeller som skapas med så enkla automatiserade metoder som SwissModel inte är de bästa möjliga. Det är främst två orsaker till detta, (1) ofta är inte den alignment som producerats den bästa möjliga och (2) den metod som Swissmodel använder för att modellera loopar och för att relaxera proteinet är väligt enkel. Här nedanför kommer vi att beskriva två metoder som i CASP2 har visat sig ge bättre resultat än SwissModel.

I MODELLER (Sali, 1993) startar modelleringen från att den proteinsekvens man vill modellera alignas mot alla relaterade proteiner av känd struktur, dvs man gör en multipel sekvensalignment. Denna alignment jämförs med en databas av proteiner som är strukturellt alignade. Med hjälp av denna databas räknar man ut hur långt det troligen är mellan varje par av aminosyror. Sedan används en metod som kallas distansgeometri för att omvandla alla dessa avstånd till en struktur.

Den approach som används inom ICM är mer lik den som används i SwissModel. En given proteinsekvens alignas mot ett givet protein, aminosyrorna förändras och man försöker modifiera loop regioner så proteinet blir så korrekt som möjligt. Skillnaden ligger i den metod som används för att relaxera proteinet. ICM använder en mer sofistikerad metod, kallad Monte Carlo, och ffa en energifunktion som tar med fler termer, t.ex. sidokedjeentropi och hydrofoba effekter, än SwissModel.

Threading

Ett sätt att försöka lösa det allmänna problemet med prediktion av 3D-struktur bygger på antagandet att naturen bara använder sig av ett begränsat antal "veckningsmönster", eller folds, som kombineras på olika sätt i alla naturliga proteiner. Hur många veckningsmönster det finns är inte känt (och antalet beror förstås av hur man definierar ett veckningsmönster), men man har uppskattat att det kanske inte rör sig om mer än ett par tusen. Redan idag är bara var tredje proteinstruktur som bestäms ny i meningen att den inte liknar någon tidigare känd struktur, och man tänker sig att vi så småningom kommer att ha en rätt fullständig katalog över alla i naturen förekommande veckningsmönster. Just nu talar man mycket om "structural genomics", vilket innebär att man tänker bestämma 3D strukturer på "löpande band", utan att bry sig så mycket om vilka proteiner man studerar. Huvudsaken är att man på detta sätt hoppas hitta nya veckningsmönster. En bra klassifikation av de kända veckningsmönstren finns i databasen SCOP.

Med en komplett uppsättning grundstrukturer skulle det kanske vara möjligt att avgöra vilken av dessa strukturer som "passar bäst" för varje ny proteinsekvens, och på det sättet lösa strukturprediktionsproblemet. De metoder som har utvecklats för att klara av detta problem brukar med ett gemensamt namn kallas "threading" metoder. Ordet "threading" kommer från att några av de första av dessa metoder tog en sekvens och "trädde" den igenom alla kända protein. I princip är det ingen skillnad på de resultat men får från en threadingmetod och från en sekvenssökning mot sekvenserna för alla strukturbestämda proteiner. Det har också visats att flera av de tidigaste threadingmetoderna inte fungerade bättre än traditionella sekvenssökningsmetoder. Dock verkar det som om de senaste metoderna fungerar klart bättre än de traditionella metoderna. Men även med de bästa metoderna är det oftast väldigt små energiskillnader mellan det korrekta veckningsmönstret och icke korrekta veckningsmönster. Därför har det tydligt visat sig att det är oerhört viktigt att manuellt analysera outputen från en eller flera threading metoder. Här kommer vi att beskriva två exempel på threadingmetoder som har visat sig vara framgångs rika inom CASP.

Många av threadingmetoderna baseras på s.k. kunskapsbaserade ("knowledge-based") energifunktioner. Dessa energifunktioner är beräknade från statistik insamlad från en databas av proteinstrukturer. En typ av sådan information är den som används i sekundärstrukturprediktionsalgoritmen beskriven ovan, dvs vad är sanolikheten för att en viss aminosyratyp skall vara i en helix eller i ett sheet. På samma sätt kan man t.ex. beräkna sanolikheten för att en aminosyra skall vara på utsidan eller på insidan av ett protein, eller sanolikheten för att en aminosyra av typ A skall vara på ett visst avstånd från en aminosyra av typ B. (Jones, 1992; Hendlich, 1991).

En av de första framgångrika threading metoderna var "3d-1d profiles" (Bowie, 1990). I denna metod översätts den tredimensionella informationen från en proteinstruktur till en endimensionel form, genom att för varje position i proteinet beräkna vad sannolikheten skulle vara att placera en viss typ av aminosyra där. Slutresultatet blir en profil av samma typ som används för multipla sekvensaligments.

Nyligen har flera algoritmer utvecklats som kombinerar sekundärstrukturprediktion med en threading algoritm (Fischer, 1996.) Idén är att i stället för att bara använda en vanlig substitutionsmatris använder man dessutom sekundärstukturinformation. Om en viss position i det protein man vill modellera strukturen av har en hög sanolikhet att vara en i en helix så kommer man att få bättre alignmentsvärden när man försöker aligna denna position med positioner i den kända strukturen som är i en helix än mot dem som är i en sheet.


Referenser

R.A. Abagyan and M.M. Totrov (1994). J. Mol. Biol. 235, 983-1002.

A. Bairoch (1993) Nucleic Acids Res, 21, 3097-3103.

J. Bowie, R. Lüthy & D. Eisenberg (1991) Science 253, 164-70.

P. Y. Chou and G. D. Fasman (1974) Biochemistry, 13, 222-245.

P. Y. Chou and G. D. Fasman (1978) Adv.Enzym., 47, 45-148.

D. Fischer and D. Eisenberg (1996) Protein Science 5, 947-955.

M. Gribskov, A. D. McLachlan and D. Eisenberg (1987) Proc Natl Acad Sci USA, 84, 4355-4358.

M. Hendlich et al.. (1990) J Mol Biol 216, 167-180.

D.T. Jones; W.R. Taylor and J.M. Thornton (1992) Nature 358, 86-89.

R. Luthy, A. D. McLachlan and D. Eisenberg (1991) Proteins, 10, 229-239.

B. Rost and C. Sander (1993a) Proc Natl Acad Sci USA, 90, 7558-7562.

B. Rost and C. Sander (1993b) J Mol Biol, 232, 584-599.

T. Schirmer and S. W. Cowan (1993) Prot Sci, 2, 1361-1363.

A. Sali & T.L. Blundell. (1993) J.Mol.Biol. 234, 779-815

T. F. Smith and M. S. Waterman (1981) J Mol Biol, 147, 195-197.

G. von Heijne (1992) J Mol Biol, 225, 487-494.


Appendix

Böcker

Doolittle, R.F. (Editor) Molecular evolution: Computer analysis of protein and nucleic acid sequences. Methods in Enzymology, vol. 183 (1990).

Doolittle, R.F. Of URFs and ORFs. University Science Books (1986).

von Heijne, G. Sequence analysis in molecular biology - Treasure trove or trivial pursuit? Academic Press (1987).

Lesk, A. (Editor) Computational molecular biology. Oxford University Press (1988).

M. J. Bishop and C. J. E. Rawlings (Editors) Nucleic acid and protein sequence analysis. A practical approach. IRL Press, Oxford (1987).

Sternberg, M. (Editor) Prediction of Protein Structure - A Practical Approach. Oxford University Press (1996)

Villar, H.O. (Editor) Advances in Computational Biology. JAI Press (1996).

Baldi, P. and Brunak, S. Bioinformatics - The Machine Learning Approach. MIT Press (1998).


© Gunnar von Heijne (gunnar@biokemi.su.se), Arne Elofsson (arne@biokemi.su.se).