macroape 3.3.6 → 3.3.7

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/.gitignore +18 -18
  2. data/Gemfile +4 -4
  3. data/LICENSE +21 -21
  4. data/README.md +69 -67
  5. data/TODO.txt +1 -1
  6. data/benchmark/benchmark_helper.rb +5 -0
  7. data/benchmark/similarity_benchmark.rb +1 -4
  8. data/bin/align_motifs +1 -1
  9. data/bin/eval_alignment +1 -1
  10. data/bin/eval_similarity +1 -1
  11. data/bin/find_pvalue +1 -1
  12. data/bin/find_threshold +1 -1
  13. data/bin/preprocess_collection +1 -1
  14. data/bin/scan_collection +1 -1
  15. data/lib/macroape/aligned_pair_intersection.rb +1 -1
  16. data/lib/macroape/cli/align_motifs.rb +4 -4
  17. data/lib/macroape/cli/eval_alignment.rb +9 -6
  18. data/lib/macroape/cli/eval_similarity.rb +9 -6
  19. data/lib/macroape/cli/find_pvalue.rb +3 -3
  20. data/lib/macroape/cli/find_threshold.rb +3 -3
  21. data/lib/macroape/cli/preprocess_collection.rb +37 -13
  22. data/lib/macroape/cli/scan_collection.rb +28 -21
  23. data/lib/macroape/counting.rb +7 -13
  24. data/lib/macroape/pwm_compare.rb +8 -15
  25. data/lib/macroape/pwm_compare_aligned.rb +11 -38
  26. data/lib/macroape/version.rb +1 -1
  27. data/lib/macroape.rb +6 -7
  28. data/macroape.gemspec +1 -1
  29. data/spec/count_distribution_spec.rb +2 -3
  30. data/spec/spec_helper.rb +2 -2
  31. data/test/align_motifs_test.rb +1 -1
  32. data/test/data/KLF4_f2_scan_results_all.txt +4 -4
  33. data/test/data/KLF4_f2_scan_results_precise_mode.txt +4 -4
  34. data/test/data/collection_pcm_without_thresholds.yaml +185 -0
  35. data/test/data/collection_without_thresholds.yaml +185 -0
  36. data/test/data/medium_motif.pat +8 -0
  37. data/test/data/short_motif.pat +7 -0
  38. data/test/data/test_collection.yaml +27 -18
  39. data/test/eval_alignment_test.rb +1 -1
  40. data/test/eval_similarity_test.rb +1 -1
  41. data/test/find_pvalue_test.rb +1 -1
  42. data/test/find_threshold_test.rb +1 -1
  43. data/test/preprocess_collection_test.rb +59 -37
  44. data/test/scan_collection_test.rb +10 -1
  45. data/test/test_helper.rb +13 -9
  46. metadata +15 -6
@@ -1,4 +1,4 @@
1
- require 'macroape'
1
+ require_relative '../../macroape'
2
2
  require 'yaml'
3
3
 
4
4
  module Macroape
@@ -31,7 +31,7 @@ module Macroape
31
31
  cat motifs/KLF4.pat | ruby scan_collection.rb .stdin collection.yaml -p 0.005 --precise 0.03
32
32
  }
33
33
 
34
- if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
34
+ if ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
35
35
  STDERR.puts help_string
36
36
  exit
37
37
  end
@@ -90,34 +90,41 @@ module Macroape
90
90
  end
91
91
 
92
92
  query_pwm = data_model.new(query_input).to_pwm
93
- query_pwm.background(background_query).max_hash_size(max_hash_size)
93
+ query_pwm.set_parameters(background: background_query, max_hash_size: max_hash_size)
94
94
 
95
95
  query_pwm_rough = query_pwm.discrete(collection.parameters.rough_discretization)
96
96
  query_pwm_precise = query_pwm.discrete(collection.parameters.precise_discretization)
97
97
 
