bioinform 0.1.8 → 0.1.9

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 (60) hide show
  1. data/.gitignore +1 -0
  2. data/Gemfile +12 -0
  3. data/Guardfile +9 -0
  4. data/README.md +7 -1
  5. data/TODO.txt +8 -0
  6. data/bioinform.gemspec +7 -5
  7. data/lib/bioinform.rb +1 -0
  8. data/lib/bioinform/cli.rb +12 -3
  9. data/lib/bioinform/cli/convert_motif.rb +108 -0
  10. data/lib/bioinform/cli/merge_into_collection.rb +6 -2
  11. data/lib/bioinform/cli/pcm2pwm.rb +1 -1
  12. data/lib/bioinform/cli/split_motifs.rb +1 -1
  13. data/lib/bioinform/conversion_algorithms/pcm2ppm_converter.rb +19 -0
  14. data/lib/bioinform/conversion_algorithms/pcm2pwm_converter.rb +20 -0
  15. data/lib/bioinform/conversion_algorithms/pcm2pwm_mara_converter.rb +0 -0
  16. data/lib/bioinform/conversion_algorithms/ppm2pcm_converter.rb +0 -0
  17. data/lib/bioinform/conversion_algorithms/ppm2pwm_converter.rb +0 -0
  18. data/lib/bioinform/data_models/collection.rb +21 -35
  19. data/lib/bioinform/data_models/motif.rb +56 -0
  20. data/lib/bioinform/data_models/pcm.rb +4 -8
  21. data/lib/bioinform/data_models/pm.rb +19 -48
  22. data/lib/bioinform/data_models/pwm.rb +16 -0
  23. data/lib/bioinform/formatters.rb +2 -0
  24. data/lib/bioinform/formatters/raw_formatter.rb +41 -0
  25. data/lib/bioinform/formatters/transfac_formatter.rb +39 -0
  26. data/lib/bioinform/parsers.rb +2 -1
  27. data/lib/bioinform/parsers/jaspar_parser.rb +35 -0
  28. data/lib/bioinform/parsers/string_parser.rb +1 -1
  29. data/lib/bioinform/parsers/trivial_parser.rb +2 -1
  30. data/lib/bioinform/parsers/yaml_parser.rb +1 -1
  31. data/lib/bioinform/support.rb +2 -1
  32. data/lib/bioinform/support/parameters.rb +27 -18
  33. data/lib/bioinform/support/strip_doc.rb +9 -0
  34. data/lib/bioinform/version.rb +1 -1
  35. data/spec/cli/convert_motif_spec.rb +107 -0
  36. data/spec/cli/data/merge_into_collection/collection.yaml.result +186 -183
  37. data/spec/cli/data/merge_into_collection/collection_pwm.yaml.result +186 -183
  38. data/spec/cli/data/split_motifs/collection.yaml +184 -193
  39. data/spec/cli/shared_examples/convert_motif/motif_list_empty.rb +18 -0
  40. data/spec/cli/shared_examples/convert_motif/several_motifs_specified.rb +14 -0
  41. data/spec/cli/shared_examples/convert_motif/single_motif_specified.rb +50 -0
  42. data/spec/cli/shared_examples/convert_motif/yield_help_string.rb +5 -0
  43. data/spec/cli/shared_examples/convert_motif/yield_motif_conversion_error.rb +4 -0
  44. data/spec/data_models/collection_spec.rb +36 -34
  45. data/spec/data_models/motif_spec.rb +224 -0
  46. data/spec/data_models/pcm_spec.rb +28 -17
  47. data/spec/data_models/pm_spec.rb +83 -121
  48. data/spec/data_models/pwm_spec.rb +38 -0
  49. data/spec/fabricators/collection_fabricator.rb +2 -2
  50. data/spec/fabricators/motif_fabricator.rb +33 -0
  51. data/spec/fabricators/motif_formats_fabricator.rb +125 -0
  52. data/spec/fabricators/pcm_fabricator.rb +25 -0
  53. data/spec/fabricators/pm_fabricator.rb +10 -1
  54. data/spec/fabricators/ppm_fabricator.rb +14 -0
  55. data/spec/fabricators/pwm_fabricator.rb +16 -0
  56. data/spec/parsers/trivial_parser_spec.rb +12 -12
  57. data/spec/parsers/yaml_parser_spec.rb +11 -11
  58. data/spec/spec_helper.rb +19 -49
  59. data/spec/spec_helper_source.rb +59 -0
  60. metadata +78 -7
