macroape 3.3.7 → 3.3.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. data/README.md +2 -2
  2. data/Rakefile.rb +6 -6
  3. data/TODO.txt +23 -3
  4. data/benchmark/similarity_benchmark.rb +18 -18
  5. data/lib/macroape/aligned_pair_intersection.rb +4 -4
  6. data/lib/macroape/cli/align_motifs.rb +34 -28
  7. data/lib/macroape/cli/eval_alignment.rb +73 -47
  8. data/lib/macroape/cli/eval_similarity.rb +65 -40
  9. data/lib/macroape/cli/find_pvalue.rb +30 -34
  10. data/lib/macroape/cli/find_threshold.rb +52 -41
  11. data/lib/macroape/cli/preprocess_collection.rb +68 -58
  12. data/lib/macroape/cli/scan_collection.rb +89 -73
  13. data/lib/macroape/cli.rb +184 -1
  14. data/lib/macroape/counting.rb +31 -5
  15. data/lib/macroape/pwm_compare.rb +8 -2
  16. data/lib/macroape/pwm_compare_aligned.rb +15 -10
  17. data/lib/macroape/version.rb +2 -1
  18. data/macroape.gemspec +2 -1
  19. data/spec/count_distribution_spec.rb +11 -11
  20. data/test/align_motifs_test.rb +16 -4
  21. data/test/data/{AHR_si.pat → AHR_si.pwm} +0 -0
  22. data/test/data/{KLF3_f1.pat → KLF3_f1.pwm} +0 -0
  23. data/test/data/{KLF4_f2.pat → KLF4_f2.pwm} +0 -0
  24. data/test/data/KLF4_f2_scan_results_all.txt +1 -2
  25. data/test/data/KLF4_f2_scan_results_default_cutoff.txt +1 -2
  26. data/test/data/KLF4_f2_scan_results_precise_mode.txt +1 -2
  27. data/test/data/KLF4_f2_scan_results_weak_threshold.txt +2 -0
  28. data/test/data/{SP1_f1.pat → SP1_f1.pwm} +0 -0
  29. data/test/data/{SP1_f1_revcomp.pat → SP1_f1_revcomp.pwm} +0 -0
  30. data/test/data/collection_pcm_without_thresholds.yaml +186 -183
  31. data/test/data/collection_without_thresholds.yaml +186 -183
  32. data/test/data/{medium_motif.pat → medium_motif.pwm} +0 -0
  33. data/test/data/{short_motif.pat → short_motif.pwm} +0 -0
  34. data/test/data/test_collection/{GABPA_f1.pat → GABPA_f1.pwm} +0 -0
  35. data/test/data/test_collection/{KLF4_f2.pat → KLF4_f2.pwm} +0 -0
  36. data/test/data/test_collection/{SP1_f1.pat → SP1_f1.pwm} +0 -0
  37. data/test/data/test_collection.yaml +179 -176
  38. data/test/data/test_collection_weak.yaml +214 -0
  39. data/test/eval_alignment_test.rb +97 -21
  40. data/test/eval_similarity_test.rb +104 -26
  41. data/test/find_pvalue_test.rb +22 -9
  42. data/test/find_threshold_test.rb +76 -25
  43. data/test/preprocess_collection_test.rb +16 -21
  44. data/test/scan_collection_test.rb +26 -14
  45. data/test/test_helper.rb +96 -12
  46. metadata +44 -24
