macroape 3.3.7 → 3.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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