-
Notifications
You must be signed in to change notification settings - Fork 0
/
saarekkeet_dokumentaatio.txt
136 lines (106 loc) · 6.16 KB
/
saarekkeet_dokumentaatio.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Python -ohjelmointia biotieteilijöille 2017 harjoitustyö
Ohjelma, joka etsii annetusta genomista CpG-saarekkeita.
Sisältö
1. Yleiskuvaus toiminnallisuudesta
2. Toteutuksesta tarkemmin
3. Testitulosteet
Testattu kahdella genomilla 186972394 ja 14630660. Esimerkkigenomit otettu
sivulta http://biopython.org/DIST/docs/api/Bio.Entrez-module.html.
Tulosteet hakutuloksista dokumentin lopussa kohdassa 3.
1. Yleiskuvaus toiminnallisuudesta
Ohjelma kysyy alussa käyttäjältä saarekkeiden hakuparametreja: hakuikkunan
aloituskoko, CpG-suhteen raja-arvo, CG-pitoisuuden raja-arvo. Parametreilla
on oletusarvot (200, 50, 60), jotka voi suoraan hyväksyä enterillä. Seuraavaksi
ohjelma kysyy tutkittavan genomin tunnusta. Käyttäjä voi antaa nimeksi "test",
tällöin käytetään SH1_genome.fasta tiedostossa olevaa genomia. Jos käyttäjä
syöttää jonkin muun tunnuksen haetaan genomin sekvenssi internetistä Bio.Entrez
palvelusta. Tällöin käyttäjältä kysytään myös sähköpostiosoite palvelua varten.
Tämän jälkeen haettua sekvenssiä (tai sekvenssejä) aletaan käymään läpi ja
etsimään saarekkeita.
CpG-saarekkeita etsitään genomin sekvenssistä käymällä sekvenssiä läpi
näyteikkunan kokoisina paloina kasvattaen näyteikkunaa kunnes saarekkeen ehdot
eivät enää täyty. Tällöin siirretään näyteikkunan aloituskohtaa yhdellä ja
otetaan uusi näyte ja kasvatetaan jälleen näyteikkunaa kunnes saarekkeen ehdot
eivät enää täyty. Jatketaan näin kunnes koko genomi on käyty läpi. Tämän
jälkeen tulostetaan käyttäjälle etsintätulokset genomeittain.
Ohjelma kysyy käyttäjältä käynnistyksen yhteydessä tutkittavien genomien nimet,
ohjelmalle voi syöttää haluamansa määrän genomeja. Lopuksi ohjelma tulostaa
yhteenvedon saarekkeiden hakutuloksista kullekin genomille. Tulostuksessa
listataan löytyneet saarekkeet. Saarekkeista tulostetaan saareekkeen alku- ja
loppukohta, näistä laskettu saarekkeen pituus sekä saarekkeen CG-pitoisuus ja
CpG-suhteen arvo (eli hakukriteerien toteuma kullekin saarekkeelle).
Ohjelma visualisoi saarekelöydökset piirtämällä pylväsdiagrammiesityksen
löydetyistä saarekkeista kullekin genomille. Yksi x-akselilla oleva pylväs
vastaa yhtä löytynyttä saareketta. Kuvaajan y-akseli kuvaa saarekkeen pituutta.
Pylväsdiagrammin ongelma on se, että kuva menee helposti tukkoon kun löytyneitä
saarekkeita on useampia. Scatterplot henkinen toteutus voisi myös olla hyvä,
jollei parempikin. Tällöin ympyrän koko voisi kuvata saarekkeen pituutta ja
saarekkeen sijainti kuvaajassa voisi kuvata saarekkeen CG-pitoisuuden ja
CpG parien suhteen arvoja.
2. Toteutuksesta tarkemmin
Toteutuksessa on käytetty ResearchSubject-luokkaa kuvaamaan tutkittavia genomeja.
ResearchSubjectit osaavat kysellä tarvitsemansa tiedot: genomin nimen, Bio.Entrez
palveluun tarvittavan sähköpostiosoitteen sekä lukea tutkittavan genomin
sekvenssin tiedostosta tai Bio.Entrez palvelusta (populate_subject_from_input
metodi). Subjectit osaavat tulostaa tiedot itsestään ja löytyneistä saarekkeista
loppuyhteenvetoa varten (display-metodi).
Saarekkeiden etsintöjen hakuparametrit, raja-arvot (saarekkeen minimikoko,
CG-pitoisuus ja CpG-parien osuus) kysytään käyttäjältä erikseen ja ovat yhteiset
kaikille tutkittaville genomeille.
Sekvenssien hakuun internetistä käytetään Bio.Entrez palvelua.
Kuvaajien piirtämiseen käytetään matplotlib ja numpy kirjastoja.
Ohjelmakoodissa metodit on pyritty dokumentoimaan.
3. Testitulosteet
Kahden genomin testitulosteet eri parametreilla:
Genomi:
- nimi: 186972394
- sekvenssin pituus: 1302
- mahdollisten CpG-saarekkeiden lkm: 49
saareke 1 : pituus 20 start_index: 206 end_index: 226 (Obs/Exp = 166.67 ja %CG = 50.0)
saareke 2 : pituus 22 start_index: 385 end_index: 407 (Obs/Exp = 73.33 ja %CG = 50.0)
saareke 3 : pituus 24 start_index: 386 end_index: 410 (Obs/Exp = 66.67 ja %CG = 50.0)
saareke 4 : pituus 20 start_index: 387 end_index: 407 (Obs/Exp = 80.0 ja %CG = 50.0)
..... Loput rivit leikattu pois tilan säästämiseksi ...
Saarekkeiden hakuun käytetyt arvot:
- hakuikkunan aloituskoko: 20
- CpG-suhteen raja-arvo: 60
- CG-pitoisuuden raja-arvo: 50
Genomi:
- nimi: 186972394
- sekvenssin pituus: 1302
- mahdollisten CpG-saarekkeiden lkm: 602
saareke 1 : pituus 40 start_index: 4 end_index: 44 (Obs/Exp = 114.29 ja %CG = 30.0)
saareke 2 : pituus 40 start_index: 5 end_index: 45 (Obs/Exp = 114.29 ja %CG = 30.0)
saareke 3 : pituus 43 start_index: 6 end_index: 49 (Obs/Exp = 107.5 ja %CG = 30.23)
saareke 4 : pituus 43 start_index: 7 end_index: 50 (Obs/Exp = 107.5 ja %CG = 30.23)
..... Loput rivit leikattu pois tilan säästämiseksi ...
Saarekkeiden hakuun käytetyt arvot:
- hakuikkunan aloituskoko: 40
- CpG-suhteen raja-arvo: 50
- CG-pitoisuuden raja-arvo: 30
Genomi:
- nimi: 14630660
- sekvenssin pituus: 406
- mahdollisten CpG-saarekkeiden lkm: 146
saareke 1 : pituus 357 start_index: 49 end_index: 406 (Obs/Exp = 73.28 ja %CG = 54.06)
saareke 2 : pituus 200 start_index: 50 end_index: 250 (Obs/Exp = 64.23 ja %CG = 50.0)
saareke 3 : pituus 344 start_index: 62 end_index: 406 (Obs/Exp = 68.25 ja %CG = 54.07)
saareke 4 : pituus 212 start_index: 63 end_index: 275 (Obs/Exp = 68.81 ja %CG = 50.0)
..... Loput rivit leikattu pois tilan säästämiseksi ...
Saarekkeiden hakuun käytetyt arvot:
- hakuikkunan aloituskoko: 200
- CpG-suhteen raja-arvo: 60
- CG-pitoisuuden raja-arvo: 50
Genomi:
- nimi: 14630660
- sekvenssin pituus: 406
- mahdollisten CpG-saarekkeiden lkm: 162
saareke 1 : pituus 100 start_index: 6 end_index: 106 (Obs/Exp = 64.1 ja %CG = 50.0)
saareke 2 : pituus 101 start_index: 7 end_index: 108 (Obs/Exp = 62.35 ja %CG = 50.5)
saareke 3 : pituus 108 start_index: 8 end_index: 116 (Obs/Exp = 74.48 ja %CG = 50.0)
saareke 4 : pituus 116 start_index: 9 end_index: 125 (Obs/Exp = 69.05 ja %CG = 50.0)
..... Loput rivit leikattu pois tilan säästämiseksi ...
Saarekkeiden hakuun käytetyt arvot:
- hakuikkunan aloituskoko: 100
- CpG-suhteen raja-arvo: 60
- CG-pitoisuuden raja-arvo: 50