Inlärning av genmodeller för automatisk analys av EST-data
En viktig teknik för att leta gener går ut på att sekvensera mRNA,
själva mallen för proteinet efter transkribering från DNA, som hittas
i cellen. Genom att titta på ju mRNA så undviker man att sekvensera
godtyckligt genomiskt DNA. Resultatet kallas Expressed Sequence Tags
(EST) och är ett billigt sätt att få en överblick över en organisms
genuppsättning. Det finns naturligtvis begränsningar och problem med
metoden, som i alla laborativa sammanhang, och en del av dom ESTer man
får ut är faktiskt inte från en gen.
Naturligtvis vill man sålla bort de ESTer som inte är från gener. Det
finns två lösningar: För det första kan man göra jämförelser och allt
som liknar tidigare kända gener (kanske i andra organismer) behåller
man. Den metoden hjälper dig ganska långt, men när det är en organism
från en "ny del" av livets träd så är en stor del av generna faktiskt
att betrakta som helt nya. Den andra metoden försöker hantera detta
med beräkningar. Om en EST ser ut som en gen, då behåller vi den. Det
är förvånansvärt svårt att göra detta och ett kraftfullt verktyg
behövs: Dolda Markovmodeller (HMM). HMMer har länge använts för att
leta gener i genomiskt DNA och dess grundläggande struktur är väl
förstådd. Baserat på den kunskapen tog en grupp forskare för ett par
år sedan fram ett program, ESTScan, som är anpassat till att leta
gener i just ESTer. Det programmet fungerar bra på dom organismer där
vi har bra kunskap över hur gener ser ut, men tyvärr är det just dom
organismerna där nyttan av ESTScan är som minst. Gener har lite olika
utseende i olika arter och den HMM som ESTScan använder måste anpassas
till varje organism som den används på. Om du har en organism där
väldigt lite gendata finns, och kanske ett fåtal kända gener,
existerar helt enkelt inte tillräckligt med exempeldata för det
hjälpprogram ESTScans har för att ta fram en HMM.
Den uppgift som föreslås här är att skriva ett program likt ESTScan,
men som kan lära genmodeller från EST-data. Till skillnad från ESTScan
ska man alltså inte behöva ha färdiga och snygga exempelgener i stort
antal för att få ut en HMM, utan det ska använda oövervakad inlärning
(
unsupervised learning).
Uppgifter
- Skriv ett program som lär sig en HMM från EST-data.
- Skriv ett program som givet en HMM avgör om en EST täcker en gen eller inte.
- Utvärdera programmet på slumpmässigt valt genomdata för att veta hur ofta man får falska positiva, dvs hur "optimistiskt" programmet är
- Utvärdera programmet på ESTer som har liknande gener i andra organismer för att se hur ofta man får falska negativa, dvs hur "försiktigt" programmet är.