98
- query_threshold_rough = query_pwm_rough.threshold(pvalue)
99
- query_threshold_precise = query_pwm_precise.threshold(pvalue)
98
+ query_threshold_rough, query_rough_real_pvalue = query_pwm_rough.threshold_and_real_pvalue(pvalue)
99
+ query_threshold_precise, query_precise_real_pvalue = query_pwm_precise.threshold_and_real_pvalue(pvalue)
100
+
101
+ if query_precise_real_pvalue == 0
102
+ $stderr.puts "Query motif #{query_pwm.name} gives 0 recognized words for a given P-value of #{pvalue} with the precise discretization level of #{collection.parameters.precise_discretization}. It's impossible to scan collection for this motif"
103
+ return
104
+ end
105
+
106
+ if query_rough_real_pvalue == 0
107
+ query_pwm_rough, query_threshold_rough = query_pwm_precise, query_threshold_precise
108
+ $stderr.puts "Query motif #{query_pwm.name} gives 0 recognized words for a given P-value of #{pvalue} with the rough discretization level of #{collection.parameters.rough_discretization}. Forcing precise discretization level of #{collection.parameters.precise_discretization}"
109
+ end
100
110
 
101
111
  similarities = {}
102
112
  precision_file_mode = {}
103
113
 
104
- collection.each do |pwm, pwm_info|
105
- name = pwm.name
106
- pwm.background(collection.parameters.background).max_hash_size(max_hash_size)
107
- pwm_rough = pwm.discrete(collection.parameters.rough_discretization)
108
- pwm_precise = pwm.discrete(collection.parameters.precise_discretization)
109
-
110
- pwm_threshold_rough = pwm_info.rough[pvalue] * collection.parameters.rough_discretization
111
- pwm_threshold_precise = pwm_info.precise[pvalue] * collection.parameters.precise_discretization
112
-
114
+ collection.each do |collection_pwm, pwm_info|
115
+ name = collection_pwm.name
113
116
  STDERR.puts name unless silent
114
- cmp = Macroape::PWMCompare.new(query_pwm_rough, pwm_rough).max_hash_size(max_pair_hash_size)
115
- info = cmp.jaccard(query_threshold_rough, pwm_threshold_rough)
116
- precision_file_mode[name] = :rough
117
-
118
- if precision_mode == :precise and info[:similarity] >= minimal_similarity
119
- cmp = Macroape::PWMCompare.new(query_pwm_precise, pwm_precise).max_hash_size(max_pair_hash_size)
120
- info = cmp.jaccard(query_threshold_precise, pwm_threshold_precise)
117
+ collection_pwm.set_parameters(background: collection.parameters.background, max_hash_size: max_hash_size)
118
+ if pwm_info.rough
119
+ collection_pwm_rough = collection_pwm.discrete(collection.parameters.rough_discretization)
120
+ collection_threshold_rough = pwm_info.rough[pvalue] * collection.parameters.rough_discretization
121
+ info = Macroape::PWMCompare.new(query_pwm_rough, collection_pwm_rough).set_parameters(max_pair_hash_size: max_pair_hash_size).jaccard(query_threshold_rough, collection_threshold_rough)
122
+ precision_file_mode[name] = :rough
123
+ end
124
+ if !pwm_info.rough || (precision_mode == :precise) && (info[:similarity] >= minimal_similarity)
125
+ collection_pwm_precise = collection_pwm.discrete(collection.parameters.precise_discretization)
126
+ collection_threshold_precise = pwm_info.precise[pvalue] * collection.parameters.precise_discretization
127
+ info = Macroape::PWMCompare.new(query_pwm_precise, collection_pwm_precise).set_parameters(max_pair_hash_size: max_pair_hash_size).jaccard(query_threshold_precise, collection_threshold_precise)
121
128
  precision_file_mode[name] = :precise
122
129
  end
123
130
  similarities[name] = info
@@ -1,22 +1,16 @@
1
+ require 'bioinform'
2
+
1
3
  module Bioinform
2
4
  class PWM
3
5
  # sets or gets limit size of calculation hash. It's a defence against overuse CPU resources by non-appropriate data
4
- def max_hash_size!(new_max_hash_size)
5
- @max_hash_size = new_max_hash_size
6
- self
7
- end
8
-
9
- def max_hash_size(*args)
10
- case args.size
11
- when 0 then @max_hash_size
12
- when 1 then max_hash_size!(args.first)
13
- else raise ArgumentError, '#max_hash_size method can get 0 or 1 argument'
14
- end
15
- end
6
+ make_parameters :max_hash_size
16
7
 