@@ -1,4 +1,4 @@
1
- Fabricator(:pm, from: Bioinform::PM) do
1
+ Fabricator(:pm, class_name: Bioinform::PM) do
2
2
  initialize_with{ Bioinform::PM.new(matrix: [[1,2,3,4],[5,6,7,8]], name: 'PM_name') }
3
3
  end
4
4
 
@@ -40,4 +40,13 @@ end
40
40
  Fabricator(:pm_3, from: :pm) do
41
41
  matrix [[2,3,4,5],[6,7,8,9]]
42
42
  name 'motif_3'
43
+ end
44
+
45
+ Fabricator(:pm_4,from: :pm) do
46
+ matrix [[1,0,1,0],[0,0,0,0],[1,2,3,4]]
47
+ name 'pm 4'
48
+ end
49
+ Fabricator(:pm_5, from: :pm) do
50
+ matrix [[1,2,1,2],[0,3,6,9],[1,2,3,4]]
51
+ name 'pm 5'
43
52
  end
@@ -0,0 +1,14 @@
1
+ Fabricator(:ppm, class_name: Bioinform::PPM) do
2
+ initialize_with{ Bioinform::PPM.new(matrix: [[0.2, 0.3, 0.3, 0.2],[0.7, 0.2, 0.0, 0.1]]) }
3
+ name 'PPM_name'
4
+ end
5
+
6
+ # It has the same name as original pcm because PCM#to_ppm doesn't change the name
7
+ Fabricator(:ppm_by_pcm, class_name: Bioinform::PPM) do
8
+ initialize_with{ Fabricate(:pcm).to_ppm }
9
+ end
10
+
11
+ Fabricator(:ppm_pcm_divided_by_count, from: :ppm) do
12
+ # this matrix should be initialized manually - it's used for spec checking PCM#to_ppm
13
+ matrix [[1.0/7.0, 2.0/7.0, 3.0/7.0, 1.0/7.0], [4.0/7.0, 0.0/7.0, 1.0/7.0, 2.0/7.0]]
14
+ end
@@ -0,0 +1,16 @@
1
+ Fabricator(:pwm, class_name: Bioinform::PWM) do
2
+ initialize_with{ Bioinform::PWM.new(matrix: [[1,2,3,4],[5,6,7,8]], name: 'PWM_name')}
3
+ end
4
+
5
+ # It has name 'PCM_name' because name isn't converted during #to_pwm
6
+ Fabricator(:pwm_by_pcm, class_name: Bioinform::PWM) do
7
+ initialize_with{ Fabricate(:pcm).to_pwm }
8
+ end
9
+
10
+ Fabricator(:rounded_upto_3_digits_pwm_by_pcm_with_pseudocount_1, from: :pwm) do
11
+ matrix [[-0.47, 0.118, 0.486, -0.47],[0.754, -2.079, -0.47, 0.118]]
12
+ end
13
+
14
+ Fabricator(:rounded_upto_3_digits_pwm_by_pcm_with_pseudocount_10, from: :pwm) do
15
+ matrix [[-0.194, 0.057, 0.258, -0.194],[0.425, -0.531, -0.194, 0.057]]
16
+ end
@@ -4,7 +4,7 @@ require_relative '../../lib/bioinform/data_models/collection'
4
4
 
5
5
  module Bioinform
6
6
  describe TrivialParser do
7
- context '#initialize' do
7
+ context '.new' do
8
8
  it 'should take the only input argument' do
9
9
  TrivialParser.instance_method(:initialize).arity.should == 1
10
10
  end
@@ -20,7 +20,7 @@ module Bioinform
20
20
  end
21
21
  end
22
22
 
23
- context '::split_on_motifs' do
23
+ context '.split_on_motifs' do
24
24
  it 'should be able to get a single PM' do
25
25
  TrivialParser.split_on_motifs({matrix: [[1,2,3,4],[5,6,7,8]], name: 'Name'}, PM).should == [ PM.new(matrix: [[1,2,3,4],[5,6,7,8]], name:'Name') ]
26
26
  end
@@ -40,24 +40,24 @@ module Bioinform
40
40
  end
41
41
 
42
42
  describe TrivialCollectionParser do