@@ -1,73 +1,73 @@
1
- --- &19230696 !ruby/object:Bioinform::Collection
2
- collection:
3
- - - !ruby/object:Bioinform::PWM
4
- parameters: !ruby/object:OpenStruct
5
- table:
6
- :name: GABPA_f1
7
- :tags:
8
- - *19230696
9
- :background: &19231104
10
- - 1
11
- - 1
12
- - 1
13
- - 1
14
- modifiable: true
15
- matrix:
16
- - - -0.1106670158341858
17
- - 0.013801606113892391
18
- - 0.6054596108973699
19
- - -1.3518085041421573
20
- - - 0.37030668921643345
21
- - 0.15761121480429963
22
- - 0.009069314183831202
23
- - -0.9888619717703562
24
- - - 0.47526546359546684
25
- - -0.3011678534572083
26
- - 0.4031522994412777
27
- - -1.8638752827041059
28
- - - -1.5544255540164373
29
- - 1.1082369687811506
30
- - -0.2814091552834454
31
- - -5.30708531823271
32
- - - -0.6362037835776368
33
- - 1.235338189985594
34
- - -3.5801322928552253
35
- - -5.717323067092849
36
- - - -5.852906870733575
37
- - -5.852906870733575
38
- - 1.3841383838057746
39
- - -5.852906870733575
40
- - - -5.852906870733575
41
- - -5.852906870733575
42
- - 1.3841383838057746
43
- - -5.852906870733575
44
- - - 1.3835219739184708
45
- - -5.2341956006430985
46
- - -5.852906870733575
47
- - -5.852906870733575
48
- - - 1.3756340514956562
49
- - -5.394962755562375
50
- - -5.394962755562375
51
- - -3.401117964959733
52
- - - -1.2176198315414444
53
- - -3.109079898175411
54
- - 1.2964067931472216
55
- - -5.717323067092849
56
- - - -1.3716559438167257
57
- - -0.2761401935045069
58
- - -1.8504445165866068
59
- - 1.0404320473626856
60
- - - -0.5440863133031895
61
- - -0.48103682561971345
62
- - 0.907381908447086
63
- - -1.1280642594012078
64
- - - 0.10557340209290218
65
- - -0.01814819455289191
66
- - 0.4381106695354074
67
- - -1.0304105539540915
68
- max_hash_size: 1000000
69
- - !ruby/object:OpenStruct
1
+ --- !ruby/object:Bioinform::Collection
2
+ container:
3
+ - !ruby/object:Bioinform::Motif
4
+ parameters: !ruby/object:OpenStruct
70
5
  table:
6
+ :original_data_model: :pwm
7
+ :pwm: !ruby/object:Bioinform::PWM
8
+ parameters: !ruby/object:OpenStruct
9
+ table:
10
+ :name: GABPA_f1
11
+ :background: &15478152
12
+ - 1
13
+ - 1
14
+ - 1
15
+ - 1
16
+ :max_hash_size: 1000000
17
+ modifiable: true
18
+ matrix:
19
+ - - -0.1106670158341858
20
+ - 0.013801606113892391
21
+ - 0.6054596108973699
22
+ - -1.3518085041421573
23
+ - - 0.37030668921643345
24
+ - 0.15761121480429963
25
+ - 0.009069314183831202
26
+ - -0.9888619717703562
27
+ - - 0.47526546359546684
28
+ - -0.3011678534572083
29
+ - 0.4031522994412777
30
+ - -1.8638752827041059
31
+ - - -1.5544255540164373
32
+ - 1.1082369687811506
33
+ - -0.2814091552834454
34
+ - -5.30708531823271
35
+ - - -0.6362037835776368
36
+ - 1.235338189985594
37
+ - -3.5801322928552253
38
+ - -5.717323067092849
39
+ - - -5.852906870733575
40
+ - -5.852906870733575
41
+ - 1.3841383838057746
42
+ - -5.852906870733575
43
+ - - -5.852906870733575
44
+ - -5.852906870733575
45
+ - 1.3841383838057746
46
+ - -5.852906870733575
47
+ - - 1.3835219739184708
48
+ - -5.2341956006430985
49
+ - -5.852906870733575
50
+ - -5.852906870733575
51
+ - - 1.3756340514956562
52
+ - -5.394962755562375
53
+ - -5.394962755562375
54
+ - -3.401117964959733
55
+ - - -1.2176198315414444
56
+ - -3.109079898175411
57
+ - 1.2964067931472216
58
+ - -5.717323067092849
59
+ - - -1.3716559438167257
60
+ - -0.2761401935045069
61
+ - -1.8504445165866068
62
+ - 1.0404320473626856
63
+ - - -0.5440863133031895
64
+ - -0.48103682561971345
65
+ - 0.907381908447086
66
+ - -1.1280642594012078
67
+ - - 0.10557340209290218
68
+ - -0.01814819455289191
69
+ - 0.4381106695354074
70
+ - -1.0304105539540915
71
71
  :rough:
72
72
  5.0e-05: 16.1