17
8
  def threshold(pvalue)
18
9
  thresholds(pvalue){|_, thresh, _| return thresh }
19
10
  end
11
+ def threshold_and_real_pvalue(pvalue)
12
+ thresholds(pvalue){|_, thresh, real_pv| return thresh, real_pv }
13
+ end
20
14
 
21
15
  def thresholds(*pvalues)
22
16
  thresholds_by_pvalues(*pvalues).each do |pvalue,(thresholds, counts)|
@@ -80,7 +74,7 @@ module Bioinform
80
74
  4.times do |letter|
81
75
  new_score = score + column[letter]
82
76
  if new_score >= least_sufficient
83
- new_scores[new_score] += count * @background[letter]
77
+ new_scores[new_score] += count * background[letter]
84
78
  end
85
79
  end
86
80
  end
@@ -1,21 +1,14 @@
1
+ require 'bioinform/support/parameters'
2
+
1
3
  module Macroape
2
4
  class PWMCompare
5
+ include Parameters
3
6
  # sets or gets limit of summary size of calculation hash. It's a defence against overuse CPU resources by non-appropriate data
4
- def max_hash_size!(new_max_hash_size)
5
- @max_hash_size = new_max_hash_size
6
- self
7
- end
8
-
9
- def max_hash_size(*args)
10
- case args.size
11
- when 0 then @max_hash_size
12
- when 1 then max_hash_size!(args.first)
13
- else raise ArgumentError, '#max_hash_size method can get 0 or 1 argument'
14
- end
15
- end
16
-
17
- attr_reader :first, :second
7
+ make_parameters :max_pair_hash_size
8
+
9
+ attr_reader :first, :second, :parameters
18
10
  def initialize(first, second)
11
+ @parameters = OpenStruct.new
19
12
  @first = first
20
13
  @second = second
21
14
  end
@@ -34,7 +27,7 @@ module Macroape
34
27
 
35
28
  def each_alignment
36
29
  (-second.length..first.length).to_a.product([:direct,:revcomp]) do |shift, orientation|
37
- yield PWMCompareAligned.new(first, second, shift, orientation).max_hash_size(max_hash_size)
30
+ yield PWMCompareAligned.new(first, second, shift, orientation).set_parameters(max_pair_hash_size: max_pair_hash_size)
38
31
  end
39
32
  end
40
33
 
@@ -1,9 +1,16 @@
1
- require 'macroape/aligned_pair_intersection'
1
+ require 'bioinform/support/parameters'
2
+ require_relative './aligned_pair_intersection'
2
3
 
3
4
  module Macroape
4
5
  class PWMCompareAligned
5
- attr_reader :first, :second, :length, :shift, :orientation, :first_length, :second_length
6
+ include Parameters
7
+ # sets or gets limit of summary size of calculation hash. It's a defence against overuse CPU resources by non-appropriate data
8
+ make_parameters :max_pair_hash_size
9
+
10
+ attr_reader :first, :second, :length, :shift, :orientation, :first_length, :second_length, :parameters
11
+
6
12
  def initialize(first_unaligned, second_unaligned, shift, orientation)
13
+ @parameters = OpenStruct.new
7
14
  @shift, @orientation = shift, orientation
8
15
 
9
16
  @first_length, @second_length = first_unaligned.length, second_unaligned.length
@@ -21,6 +28,8 @@ module Macroape
21
28
  @first = first.right_augment(@length - first.length)
22
29
  @second = second.right_augment(@length - second.length)
23
30
  end
31
+
32
+
24
33
 
25
34
  def direct?
26
35
  orientation == :direct
@@ -80,26 +89,6 @@ module Macroape
80
89
  end
81
90
  end
82
91
 