43
- before :each do
44
- @pm_1 = Fabricate(:pm_first)
45
- @pm_2 = Fabricate(:pm_second)
46
- @collection = Fabricate(:two_elements_collection)
47
- end
43
+ let(:collection){ Fabricate(:three_elements_collection) }
44
+ let(:pm_1){ Fabricate(:pm_1) }
45
+ let(:pm_2){ Fabricate(:pm_2) }
46
+ let(:pm_3){ Fabricate(:pm_3) }
48
47
 
49
48
  describe '#parse!' do
50
49
  it 'can be used to obtain PMs from Collection' do
51
- @parser = TrivialCollectionParser.new(@collection)
52
- @parser.parse!.should == @pm_1
53
- @parser.parse!.should == @pm_2
50
+ @parser = TrivialCollectionParser.new(collection)
51
+ @parser.parse!.should == pm_1
52
+ @parser.parse!.should == pm_2
53
+ @parser.parse!.should == pm_3
54
54
  expect{ @parser.parse! }.to raise_error
55
55
  end
56
56
  end
57
57
 
58
- describe '::split_on_motifs' do
58
+ describe '.split_on_motifs' do
59
59
  it 'should be able to split collection into PMs' do
60
- TrivialCollectionParser.split_on_motifs(@collection).should == [@pm_1, @pm_2]
60
+ TrivialCollectionParser.split_on_motifs(collection).should == [pm_1, pm_2, pm_3]
61
61
  end
62
62
  end
63
63
  end
@@ -27,22 +27,22 @@ module Bioinform
27
27
  end
28
28
 
29
29
  describe YAMLCollectionParser do
30
- before :each do
31
- @pm_1 = Fabricate(:pm_first)
32
- @pm_2 = Fabricate(:pm_second)
33
- @collection = Collection.new
34
- @collection << @pm_1 << @pm_2
35
- end
30
+ let(:yamled_collection){ Fabricate(:three_elements_collection).to_yaml }
31
+ let(:pm_1){ Fabricate(:pm_1) }
32
+ let(:pm_2){ Fabricate(:pm_2) }
33
+ let(:pm_3){ Fabricate(:pm_3) }
34
+
36
35
  context '::split_on_motifs' do
37
- it 'should be able to split collection into PMs' do
38
- YAMLCollectionParser.split_on_motifs(@collection.to_yaml).should == [@pm_1, @pm_2]
36
+ it 'should be able to split yamled collection into PMs' do
37
+ YAMLCollectionParser.split_on_motifs(yamled_collection).should == [pm_1, pm_2, pm_3]
39
38
  end
40
39
  end
41
40
  context '#parse!' do
42
41
  it 'should return PMs which were in encoded YAML format' do
43
- @parser = YAMLCollectionParser.new(@collection.to_yaml)
44
- @parser.parse!.should == @pm_1
45
- @parser.parse!.should == @pm_2
42
+ @parser = YAMLCollectionParser.new(yamled_collection)
43
+ @parser.parse!.should == pm_1
44
+ @parser.parse!.should == pm_2
45
+ @parser.parse!.should == pm_3
46
46
  expect{ @parser.parse! }.to raise_error
47
47
  end
48
48
  end
data/spec/spec_helper.rb CHANGED
@@ -1,53 +1,23 @@
1
- $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
2
- $LOAD_PATH.unshift File.dirname(__FILE__)
1
+ require 'rubygems'
2
+ require 'spork'
3
+ #uncomment the following line to use spork with the debugger
4
+ #require 'spork/ext/ruby-debug'
5
+
6
+ Spork.prefork do
7
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
8
+ $LOAD_PATH.unshift File.dirname(__FILE__)
3
9
 
4
- require 'rspec'
10
+ require 'rspec'
11
+ require 'rspec-given'
5
12
 
6
- require 'fileutils'
7
- require 'stringio'
8
- require 'fabrication'
13
+ require 'fileutils'
14
+ require 'stringio'
15
+ require 'fabrication'
9
16
 
