Géntérkép modellező C# program fejlesztése

Dátum
Folyóirat címe
Folyóirat ISSN
Kötet címe (évfolyam száma)
Kiadó
Absztrakt

Célom volt egy olyan bioinformatikai szoftver elkészítése, amellyel képesek vagyunk biológiai adatbázisokat megnyitni és felhasználni – lehetoleg a méretétol függetlenül –, valamint az adatbázisokban lévo szekvenált adatokat meg tudjuk vizsgálni különféle illesztési módszerekkel. Természetesen arra is lehetoséget akartam kínálni, hogy ne csupán az adatbázisokban lévo szekvenciákkal tudjunk illesztéseket végezni, hanem olyanokkal is, amelyeket saját kezuleg gépelünk be. Ebbol kifolyólag az általunk megadott szekvenciákkal vagy akár egy kézileg megadott és egy adatbázisban lévo szekvenciával is legyen lehetoségünk illesztéseket végezni. Véleményem szerint az ilyen jellegu illesztések szükségesek, mert ezzel is növelhetjük a szoftver által kínált lehetoségeket és a szekvenciaillesztések szabadságát. Ezen felül még célom volt a grafikus megjelenítés. Pontosabban a szekvenciaillesztési eredmény egyfajta részeredményének, valamint az illesztés egészének modellszeru megjelenítése. A diplomamunkám készítése során a célok teljesítése érdekében kutatást végeztem, melynek köszönhetoen megismerkedtem a bioinformatikával, annak történetével és biológiai hátterével, ezáltal pedig egy átfogóbb képet kaphattam errol a tudományterületrol. Ezen felül persze a szoftver által igénybe vett adatbázisok mivoltját is megérthettem. Gondolok itt az adatbázisok felépítésére, a genetikai kódra. Természetesen elengedhetetlen volt utána nézni mind az örökítoanyagnak, mind a proteinnek, illetve az aminosavnak, hiszen az adatbázisok ezen információk nélkül csupán tagolt karakterláncokat tartalmaznak, melyeknek nem sok értelmük van. Az emberek sok energiát fektetnek abba, hogy minél jobban megismerhessük a saját genomunkat (Humán Genom Projekt). A genetikai információk elemzésibol sok mindent megtudhatunk. Például tudunk hasonlóságokat vizsgálni, genetikai betegségeket keresni, megérteni a mivoltunkat és így tovább. Ezeket az elemzéseket számítógépekkel végzik, így a bioinformatika fontos az emberiség számára. Továbbá betekintést nyerhettem a szekvenciaillesztésbe, hogy tulajdonképpen mi is az, mi célt szolgál. Mit jelent a score mátrix, a páronkénti illesztés és mi az a rés. Megérthettem a helyettesítési mátrixokat is, amelyek szerepe az illesztések során meglehetosen fontos. Utánajártam a PAM és a BLOSUM mátrixoknak és ezek összehasonlításának, melynek köszönhetoen átláthatóvá váltak. Megismerhettem a globális és lokális illesztés fogalmát, valamint a hozzájuk kapcsolódó két híres algoritmust, amelyet a szoftverben is implementáltam. Továbbá megértettem azt is, hogy a szekvenciaillesztés eredményét miként kell ábrázolni. Ezen információk birtokában minden a rendelkezésemre állt ahhoz, hogy megértsem mi rejlik egy ilyen jellegu szoftver funkciói mögött, amelyeket implementáltam és 3. fejezetben részletesen be is mutattam. A diplomamunkámhoz készített szoftvert érdemes a fobb funkciói szerint tárgyalni. A beolvasási folyamatok megvizsgálásával érdemes kezdeni, melyek révén hozzáférhetünk tömérdek genetikai kódhoz. A beolvasást többlépcsos olvasással oldottam meg. Az adatbázis beolvasásakor a szekvenciák fejléceit kerestem meg és tároltam el egyéb adatokkal (pl. olvasó pozíciója) az ehhez készített header fájlokban. Ezt követoen elegendo alkalmanként az adatbázis egy bizonyos részét olvasni. Miután a beolvasás megtörtént, különbözo feladatokat hajthatunk végre a beolvasott szekvenciákon, ilyen például a szekvenciaillesztés. Ezt a korábban említett Needleman-Wunsch és Smith-Waterman algoritmus megvalósításával oldottam meg. Ha a felhasználó kiválasztja a két illesztésre szánt szekvenciát, ami lehet kézileg képelt és/vagy adatbázisbeli, akkor a megfelelo metódussal elvégzem a szekvenciáknak az illesztését. Végezetül pedig a grafikus megjelenítés következik, elvégre a szekvenciaillesztés csak akkor nyer igazán értelmet, ha az eredményét megfeleloen meg is tudjuk vizsgálni. Ezért készítettem a szoftverhez grafikus megjelenítést, amely révén lehetséges az implementált helyettesítési mátrixokat és az illesztési eredményt megtekinteni egy olyan formában, amellyel az eredmény egy tetszoleges részét tudjuk vizsgálni. Ezen túlmenoen az egész illesztésre vonatkozóan készítettem egyfajta illesztési modell, ami tulajdonképpen egy színkóddal ellátott sáv. Továbbá a megjelenítésénél az illesztési eredményének részletei is helyet kaptak. Úgy vélem, hogy a célok mindegyikét sikerült megvalósítanom, minek köszönhetoen a szoftver, amelyet a diplomamunkám kezdetén elképzeltem, valóra vált. Sikerült megvalósítanom a biológiai adatbázisok beolvasását, a fent felsorolt szekvenciák kiválasztásával a globális, illetve lokális illesztést különféle helyettesítési mátrixok használatával (amelyek grafikus megjelenítésére is van lehetoségünk), amelyeknél a rések büntetopontjait is megadhatjuk. Továbbá a grafikus megjelenítésnél megvalósítottam az illesztési modellnek és részeredmények ábrázolását. A részeredményeknél jelezve van, hogy az illesztés mely része látható, az illesztési modell esetében színkódokat is felhasználtam, továbbá nagyobb méteru illesztés esetében, ha a modell egy adott részére kattintunk, akkor az adott részhez ugorhatunk és jeleníthetjük meg. Ezen túlmenoen bizonyos részleteket is feltüntettem, mint az egyezések, eltérések, gap-ek száma és aránya, futásido, szekvenciák és az illesztés egészének hossza.

Leírás
Kulcsszavak
Bioinformatika, Szekvenciaillesztés, C#
Forrás