Alexander Eriksson Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet 1 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet Innehåll 1.1 Inledning .................................................................................................................... 3 2.1 Vad är TEXTAL? ........................................................................................................... 4 2.2 Hur fungerar TEXTAL? .............................................................................................. 5 2.2.1 Konstruktion .................................................................................................................................. 6 2.2.1.1 CAPRA: C-­‐Alpha pattern Recognition Algorithm .......................................................... 7 2.2.1.2 LOOKUP Central Mönstermatchningsalgoritm ......................................................... 10 2.2.1.2.1 Genomsökning av databasen med hjälp av särdragsmatchning ................... 12 2.2.1.3 Efterbehandling ...................................................................................................................... 14 3.1 Slutdiskussion .......................................................................................................... 14 4.1 Källor: .......................................................................................................................... 15 2 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet 1.1 Inledning Man har länge sökt efter ett sätt att effektivt kunna tolka och analysera elektrontäthetskartor man får som resultat av en röntgen-­‐kristallografisk undersökning av protein. Det kan ta allt ifrån veckor till månader för en expert på området att tolka elektrontäthetskartan och få fram rätt atomstruktur på grund av dålig upplösning av elektrontäthetskartorna man får från testet. För att effektivisera denna process utvecklades TEXTAL som är ett helautomatiserat datorprogram för analys av dessa elektrontäthetskartor. 3 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet 2.1 Vad är TEXTAL? TEXTAL är ett program som använder sig av en mängd olika AI-­‐tekniker för att ta reda på 3D-­‐Strukturen hos protein. För närvarande finns det tre olika versioner av TEXTAL på marknaden; en web-­‐baserad version kallad WebTex(2002), som en komponent i en integrerad kristallografimjukvara vid namn PHENIX(2003) och som mjukvaruapplikationer för privat bruk (2004). TEXTAL och dess sub-­‐komponenter används idag av kristallografilaboratorier och universitet runt om i världen. Systemet har visat sig fungera bra även när upplösningen är relativt dålig, vilket ofta är fallet. TEXTAL jobbar med elektrondensitetskartor med medelhög upplösning (3-­‐5Å, där 1Å = 10-­‐10m). 4 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet 2.2 Hur fungerar TEXTAL? TEXTAL-­‐programmet är uppdelat i tre olika steg som körs sekventiellt. Steg 1: ”CAPRA” (C-­‐Alpha Pattern Recognition Algorithm), detta steg går ut på att försöka identifiera ryggradsstrukturen (backbone) i proteinstrukturen. Resultatet av CAPRA är en PDB fil med flera olika Cα kedjor (det kan även finnas fragmenterade kedjor på grund av avvikelser i elektrondensiteten hos huvudkärnan). Dessa Cα kedjor matas sedan in i det andra steget av TEXTAL som kallas för LOOKUP. Under LOOKUP-­‐steget beräknar TEXTAL särdrag för varje område runt en förutspådd Cα och använder sedan dessa särdrag för att söka efter andra områden med liknande elektrondensitet ur en databas med kända strukturer vars särdrag beräknats manuellt. LOOKUP extraherar atomkonfigurationen från den region som bäst matchar en region i den okända elektrondensitetskartan, sedan försöker LOOKUP rotera och passa in den strukturen med liknande elektrondensitet till den okända strukturen. LOOKUP fyller ut de befintliga Cα-­‐
kedjorna med ytterligare sidokedjor och atomer för ryggradsstrukturen. Under det tredje steget bearbetas de PDB-­‐filer man fått från LOOKUP genom att se till att koordinaterna för ryggrads-­‐atomerna sitter på ett idealt avstånd från varandra (3.8Å) och justerar atomerna i sidokedjorna för att inte steriska konflikter1 ska uppstå. Det fjärde stora steget är efterbehandlingen där man kollar om proteinet är känt, för att sedan se till att kedjorna ligger i sannolika positioner i aminosyrasekvensen hos proteinet. På grund av att TEXTAL endast känner igen ett protein på dess struktur finns viss chans att TEXTAL ibland ger en felaktig förutsägelse gällande aminosyrors identiteter. Genom att använda en speciell matris för likheter i aminosyror som 1 Ett kemiskt fenomen när närliggande atomgrupperingars elektronmoln repellerar varandra 5 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet innefattar vilka misstag TEXTAL tidigare gjort, kan man oftast avgöra den exakta aminosyran baserat på vart kedjorna producerade av TEXTAL passar in i den kända sekvensen. Resultatet av detta kan skickas tillbaka till LOOKUP-­‐steget för att producera en exaktare modell. 2.2.1 Konstruktion Fig 1. TEXTAL’s processeringssteg 6 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet Fig 2. TEXTALs uppbyggnad 2.2.1.1 CAPRA: C-­‐Alpha pattern Recognition Algorithm CAPRA arbetar i fyra huvudsteg. Först normaliseras densitetskartan, detta steg är viktigt för att man ska kunna jämföra mönster på kartan med mönster från andra kända kartor. Efter det så skapas ett ”skelett” bestående av pseudoatomer som generellt sett ska gå igenom de ställen med högst elektrondensitet. Värt att veta kan dock vara att ”skelettet” inte endast består av de atomerna i ryggraden utan också i sidokedjor. Sedan väljer CAPRA ut den del av pseudo-­‐atomerna som verkar representera Cα-­‐atomer ur skelettet. Detta görs med hjälp av ett ”feed forward” neuralt nätverk bestående av två lager med 20 gömda neuroner och sigmoidtrösklar för att för varje atom ta reda på om det är sannolikt att det är en Cα-­‐atom. Man matar nätverket med information bestående av 19 olika särdragsvärden som man samlar in från regionen runt varje pseudoatom (se figur 3). Man tränar det neurala nätverket genom att ge det exempel på alla dessa särdrag taget från områden med hög densitet på olika avstånd (från 0-­‐6Å) från en Cα-­‐atom i ett sedan tidigare känt protein. 7 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet fig 3. Särdragsvärden Vikterna i nätverket optimeras med hjälp av en ”back propagation algoritm”. Denna fungerar genom att ge nätverket olika input för att generera output från nätverket. Output jämförs sedan med det output man förväntade sig, sedan justeras alla vikter i nätverket, från output-­‐noderna till det dolda lagret och sedan vidare till inputnoderna. Denna process sker iterativt fram till dess att man uppnått en rimlig felmarginal. Sedan väljs en mängd Cα-­‐atomer ut baserat på avståndsinformationen man fått från det neurala nätverket, dessa pseudo-­‐atomer rankas sedan beroende på det förutspådda avståndet till en riktig Cα-­‐atom. Pseudoatomerna väljs sedan ut efter hur nära de kan tänkas ligga en riktig Cα-­‐atom, pseudoatomer fortsätter sedan väljas ut så länge de inte befinner sig inom en radie på 2.5Å av en annan Cα-­‐atom. Efter detta beräkningssteg tar algoritmen ”BUILD_CHAINS” vid. Eftersom det finns många olika sätt man kan sammanlänka dessa atomer eftersom det finns 8 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet både sidokedjor och ryggradsstrukturen som kan kopplas samman och loopa. BUILD_CHAINS kopplar ihop möjliga Cα-­‐atomer som ligger på ett avstånd av 2-­‐
5Å till en annan möjlig Cα-­‐kandidat. Detta skapar en ”överkopplad” graf. Efter detta försöker BUILD_CHAINS identifiera möjliga sekundära strukturer med hjälp av en geometrisk analys av strukturen. Alla fragment av atomer med längden 7 blir numrerade och utvärderade på grund av dess linjära egenskaper och om de har en helixstruktur. Måttet på linjäriteten är förhållandet mellan avståndet av fragmentet och summan av de individuella länkarna, är måttet mellan 0.8 och 1 är det med stor sannolikhet en β-­‐sträng. Helixiciteten mäts genom att räkna ut standardavvikelsen från bindningsvinkeln på 95° +50° för vridningsvinklar mellan Cα-­‐atomer i en α-­‐helix. 9 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet Slutligen sammanställs all information för att möjliggöra ett heuristiskt beslut gällande vilka Cα-­‐atomer som ska länkas till en kedja. Efter det delas grafen upp i delar som för varje separat del kan genomgå en av många strategier. På små kedjor (upp till 20 atomer) tillämpar man en djupet först-­‐sökning som räknar alla möjliga vägar som inte korsas. Dessa får därefter en poäng baserat på attribut såsom totallängd, hög poäng från det neurala nätverket och förenlighet med sekundära strukturer. Den väg som får högst poäng väljs sedan ut som en matchande struktur. En annan strategi används för större delkedjor (mer än 20 atomer stora). Här försöker man bryta ned alla ”överkopplade” kedjor till linjära kedjor där alla pseudo-­‐Cα-­‐atomer endast är bundna till 2 andra pseudoatomer. Först bryts alla ”cykler” vid Cα-­‐atomer med sämst poäng hos det neurala nätverket och sen klipps förgreningar med tre eller fler grenar bort. Detta baseras på ungefär samma heuristik som den för mindre kedjor men man fokuserar på att klippa bort korta grenar (med låg poäng hos det neurala nätet) som har potential att vara sidokedjor och undviker att klippa kedjor som ser ut att vara äkta sidokedjor. 2.2.1.2 LOOKUP Central Mönstermatchningsalgoritm LOOKUP används för att fylla i resterande delar av ryggraden och dess sidokedjor. Man anropar LOOKUP-­‐funktionen på varje individuell Cα-­‐atom i huvudkedjan sedan sammanlänkas alla atomer för att skapa en komplett modell av en möjlig struktur. LOOKUP använder sig av en typ av mönsterigenkänning baserad på 19 olika särdrag för att förutspå de lokala koordinaterna för atomer i ett område. LOOKUP söker i en databas av tidigare kända strukturer och jämför dessa med den okända strukturen. För att detta ska vara genomförbart används numeriska särdrag som representerar de olika aspekterna av densitetsmönstren. 10 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet Det är viktigt att särdragen inte förändras vid rotation då proteinmolekylen kan vara annorlunda roterad än molekylen den matchas mot. De 19 särdrag TEXTAL använder för att räkna ut vad för typ av molekyl det är kan delas upp i 4 generella klasser. Den första klassen innehåller särdrag såsom medelvärdet, standardavvikelsen, skewness och kurtosis av densiteten i området den försöker matcha mot databasen. En andra klass är baserat på tröghetsmoment, TEXTAL räknar ut en tröghetsmatris och gör sedan om tröghetsmomentet till egenvariabler. Dessa reflekterar spridningen och symmetrin i densiteten i den aktuella regionen. En annan klass analyserar avståndet till masscentret vilket avgör om densiteten i området är balanserad eller om densiteten är ojämn. Sist har vi en klass med särdrag som kallas ”spokes”. Denna klass mäts geometriska egenskaper baserat på formen på densiteten. För områden som är centrerade runt Cα-­‐atomer finns det oftast tre rör (”spokes”) av densitet som går ut från centrum; två från ryggraden och en från en sidokedja. LOOKUP letar rätt på tre icke närliggande riktningar runt en Cα där densiteten är på ett lokalt maximum. Sen mäter man vinklarna mellan dessa vektorer, både minsta vinkel, största vinkel och summan av vinklarna. I vissa regioner ligger rören relativt plant med ungefär 120° mellan dem, i andra regioner kan de forma något som liknar en pyramid eller dras mot varandra. Det finns dock en uppsjö andra särdrag man kan använda men det har visat sig att dessa 19 är tillräckligt. Varje särdrag kan även beräknas med olika radier. För närvarande används radierna 3Å, 4Å, 5Å och 6å vilket betyder att det finns fyra olika versioner av varje särdrag. 11 Alexander Eriksson [email protected] Fördjupningsarbete Artificiell intelligens II HT ’11 Kognitionsvetenskap Linköpings universitet 2.2.1.2.1 Genomsökning av databasen med hjälp av särdragsmatchning Särdragen som togs fram av LOOK_UP-­‐algoritmen används sedan för att söka efter matchande regioner med liknande densitet i en stor databas av tidigare lösta regioner. Figur 4: LOOKUP’s funktionsdiagram. LOOKUP tar först koordinaterna för Cα-­‐atomerna från CAPRA för att beräkna särdragsvektorer av densiteten i regionen, sen jämförs den med särdragsvektorer från tidigare lösta densitetsmönster i databasen där den som matchat bäst väljs ut. Densitetsmönstret väljs ut med avseende på särdragsvektorer för att få ett mönster med så lite avvikelse i utseendet som möjligt och efter det jämförs korrelationen mellan densiteterna. Sedan väljs de atomer från den bäst matchande regionen ut och roteras för att passa in i den okända strukturen. Databasen som TEXTAL använder sig av består av tidigare kända proteinkartor som matats in i TEXTAL, dessa proteinkartor har en upplösning på upp till 2.8Å 12 Alexander Eriksson [email protected] Fördjupningsarbete Artificiell intelligens II HT ’11 Kognitionsvetenskap Linköpings universitet för att simulera en medelupplöst karta. Dessa proteinkartor har fått sina särdrag beräknade på ett 5Å stort område runt varje Cα-­‐atom på kartan i varje proteinstruktur. Detta ger en databas på ca 50,000 olika regioner. Skillnaden i särdrag mellan regionerna mäts genom att räkna ut ett viktat euklidiskt avstånd mellan två särdragsvektorer. Formeln för att räkna ut det euklidiska avståndet är: !! × (!! !! − !! !! )! !"#$ !! , !! = !
F är särdrag och R är regionerna. Ju större skillnad mellan separata särdragsvärden det är, desto större kommer det genomsnittliga avståndet vara. Områden med liknande densitetsmönster bör ha liknande särdragsvärden och därför även ett lågt värde på särdragsavståndet. När databassökningen sker räknar LOOKUP ut skillnaden mellan den okända strukturen och alla kända regioner i databasen och behåller de 400 bästa matcherna med lägst avstånd i minnet då de kan vara potentiella matcher till den okända strukturen. Vikterna wi kan användas för att normalisera särdragsskillnader till en enhetlig skala så att inte större värden dominerar på ett orättvist sätt. Man kan även justera vikterna på ett partiskt sätt så att vissa särdrag som påverkar mera i ett beslut gynnas och minska påverkan från mindre relevanta särdrag. Denna beräkning är dock inte alltid tillräcklig då två regioner som har liknande mönster förväntas ha liknande särdragsvärden, men så är inte alltid fallet utan de kan även ha olika särdragsvärden vilket kan leda till ”mismatches”. Därför används denna beräkning endast som ett filter för att avgränsa den annars enorma databasen. För att gå vidare i bestämmandet av strukturen beräknar man korrelationen mellan densiteten hos den okända strukturen, detta steg kräver en väldig datakraft och tid att genomföra och är därför avgränsat till de 400 kända strukturerna man fått fram efter att ha filtrerat databasen. 13 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet När LOOKUP har hittat den struktur i databasen som verkar vara mest lik den struktur vi försöker identifiera är det slutliga steget att hämta koordinaterna för atomer från den kända strukturen och tillämpa lämpliga transformationer för att den ska passa in mot den okända strukturen. Detta ger en inledande oraffinerad modell av strukturen. 2.2.1.3 Efterbehandling När en inledande modell skapats av TEXTAL, och dess steg CAPRA och LOOKUP, tar det tredje och sista steget vid. Under detta steg efterbehandlas modellen för att minska fel i den inledande modellen och förbättra korrektheten i den slutliga modellen. 3.1 Slutdiskussion Jag stötte på TEXTAL-­‐programmet av en ren slump och hade tidigare ett intresse för biologi och kemi, vilket gjorde att det kändes som ett bra område att fördjupa sig inom. Däven det faktum att TEXTAL använde sig av många olika AI-­‐tekniker bidrog till att valet blev enkelt. Jag känner att jag lärt mig väldigt mycket och att jag fått ökat intresse och förståelse för bland annat neurala nätverk, något som jag tidigare haft väldigt svårt att greppa. Jag kan tänka mig att just denna del av AI har väldigt stora möjligheter att tillämpas på många olika sätt i olika analysmoment på laboratorier men även inom industrin då de skalar ner tiden för en analys från att ha tagit flera veckor till bara några timmar vid gynnsamma förhållanden. 14 Alexander Eriksson Fördjupningsarbete Artificiell intelligens II Kognitionsvetenskap [email protected] HT ’11 Linköpings universitet 4.1 Källor: TEXTAL System: Artificial Intelligence Techniques for Automated Protein Model Building 2003 Methods in Enzymology -­‐ By Thomas R. Ioerger and James C. Sacchettini – Methods in enzymology 2003, p 244-­‐270 TEXTAL: A Pattern Recognition System for Interpreting Electron Density Maps -­‐ Thomas R. Ioerger ,Thomas Holton, Jon A. Christopher and James C. Sacchettini-­‐ I ISMB(1999) 130-­‐137 Intelligent Systems in Molecular Biology TEXTAL™: Automated Crystallographic Protein Structure Determination -­‐ Kreshna Gopal, Tod Romo, Erik Mckee, Kevin Childs, Lalji Kanbi, Reetal Pai, Jacob Smith, James Sacchettini and Thomas Ioerger -­‐ IAAI'05 i Innovative applications
of artificial intelligence - Volume 3
TEXTAL‘: Artificial Intelligence Techniques for Automated Protein Structure Determination -­‐ Kreshna Gopal, Reetal Pai, Thomas R. Ioerger, Tod D. Romo, James C. Sacchettini -­‐ I IAAI(2003) 93-­‐100 Innovative Applications of Artificial intelligence 15