10
- # from minitest
11
- def capture_io(&block)
12
- orig_stdout, orig_stderr = $stdout, $stderr
13
- captured_stdout, captured_stderr = StringIO.new, StringIO.new
14
- $stdout, $stderr = captured_stdout, captured_stderr
15
- yield
16
- return {stdout: captured_stdout.string, stderr: captured_stderr.string}
17
- ensure
18
- $stdout = orig_stdout
19
- $stderr = orig_stderr
20
- end
21
-
22
- # Method stubs $stdin not STDIN !
23
- def provide_stdin(input, &block)
24
- orig_stdin = $stdin
25
- $stdin = StringIO.new(input)
26
- yield
27
- ensure
28
- $stdin = orig_stdin
29
- end
30
-
31
- def capture_output(&block)
32
- capture_io(&block)[:stdout]
33
- end
34
- def capture_stderr(&block)
35
- capture_io(&block)[:stderr]
36
- end
37
-
38
- def parser_specs(parser_klass, good_cases, bad_cases)
39
- context '#parse!' do
40
- good_cases.each do |case_description, input_and_result|
41
- it "should be able to parse #{case_description}" do
42
- result = parser_klass.new(input_and_result[:input]).parse
43
- Bioinform::PM.new(result).should == input_and_result[:result]
44
- end
45
- end
46
-
47
- bad_cases.each do |case_description, input|
48
- it "should raise an exception on parsing #{case_description}" do
49
- expect{ parser_klass.new(input[:input]).parse! }.to raise_error
50
- end
51
- end
52
- end
17
+ require 'fakefs/spec_helpers'
18
+ end
19
+
20
+ Spork.each_run do
21
+ require 'spec_helper_source'
22
+ Fabrication.clear_definitions
53
23
  end
@@ -0,0 +1,59 @@
1
+ # from minitest (TODO: make use of minitest, not override it)
2
+ def capture_io(&block)
3
+ orig_stdout, orig_stderr = $stdout, $stderr
4
+ captured_stdout, captured_stderr = StringIO.new, StringIO.new
5
+ $stdout, $stderr = captured_stdout, captured_stderr
6
+ yield
7
+ return {stdout: captured_stdout.string, stderr: captured_stderr.string}
8
+ ensure
9
+ $stdout = orig_stdout
10
+ $stderr = orig_stderr
11
+ end
12
+
13
+ # Method stubs $stdin not STDIN !
14
+ def provide_stdin(input, tty = false, &block)
15
+ orig_stdin = $stdin
16
+ $stdin = StringIO.new(input)
17
+ $stdin.send(:define_singleton_method, :tty?){ tty } # Simulate that stdin is tty by default
18
+ yield
19
+ ensure
20
+ $stdin = orig_stdin
21
+ end
22
+
23
+ def capture_output(&block)
24
+ capture_io(&block)[:stdout]
25
+ end
26
+ def capture_stderr(&block)
27
+ capture_io(&block)[:stderr]
28
+ end
29
+
30
+ def parser_specs(parser_klass, good_cases, bad_cases)
31
+ context '#parse!' do
32
+ good_cases.each do |case_description, input_and_result|
33
+ it "should be able to parse #{case_description}" do
34
+ result = parser_klass.new(input_and_result[:input]).parse
35
+ Bioinform::PM.new(result).should == input_and_result[:result]
36
+ end
37
+ end
38
+
39
+ bad_cases.each do |case_description, input|
40
+ it "should raise an exception on parsing #{case_description}" do
41
+ expect{ parser_klass.new(input[:input]).parse! }.to raise_error
42
+ end
43
+ end
44
+ end
45
+ end
46
+
47
+ ##############################
48
+
49
+ def make_file(filename, content)
50
+ File.open(filename, 'w'){|f| f.puts content }
51
+ end
52
+
53
+ def motif_filename(motif, model_type)
54
+ "#{motif.name}.#{model_type}"
55
+ end
56
+
57
+ def make_model_file(motif, model_type)
58
+ make_file(motif_filename(motif, model_type), motif.send(model_type))
59
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bioinform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-15 00:00:00.000000000 Z
12
+ date: 2012-12-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -32,7 +32,7 @@ dependencies:
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  none: false
34
34
  requirements:
35
- - - ! '>='
35
+ - - '='
36
36
  - !ruby/object:Gem::Version
37
37
  version: 0.5.0
38
38
  type: :runtime
@@ -40,9 +40,41 @@ dependencies:
40
40
  version_requirements: !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - '='
44
44
  - !ruby/object:Gem::Version
45
45
  version: 0.5.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: fakefs
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.4.2
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.4.2
62
+ - !ruby/object:Gem::Dependency
63
+ name: fabrication
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 2.5.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 2.5.0
46
78
  - !ruby/object:Gem::Dependency