83
- =begin
84
- def discrete(rate)
85
- PWMCompareAligned.new(first.discrete(rate), second.discrete(rate))
86
- end
87
-
88
- def sort_pair_of_matrices_by(&block)
89
- mat = first.pwm.zip(second.pwm).sort_by(&block).transpose
90
- PWMCompareAligned.new(SinglePWM(mat[0],first.probabilities), SinglePWM(mat[1], second.probabilities))
91
- end
92
- def sort_decreasing_max
93
- PWMCompareAligned.new(*sort_pair_of_matrices_by{|col_pair| -col_pair[0].max} )
94
- end
95
- def sort_increasing_min
96
- PWMCompareAligned.new(*sort_pair_of_matrices_by{|col_pair| col_pair[0].min} )
97
- end
98
- def permute_columns(permutation_index)
99
- PWMCompareAligned.new(first.permute(permutation_index), second.permute(permutation_index))
100
- end
101
- =end
102
-
103
92
  def jaccard(first_threshold, second_threshold)
104
93
  f = first.counts_by_thresholds(first_threshold).first
105
94
  s = second.counts_by_thresholds(second_threshold).first
@@ -131,22 +120,6 @@ module Macroape
131
120
  [first_len - shift, second_len].max
132
121
  end
133
122
  end
134
-
135
- # sets or gets limit of summary size of calculation hash. It's a defence against overuse CPU resources by non-appropriate data
136
- def max_hash_size!(new_max_hash_size)
137
- @max_hash_size = new_max_hash_size
138
- self
139
- end
140
-
141
- def max_hash_size(*args)
142
- case args.size
143
- when 0 then @max_hash_size
144
- when 1 then max_hash_size!(args.first)
145
- else raise ArgumentError, '#max_hash_size method can get 0 or 1 argument'
146
- end
147
- end
148
-
149
-
150
123
  end
151
124
 
152
125
  end
@@ -1,3 +1,3 @@
1
1
  module Macroape
2
- VERSION = "3.3.6"
2
+ VERSION = "3.3.7"
3
3
  end
data/lib/macroape.rb CHANGED
@@ -1,11 +1,10 @@
1
- require 'macroape/version'
1
+ require_relative 'macroape/version'
2
2
 
3
- require 'bioinform'
4
- require 'macroape/counting'
5
-
6
- require 'macroape/aligned_pair_intersection'
7
- require 'macroape/pwm_compare_aligned'
8
- require 'macroape/pwm_compare'
3
+ require_relative 'macroape/counting'
4
+ require_relative 'macroape/aligned_pair_intersection'
5
+ require_relative 'macroape/pwm_compare_aligned'
6
+ require_relative 'macroape/pwm_compare'
7
+ require_relative 'macroape/cli'
9
8
 
10
9
  module Macroape
11
10
  # Your code goes here...
data/macroape.gemspec CHANGED
@@ -15,5 +15,5 @@ Gem::Specification.new do |gem|
15
15
  gem.require_paths = ["lib"]
16
16
  gem.version = Macroape::VERSION
17
17
 
18
- gem.add_dependency('bioinform', '>= 0.1.7')
18
+ gem.add_dependency('bioinform', '= 0.1.8')
19
19
  end
@@ -1,6 +1,5 @@
1
- require 'spec_helper'
2
- require 'bioinform'
3
- require 'macroape/counting'
1
+ require_relative 'spec_helper'
2
+ require_relative '../lib/macroape/counting'
4
3
 
5
4
  describe Bioinform::PWM do
6
5
  let :matrix_first do [[1,2,3,4],[10,20,30,40],[100,200,300,400]] end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,4 @@
1
- $lib_folder = File.dirname(__FILE__) + '/../lib'
2
- $LOAD_PATH.unshift $lib_folder
1
+ $bioinform_folder = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'bioinform', 'lib'))
2
+ $LOAD_PATH.unshift $bioinform_folder
3
3
 
4
4
  require 'rspec'
@@ -1,4 +1,4 @@
1
- require 'test_helper'
1
+ require_relative 'test_helper'
2
2
 
3
3
  class TestAlignmotifs < Test::Unit::TestCase
4
4
  def test_align_motifs