73
73
  0.0001: 15.1
@@ -76,58 +76,59 @@ collection:
76
76
  5.0e-05: 8.61
77
77
  0.0001: 7.609999999999999
78
78
  0.0005: 4.51
79
- - - !ruby/object:Bioinform::PWM
80
- parameters: !ruby/object:OpenStruct
81
- table:
82
- :name: KLF4_f2
83
- :tags:
84
- - *19230696
85
- :background: *19231104
86
- modifiable: true
87
- matrix:
88
- - - 0.30861857265872605
89
- - -2.254321000121579
90
- - 0.13505703522674192
91
- - 0.3285194224375633
92
- - - -1.227018967707036
93
- - -4.814127713368663
94
- - 1.3059890687390967
95
- - -4.908681463544344
96
- - - -2.443469374521196
97
- - -4.648238485031404
98
- - 1.3588686548279805
99
- - -4.441801801188402
100
- - - -2.7177827948276123
101
- - -3.8073538975356565
102
- - 1.356272809724262
103
- - -3.504104725510225
104
- - - -0.5563232977367343
105
- - 0.5340697765121405
106
- - -3.61417723090579
107
- - 0.5270259776377405
108
- - - -1.8687622060887386
109
- - -4.381483976582316
110
- - 1.337932245336098
111
- - -3.815629658877517
112
- - - -2.045671123823928
113
- - -2.384975142213679
114
- - 0.7198551207724355
115
- - 0.5449254135616948
116
- - - -1.373157530374372
117
- - -3.0063112097748217
118
- - 1.285188335493552
119
- - -2.5026044231773543
120
- - - -2.1030513122772208
121
- - -1.8941348100402244
122
- - 1.249265758393991
123
- - -1.4284210948906104
124
- - - -1.3277128628152939
125
- - 0.8982415633049462
126
- - -0.8080773665408135
127
- - -0.18161647647456935
128
- max_hash_size: 1000000
129
- - !ruby/object:OpenStruct
79
+ modifiable: true
80
+ - !ruby/object:Bioinform::Motif
81
+ parameters: !ruby/object:OpenStruct
130
82
  table:
83
+ :original_data_model: :pwm
84
+ :pwm: !ruby/object:Bioinform::PWM
85
+ parameters: !ruby/object:OpenStruct
86
+ table:
87
+ :name: KLF4_f2
88
+ :background: *15478152
89
+ :max_hash_size: 1000000
90
+ modifiable: true
91
+ matrix:
92
+ - - 0.30861857265872605
93
+ - -2.254321000121579
94
+ - 0.13505703522674192
95
+ - 0.3285194224375633
96
+ - - -1.227018967707036
97
+ - -4.814127713368663
98
+ - 1.3059890687390967
99
+ - -4.908681463544344
100
+ - - -2.443469374521196
101
+ - -4.648238485031404
102
+ - 1.3588686548279805
103
+ - -4.441801801188402
104
+ - - -2.7177827948276123
105
+ - -3.8073538975356565
106
+ - 1.356272809724262
107
+ - -3.504104725510225
108
+ - - -0.5563232977367343
109
+ - 0.5340697765121405
110
+ - -3.61417723090579
111
+ - 0.5270259776377405
112
+ - - -1.8687622060887386
113
+ - -4.381483976582316
114
+ - 1.337932245336098
115
+ - -3.815629658877517
116
+ - - -2.045671123823928
117
+ - -2.384975142213679
118
+ - 0.7198551207724355
119
+ - 0.5449254135616948
120
+ - - -1.373157530374372
121
+ - -3.0063112097748217
122
+ - 1.285188335493552
123
+ - -2.5026044231773543
124
+ - - -2.1030513122772208
125
+ - -1.8941348100402244
126
+ - 1.249265758393991
127
+ - -1.4284210948906104
128
+ - - -1.3277128628152939
129
+ - 0.8982415633049462
130
+ - -0.8080773665408135
131
+ - -0.18161647647456935
131
132
  :rough:
132
133
  5.0e-05: 14.1
133
134
  0.0001: 13.1
@@ -136,62 +137,63 @@ collection:
136
137
  5.0e-05: 8.51
137
138
  0.0001: 7.909999999999999