47
79
  name: rspec
48
80
  requirement: !ruby/object:Gem::Requirement
@@ -60,13 +92,13 @@ dependencies:
60
92
  - !ruby/object:Gem::Version
61
93
  version: '2.0'
62
94
  - !ruby/object:Gem::Dependency
63
- name: fabrication
95
+ name: rspec-given
64
96
  requirement: !ruby/object:Gem::Requirement
65
97
  none: false
66
98
  requirements:
67
99
  - - ! '>='
68
100
  - !ruby/object:Gem::Version
69
- version: 2.2.3
101
+ version: 2.0.0
70
102
  type: :development
71
103
  prerelease: false
72
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -74,7 +106,7 @@ dependencies:
74
106
  requirements:
75
107
  - - ! '>='
76
108
  - !ruby/object:Gem::Version
77
- version: 2.2.3
109
+ version: 2.0.0
78
110
  description: A bunch of useful classes for bioinformatics
79
111
  email:
80
112
  - prijutme4ty@gmail.com
@@ -87,6 +119,7 @@ extra_rdoc_files: []
87
119
  files:
88
120
  - .gitignore
89
121
  - Gemfile
122
+ - Guardfile
90
123
  - LICENSE
91
124
  - README.md
92
125
  - Rakefile
@@ -97,16 +130,27 @@ files:
97
130
  - bioinform.gemspec
98
131
  - lib/bioinform.rb
99
132
  - lib/bioinform/cli.rb
133
+ - lib/bioinform/cli/convert_motif.rb
100
134
  - lib/bioinform/cli/merge_into_collection.rb
101
135
  - lib/bioinform/cli/pcm2pwm.rb
102
136
  - lib/bioinform/cli/split_motifs.rb
137
+ - lib/bioinform/conversion_algorithms/pcm2ppm_converter.rb
138
+ - lib/bioinform/conversion_algorithms/pcm2pwm_converter.rb
139
+ - lib/bioinform/conversion_algorithms/pcm2pwm_mara_converter.rb
140
+ - lib/bioinform/conversion_algorithms/ppm2pcm_converter.rb
141
+ - lib/bioinform/conversion_algorithms/ppm2pwm_converter.rb
103
142
  - lib/bioinform/data_models.rb
104
143
  - lib/bioinform/data_models/collection.rb
144
+ - lib/bioinform/data_models/motif.rb
105
145
  - lib/bioinform/data_models/pcm.rb
106
146
  - lib/bioinform/data_models/pm.rb
107
147
  - lib/bioinform/data_models/ppm.rb
108
148
  - lib/bioinform/data_models/pwm.rb
149
+ - lib/bioinform/formatters.rb
150
+ - lib/bioinform/formatters/raw_formatter.rb
151
+ - lib/bioinform/formatters/transfac_formatter.rb
109
152
  - lib/bioinform/parsers.rb
153
+ - lib/bioinform/parsers/jaspar_parser.rb
110
154
  - lib/bioinform/parsers/parser.rb
111
155
  - lib/bioinform/parsers/splittable_parser.rb
112
156
  - lib/bioinform/parsers/string_fantom_parser.rb
@@ -125,8 +169,10 @@ files:
125
169
  - lib/bioinform/support/parameters.rb
126
170
  - lib/bioinform/support/partial_sums.rb
127
171
  - lib/bioinform/support/same_by.rb
172
+ - lib/bioinform/support/strip_doc.rb
128
173
  - lib/bioinform/version.rb
129
174
  - spec/cli/cli_spec.rb
175
+ - spec/cli/convert_motif_spec.rb
130
176
  - spec/cli/data/merge_into_collection/GABPA_f1.pwm
131
177
  - spec/cli/data/merge_into_collection/KLF4_f2.pwm
132
178
  - spec/cli/data/merge_into_collection/SP1_f1.pwm
@@ -148,20 +194,32 @@ files:
148
194
  - spec/cli/data/split_motifs/plain_collection.txt
149
195
  - spec/cli/merge_into_collection_spec.rb
150
196
  - spec/cli/pcm2pwm_spec.rb