@@ -1,4 +1,4 @@
1
- #pwm similarity shift overlap orientation
2
- KLF4_f2 1.0 0 10 direct
3
- SP1_f1 0.22754919499105544 -1 10 direct
4
- GABPA_f1 0.00043527658136684877 -8 5 direct
1
+ #pwm similarity shift overlap orientation
2
+ KLF4_f2 1.0 0 10 direct
3
+ SP1_f1 0.22754919499105544 -1 10 direct
4
+ GABPA_f1 0.00043527658136684877 -8 5 direct
@@ -1,4 +1,4 @@
1
- #pwm similarity shift overlap orientation
2
- KLF4_f2 1.0 0 10 direct *
3
- SP1_f1 0.2420758234928527 -1 10 direct *
4
- GABPA_f1 0.00043527658136684877 -8 5 direct
1
+ #pwm similarity shift overlap orientation
2
+ KLF4_f2 1.0 0 10 direct *
3
+ SP1_f1 0.2420758234928527 -1 10 direct *
4
+ GABPA_f1 0.00043527658136684877 -8 5 direct
@@ -0,0 +1,185 @@
1
+ --- &18345276 !ruby/object:Bioinform::Collection
2
+ collection:
3
+ - - !ruby/object:Bioinform::PCM
4
+ parameters: !ruby/object:OpenStruct
5
+ table:
6
+ :name: GABPA_f1
7
+ :tags:
8
+ - *18345276
9
+ :background:
10
+ - 1
11
+ - 1
12
+ - 1
13
+ - 1
14
+ modifiable: true
15
+ matrix:
16
+ - - 615.2572649050138
17
+ - 697.0698715160123
18
+ - 1261.1903440712872
19
+ - 176.43506582414153
20
+ - - 996.4929869323321
21
+ - 805.1878697364007
22
+ - 693.7695793644275
23
+ - 254.5021102832924
24
+ - - 1106.9888035794224
25
+ - 508.19444415177276
26
+ - 1029.8329748714536
27
+ - 104.93632371380718
28
+ - - 143.7121486195701
29
+ - 2086.4279160661263
30
+ - 518.37507049306
31
+ - 1.4374111377025893
32
+ - - 362.9541452731307
33
+ - 2369.473894845734
34
+ - 17.23702397004065
35
+ - 0.2874822275405179
36
+ - - 0.0
37
+ - 0.0
38
+ - 2749.952546316428
39
+ - 0.0
40
+ - - 0.0
41
+ - 0.0
42
+ - 2749.952546316428
43
+ - 0.0
44
+ - - 2748.2567506938462
45
+ - 1.695795622582083
46
+ - 0.0
47
+ - 0.0
48
+ - - 2726.6484322711017
49
+ - 1.1499289101620715
50
+ - 1.1499289101620715
51
+ - 21.00425622500253
52
+ - - 202.05697400573305
53
+ - 28.799402471063658
54
+ - 2518.808687612104
55
+ - 0.2874822275405179
56
+ - - 172.92889618879767
57
+ - 521.1240363384483
58
+ - 106.38197600987633
59
+ - 1949.517637779338
60
+ - - 398.1679460365911
61
+ - 424.20938204069563
62
+ - 1706.4024212088275
63
+ - 221.17279703034018
64
+ - - 764.2587933951809
65
+ - 675.0883944902433
66
+ - 1066.5413633225007
67
+ - 244.06399510852864
68
+ - !ruby/object:OpenStruct
69
+ table: {}
70
+ - - !ruby/object:Bioinform::PCM
71
+ parameters: !ruby/object:OpenStruct
72
+ table:
73
+ :name: KLF4_f2
74
+ :tags:
75
+ - *18345276
76
+ :background:
77
+ - 1
78
+ - 1
79
+ - 1
80
+ - 1
81
+ modifiable: true
82
+ matrix:
83
+ - - 1233.46088405354
84
+ - 93.18173277811673
85
+ - 1036.6014857092885
86
+ - 1258.2948629970272
87
+ - - 263.979242343185
88
+ - 5.314520555872139
89
+ - 3347.5949971525274
90
+ - 4.650205486388122
91
+ - - 76.7700780003465
92
+ - 6.643150694840173
93
+ - 3529.4896409394937
94
+ - 8.636095903292224
95
+ - - 57.86097393406657
96
+ - 18.102585643439472
97
+ - 3520.3342027139347
98
+ - 25.24120324653207
99
+ - - 518.1947904009378
100
+ - 1545.9062946905135
101
+ - 22.396758181071043
102
+ - 1535.0411222654507
103
+ - - 137.98151691820345
104
+ - 9.300410972776241
105
+ - 3456.320530770924
106
+ - 17.936506876068467
107
+ - - 115.27647661640499
108
+ - 81.51802997128804
109
+ - 1861.9425868567278
110
+ - 1562.801872093553
111
+ - - 227.8095486111286
112
+ - 42.84555258785854
113
+ - 3278.6396005325996
114
+ - 72.244263806387
115
+ - - 108.73384179997886
116
+ - 134.47328134862394
117
+ - 3162.880454846513
118
+ - 215.45138754285665
119
+ - - 238.49636899561344
120
+ - 2225.9561104691043
121
+ - 402.40727964384774
122
+ - 754.6792064294074
123
+ - !ruby/object:OpenStruct
124
+ table: {}
125
+ - - !ruby/object:Bioinform::PCM
126
+ parameters: !ruby/object:OpenStruct
127
+ table:
128
+ :name: SP1_f1
129
+ :tags:
130
+ - *18345276
131
+ :background:
132
+ - 1
133
+ - 1
134
+ - 1
135
+ - 1
136
+ modifiable: true
137
+ matrix:
138
+ - - 682.6436366358055
139
+ - 443.1455214015781
140
+ - 2075.655346294993
141
+ - 287.211468117951
142
+ - - 299.8883246804867
143
+ - 103.74338315843572
144
+ - 2613.8927022405364
145
+ - 471.1315623708902
146
+ - - 591.4892493324709
147
+ - 42.631827541794564
148
+ - 2845.1654083148564
149
+ - 9.36948726124641
150
+ - - 7.071084742361592
151
+ - 45.29093411231232
152
+ - 3432.8847704374107
153
+ - 3.409183158303573
154
+ - - 91.308984085713
155
+ - 19.1536481364332
156
+ - 3373.656949880137
157
+ - 4.5363903481026
158
+ - - 809.2082973387932
159
+ - 2246.941954176211
160
+ - 61.30766021687515
161
+ - 371.19806071846244
162
+ - - 120.56476435866055
163
+ - 42.4349244403591
164
+ - 3242.1560628684038
165
+ - 83.50022078295852
166
+ - - 13.72524477409959
167
+ - 35.858220519297525
168
+ - 3332.4066864946167
169
+ - 106.66582066236779
170
+ - - 558.1188080161639
171
+ - 90.0084504200356
172
+ - 2694.854973210736
173
+ - 145.67374080342415
174
+ - - 264.0088462230318
175
+ - 254.7175868081866
176
+ - 2796.88087480315
177
+ - 173.0486646159857
178
+ - - 519.46013914282
179
+ - 1874.9349086474765
180
+ - 654.5411208373813
181
+ - 439.7198038226514
182
+ - !ruby/object:OpenStruct
183
+ table: {}
184
+ parameters: !ruby/object:OpenStruct
185
+ table: {}
@@ -0,0 +1,185 @@
1
+ --- &18740484 !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
+ - *18740484
9
+ :background:
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
+ - !ruby/object:OpenStruct
69
+ table: {}
70
+ - - !ruby/object:Bioinform::PWM
71
+ parameters: !ruby/object:OpenStruct
72
+ table:
73
+ :name: KLF4_f2
74
+ :tags:
75
+ - *18740484
76
+ :background:
77
+ - 1
78
+ - 1
79
+ - 1
80
+ - 1
81
+ modifiable: true
82
+ matrix:
83
+ - - 0.30861857265872605
84
+ - -2.254321000121579
85
+ - 0.13505703522674192
86
+ - 0.3285194224375633
87
+ - - -1.227018967707036
88
+ - -4.814127713368663
89
+ - 1.3059890687390967
90
+ - -4.908681463544344
91
+ - - -2.443469374521196
92
+ - -4.648238485031404
93
+ - 1.3588686548279805
94
+ - -4.441801801188402
95
+ - - -2.7177827948276123
96
+ - -3.8073538975356565
97
+ - 1.356272809724262
98
+ - -3.504104725510225
99
+ - - -0.5563232977367343
100
+ - 0.5340697765121405
101
+ - -3.61417723090579
102
+ - 0.5270259776377405
103
+ - - -1.8687622060887386
104
+ - -4.381483976582316
105
+ - 1.337932245336098
106
+ - -3.815629658877517
107
+ - - -2.045671123823928
108
+ - -2.384975142213679
109
+ - 0.7198551207724355
110
+ - 0.5449254135616948
111
+ - - -1.373157530374372
112
+ - -3.0063112097748217
113
+ - 1.285188335493552
114
+ - -2.5026044231773543
115
+ - - -2.1030513122772208
116
+ - -1.8941348100402244
117
+ - 1.249265758393991
118
+ - -1.4284210948906104
119
+ - - -1.3277128628152939
120
+ - 0.8982415633049462
121
+ - -0.8080773665408135
122
+ - -0.18161647647456935
123
+ - !ruby/object:OpenStruct
124
+ table: {}
125
+ - - !ruby/object:Bioinform::PWM
126
+ parameters: !ruby/object:OpenStruct
127
+ table:
128
+ :name: SP1_f1
129
+ :tags:
130
+ - *18740484
131
+ :background:
132
+ - 1
133
+ - 1
134
+ - 1
135
+ - 1
136
+ modifiable: true
137
+ matrix:
138
+ - - -0.24435707885585292
139
+ - -0.674823404693731
140
+ - 0.8657012535789866
141
+ - -1.1060188862599287
142
+ - - -1.0631255752097797
143
+ - -2.111925969423868
144
+ - 1.0960627561110403
145
+ - -0.6138563775211977
146
+ - - -0.3872276234760535
147
+ - -2.9739851913218045
148
+ - 1.1807800242010378
149
+ - -4.338927525031566
150
+ - - -4.563896055436894
151
+ - -2.9161633002532277
152
+ - 1.3684371349982638
153
+ - -5.077972423609655
154
+ - - -2.2369752892820083
155
+ - -3.7196436313301846
156
+ - 1.3510439136452734
157
+ - -4.889930670508233
158
+ - - -0.07473964149330865
159
+ - 0.944919654762011
160
+ - -2.6246857648086044
161
+ - -0.8510983487822436
162
+ - - -1.9643526491643322
163
+ - -2.978402770880115
164
+ - 1.3113096718240573
165
+ - -2.324334259499025
166
+ - - -4.0155484139655835
167
+ - -3.1384268078096667
168
+ - 1.3387488589788057
169
+ - -2.084673903537648
170
+ - - -0.44509385828355363
171
+ - -2.2510053061629702
172
+ - 1.1265431574368685
173
+ - -1.7780413702431372
174
+ - - -1.1896356092245048
175
+ - -1.2251832285630027
176
+ - 1.1636760063747527
177
+ - -1.6080243648157353
178
+ - - -0.5166047365590571
179
+ - 0.7641033353626657
180
+ - -0.2862677570028208
181
+ - -0.68254820978656
182
+ - !ruby/object:OpenStruct
183
+ table: {}
184
+ parameters: !ruby/object:OpenStruct
185
+ table: {}
@@ -0,0 +1,8 @@
1
+ medium_motif_name
2
+ 0.30861857265872605 -2.254321000121579 0.13505703522674192 0.3285194224375633
3
+ -1.227018967707036 -4.814127713368663 1.3059890687390967 -4.908681463544344
4
+ -2.443469374521196 -4.648238485031404 1.3588686548279805 -4.441801801188402
5
+ -2.7177827948276123 -3.8073538975356565 1.356272809724262 -3.504104725510225
6
+ -0.5563232977367343 0.5340697765121405 -3.61417723090579 0.5270259776377405
7
+ -1.8687622060887386 -4.381483976582316 1.337932245336098 -3.815629658877517
8
+ -2.045671123823928 -2.384975142213679 0.7198551207724355 0.5449254135616948