138
139
  0.0005: 5.8100000000000005
139
- - - !ruby/object:Bioinform::PWM
140
- parameters: !ruby/object:OpenStruct
141
- table:
142
- :name: SP1_f1
143
- :tags:
144
- - *19230696
145
- :background: *19231104
146
- modifiable: true
147
- matrix:
148
- - - -0.24435707885585292
149
- - -0.674823404693731
150
- - 0.8657012535789866
151
- - -1.1060188862599287
152
- - - -1.0631255752097797
153
- - -2.111925969423868
154
- - 1.0960627561110403
155
- - -0.6138563775211977
156
- - - -0.3872276234760535
157
- - -2.9739851913218045
158
- - 1.1807800242010378
159
- - -4.338927525031566
160
- - - -4.563896055436894
161
- - -2.9161633002532277
162
- - 1.3684371349982638
163
- - -5.077972423609655
164
- - - -2.2369752892820083
165
- - -3.7196436313301846
166
- - 1.3510439136452734
167
- - -4.889930670508233
168
- - - -0.07473964149330865
169
- - 0.944919654762011
170
- - -2.6246857648086044
171
- - -0.8510983487822436
172
- - - -1.9643526491643322
173
- - -2.978402770880115
174
- - 1.3113096718240573
175
- - -2.324334259499025
176
- - - -4.0155484139655835
177
- - -3.1384268078096667
178
- - 1.3387488589788057
179
- - -2.084673903537648
180
- - - -0.44509385828355363
181
- - -2.2510053061629702
182
- - 1.1265431574368685
183
- - -1.7780413702431372
184
- - - -1.1896356092245048
185
- - -1.2251832285630027
186
- - 1.1636760063747527
187
- - -1.6080243648157353
188
- - - -0.5166047365590571
189
- - 0.7641033353626657
190
- - -0.2862677570028208
191
- - -0.68254820978656
192
- max_hash_size: 1000000
193
- - !ruby/object:OpenStruct
140
+ modifiable: true
141
+ - !ruby/object:Bioinform::Motif
142
+ parameters: !ruby/object:OpenStruct
194
143
  table:
144
+ :original_data_model: :pwm
145
+ :pwm: !ruby/object:Bioinform::PWM
146
+ parameters: !ruby/object:OpenStruct
147
+ table:
148
+ :name: SP1_f1
149
+ :background: *15478152
150
+ :max_hash_size: 1000000
151
+ modifiable: true
152
+ matrix:
153
+ - - -0.24435707885585292
154
+ - -0.674823404693731
155
+ - 0.8657012535789866
156
+ - -1.1060188862599287
157
+ - - -1.0631255752097797
158
+ - -2.111925969423868
159
+ - 1.0960627561110403
160
+ - -0.6138563775211977
161
+ - - -0.3872276234760535
162
+ - -2.9739851913218045
163
+ - 1.1807800242010378
164
+ - -4.338927525031566
165
+ - - -4.563896055436894
166
+ - -2.9161633002532277
167
+ - 1.3684371349982638
168
+ - -5.077972423609655
169
+ - - -2.2369752892820083
170
+ - -3.7196436313301846
171
+ - 1.3510439136452734
172
+ - -4.889930670508233
173
+ - - -0.07473964149330865
174
+ - 0.944919654762011
175
+ - -2.6246857648086044
176
+ - -0.8510983487822436
177
+ - - -1.9643526491643322
178
+ - -2.978402770880115
179
+ - 1.3113096718240573
180
+ - -2.324334259499025
181
+ - - -4.0155484139655835
182
+ - -3.1384268078096667
183
+ - 1.3387488589788057
184
+ - -2.084673903537648
185
+ - - -0.44509385828355363
186
+ - -2.2510053061629702
187
+ - 1.1265431574368685
188
+ - -1.7780413702431372
189
+ - - -1.1896356092245048
190
+ - -1.2251832285630027
191
+ - 1.1636760063747527
192
+ - -1.6080243648157353
193
+ - - -0.5166047365590571
194
+ - 0.7641033353626657
195
+ - -0.2862677570028208
196
+ - -0.68254820978656
195
197
  :rough:
196
198
  5.0e-05: 14.1
197
199
  0.0001: 14.1