197
+ - spec/cli/shared_examples/convert_motif/motif_list_empty.rb
198
+ - spec/cli/shared_examples/convert_motif/several_motifs_specified.rb
199
+ - spec/cli/shared_examples/convert_motif/single_motif_specified.rb
200
+ - spec/cli/shared_examples/convert_motif/yield_help_string.rb
201
+ - spec/cli/shared_examples/convert_motif/yield_motif_conversion_error.rb
151
202
  - spec/cli/split_motifs_spec.rb
152
203
  - spec/data_models/collection_spec.rb
204
+ - spec/data_models/motif_spec.rb
153
205
  - spec/data_models/pcm_spec.rb
154
206
  - spec/data_models/pm_spec.rb
155
207
  - spec/data_models/ppm_spec.rb
156
208
  - spec/data_models/pwm_spec.rb
157
209
  - spec/fabricators/collection_fabricator.rb
210
+ - spec/fabricators/motif_fabricator.rb
211
+ - spec/fabricators/motif_formats_fabricator.rb
212
+ - spec/fabricators/pcm_fabricator.rb
158
213
  - spec/fabricators/pm_fabricator.rb
214
+ - spec/fabricators/ppm_fabricator.rb
215
+ - spec/fabricators/pwm_fabricator.rb
159
216
  - spec/parsers/parser_spec.rb
160
217
  - spec/parsers/string_fantom_parser_spec.rb
161
218
  - spec/parsers/string_parser_spec.rb
162
219
  - spec/parsers/trivial_parser_spec.rb
163
220
  - spec/parsers/yaml_parser_spec.rb
164
221
  - spec/spec_helper.rb
222
+ - spec/spec_helper_source.rb
165
223
  - spec/support/advanced_scan_spec.rb
166
224
  - spec/support/array_product_spec.rb
167
225
  - spec/support/array_zip_spec.rb
@@ -200,6 +258,7 @@ summary: Classes for work with different input formats of positional matrices an
200
258
  symbols
201
259
  test_files:
202
260
  - spec/cli/cli_spec.rb
261
+ - spec/cli/convert_motif_spec.rb
203
262
  - spec/cli/data/merge_into_collection/GABPA_f1.pwm
204
263
  - spec/cli/data/merge_into_collection/KLF4_f2.pwm
205
264
  - spec/cli/data/merge_into_collection/SP1_f1.pwm
@@ -221,20 +280,32 @@ test_files:
221
280
  - spec/cli/data/split_motifs/plain_collection.txt
222
281
  - spec/cli/merge_into_collection_spec.rb
223
282
  - spec/cli/pcm2pwm_spec.rb
283
+ - spec/cli/shared_examples/convert_motif/motif_list_empty.rb
284
+ - spec/cli/shared_examples/convert_motif/several_motifs_specified.rb
285
+ - spec/cli/shared_examples/convert_motif/single_motif_specified.rb
286
+ - spec/cli/shared_examples/convert_motif/yield_help_string.rb
287
+ - spec/cli/shared_examples/convert_motif/yield_motif_conversion_error.rb
224
288
  - spec/cli/split_motifs_spec.rb
225
289
  - spec/data_models/collection_spec.rb
290
+ - spec/data_models/motif_spec.rb
226
291
  - spec/data_models/pcm_spec.rb
227
292
  - spec/data_models/pm_spec.rb
228
293
  - spec/data_models/ppm_spec.rb
229
294
  - spec/data_models/pwm_spec.rb
230
295
  - spec/fabricators/collection_fabricator.rb
296
+ - spec/fabricators/motif_fabricator.rb
297
+ - spec/fabricators/motif_formats_fabricator.rb
298
+ - spec/fabricators/pcm_fabricator.rb
231
299
  - spec/fabricators/pm_fabricator.rb
300
+ - spec/fabricators/ppm_fabricator.rb
301
+ - spec/fabricators/pwm_fabricator.rb
232
302
  - spec/parsers/parser_spec.rb
233
303
  - spec/parsers/string_fantom_parser_spec.rb
234
304
  - spec/parsers/string_parser_spec.rb
235
305
  - spec/parsers/trivial_parser_spec.rb
236
306
  - spec/parsers/yaml_parser_spec.rb
237
307
  - spec/spec_helper.rb
308
+ - spec/spec_helper_source.rb
238
309
  - spec/support/advanced_scan_spec.rb
239
310
  - spec/support/array_product_spec.rb
240
311
  - spec/support/array_zip_spec.rb