@@ -200,11 +202,12 @@ collection:
200
202
  5.0e-05: 8.51
201
203
  0.0001: 7.709999999999999
202
204
  0.0005: 5.61
205
+ modifiable: true
203
206
  parameters: !ruby/object:OpenStruct
204
207
  table:
205
208
  :rough_discretization: 1
206
209
  :precise_discretization: 10
207
- :background: *19231104
210
+ :background: *15478152
208
211
  :pvalues:
209
212
  - 0.0005
210
213
  - 0.0001
@@ -0,0 +1,214 @@
1
+ --- !ruby/object:Bioinform::Collection
2
+ container:
3
+ - !ruby/object:Bioinform::Motif
4
+ parameters: !ruby/object:OpenStruct
5
+ table:
6
+ :original_data_model: :pwm
7
+ :pwm: !ruby/object:Bioinform::PWM
8
+ parameters: !ruby/object:OpenStruct
9
+ table:
10
+ :name: GABPA_f1
11
+ :background: &19796448
12
+ - 1
13
+ - 1
14
+ - 1
15
+ - 1
16
+ :max_hash_size: 1000000
17
+ modifiable: true
18
+ matrix:
19
+ - - -0.1106670158341858
20
+ - 0.013801606113892391
21
+ - 0.6054596108973699
22
+ - -1.3518085041421573
23
+ - - 0.37030668921643345
24
+ - 0.15761121480429963
25
+ - 0.009069314183831202
26
+ - -0.9888619717703562
27
+ - - 0.47526546359546684
28
+ - -0.3011678534572083
29
+ - 0.4031522994412777
30
+ - -1.8638752827041059
31
+ - - -1.5544255540164373
32
+ - 1.1082369687811506
33
+ - -0.2814091552834454
34
+ - -5.30708531823271
35
+ - - -0.6362037835776368
36
+ - 1.235338189985594
37
+ - -3.5801322928552253
38
+ - -5.717323067092849
39
+ - - -5.852906870733575
40
+ - -5.852906870733575
41
+ - 1.3841383838057746
42
+ - -5.852906870733575
43
+ - - -5.852906870733575
44
+ - -5.852906870733575
45
+ - 1.3841383838057746
46
+ - -5.852906870733575
47
+ - - 1.3835219739184708
48
+ - -5.2341956006430985
49
+ - -5.852906870733575
50
+ - -5.852906870733575
51
+ - - 1.3756340514956562
52
+ - -5.394962755562375
53
+ - -5.394962755562375
54
+ - -3.401117964959733
55
+ - - -1.2176198315414444
56
+ - -3.109079898175411
57
+ - 1.2964067931472216
58
+ - -5.717323067092849
59
+ - - -1.3716559438167257
60
+ - -0.2761401935045069
61
+ - -1.8504445165866068
62
+ - 1.0404320473626856
63
+ - - -0.5440863133031895
64
+ - -0.48103682561971345
65
+ - 0.907381908447086
66
+ - -1.1280642594012078
67
+ - - 0.10557340209290218
68
+ - -0.01814819455289191
69
+ - 0.4381106695354074
70
+ - -1.0304105539540915
71
+ :rough:
72
+ 5.0e-05: 16.0
73
+ 0.0001: 15.0
74
+ 0.0005: 12.0
75
+ :precise:
76
+ 5.0e-05: 8.6
77
+ 0.0001: 7.6
78
+ 0.0005: 4.5
79
+ modifiable: true
80
+ - !ruby/object:Bioinform::Motif
81
+ parameters: !ruby/object:OpenStruct
82
+ table:
83
+ :original_data_model: :pwm
84
+ :pwm: !ruby/object:Bioinform::PWM
85
+ parameters: !ruby/object:OpenStruct
86
+ table:
87
+ :name: KLF4_f2
88
+ :background: *19796448
89
+ :max_hash_size: 1000000
90
+ modifiable: true
91
+ matrix:
92
+ - - 0.30861857265872605
93
+ - -2.254321000121579
94
+ - 0.13505703522674192
95
+ - 0.3285194224375633
96
+ - - -1.227018967707036
97
+ - -4.814127713368663
98
+ - 1.3059890687390967
99
+ - -4.908681463544344
100
+ - - -2.443469374521196
101
+ - -4.648238485031404
102
+ - 1.3588686548279805
103
+ - -4.441801801188402
104
+ - - -2.7177827948276123
105
+ - -3.8073538975356565
106
+ - 1.356272809724262
107
+ - -3.504104725510225
108
+ - - -0.5563232977367343
109
+ - 0.5340697765121405
110
+ - -3.61417723090579
111
+ - 0.5270259776377405
112
+ - - -1.8687622060887386
113
+ - -4.381483976582316
114
+ - 1.337932245336098
115
+ - -3.815629658877517
116
+ - - -2.045671123823928
117
+ - -2.384975142213679
118
+ - 0.7198551207724355
119
+ - 0.5449254135616948
120
+ - - -1.373157530374372
121
+ - -3.0063112097748217
122
+ - 1.285188335493552
123
+ - -2.5026044231773543
124
+ - - -2.1030513122772208
125
+ - -1.8941348100402244
126
+ - 1.249265758393991
127
+ - -1.4284210948906104
128
+ - - -1.3277128628152939
129
+ - 0.8982415633049462
130
+ - -0.8080773665408135
131
+ - -0.18161647647456935
132
+ :rough:
133
+ 5.0e-05: 14.0
134
+ 0.0001: 13.0
135
+ 0.0005: 11.0
136
+ :precise:
137
+ 5.0e-05: 8.5
138
+ 0.0001: 7.9
139
+ 0.0005: 5.8
140
+ modifiable: true
141
+ - !ruby/object:Bioinform::Motif
142
+ parameters: !ruby/object:OpenStruct
143
+ table:
144
+ :original_data_model: :pwm
145
+ :pwm: !ruby/object:Bioinform::PWM
146
+ parameters: !ruby/object:OpenStruct
147
+ table:
148
+ :name: SP1_f1
149
+ :background: *19796448
150
+ :max_hash_size: 1000000
151
+ modifiable: true
152
+ matrix:
153
+ - - -0.24435707885585292
154
+ - -0.674823404693731
155
+ - 0.8657012535789866
156
+ - -1.1060188862599287
157
+ - - -1.0631255752097797
158
+ - -2.111925969423868
159
+ - 1.0960627561110403
160
+ - -0.6138563775211977
161
+ - - -0.3872276234760535
162
+ - -2.9739851913218045
163
+ - 1.1807800242010378
164
+ - -4.338927525031566
165
+ - - -4.563896055436894
166
+ - -2.9161633002532277
167
+ - 1.3684371349982638
168
+ - -5.077972423609655
169
+ - - -2.2369752892820083
170
+ - -3.7196436313301846
171
+ - 1.3510439136452734
172
+ - -4.889930670508233
173
+ - - -0.07473964149330865
174
+ - 0.944919654762011
175
+ - -2.6246857648086044
176
+ - -0.8510983487822436
177
+ - - -1.9643526491643322
178
+ - -2.978402770880115
179
+ - 1.3113096718240573
180
+ - -2.324334259499025
181
+ - - -4.0155484139655835
182
+ - -3.1384268078096667
183
+ - 1.3387488589788057
184
+ - -2.084673903537648
185
+ - - -0.44509385828355363
186
+ - -2.2510053061629702
187
+ - 1.1265431574368685
188
+ - -1.7780413702431372
189
+ - - -1.1896356092245048
190
+ - -1.2251832285630027
191
+ - 1.1636760063747527
192
+ - -1.6080243648157353
193
+ - - -0.5166047365590571
194
+ - 0.7641033353626657
195
+ - -0.2862677570028208
196
+ - -0.68254820978656
197
+ :rough:
198
+ 5.0e-05: 14.0
199
+ 0.0001: 14.0
200
+ 0.0005: 11.0
201
+ :precise:
202
+ 5.0e-05: 8.5
203
+ 0.0001: 7.7
204
+ 0.0005: 5.6
205
+ modifiable: true
206
+ parameters: !ruby/object:OpenStruct
207
+ table:
208
+ :rough_discretization: 1
209
+ :precise_discretization: 10
210
+ :background: *19796448
211
+ :pvalues:
212
+ - 0.0005
213
+ - 0.0001
214
+ - 5.0e-05