macroape 4.0.0 → 4.0.1
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.
- checksums.yaml +4 -4
- data/lib/macroape/cli/align_motifs.rb +13 -8
- data/lib/macroape/cli/eval_alignment.rb +2 -2
- data/lib/macroape/cli/eval_similarity.rb +2 -2
- data/lib/macroape/cli/find_pvalue.rb +2 -2
- data/lib/macroape/cli/find_threshold.rb +2 -2
- data/lib/macroape/cli/preprocess_collection.rb +4 -4
- data/lib/macroape/cli/scan_collection.rb +4 -4
- data/lib/macroape/version.rb +1 -1
- data/test/align_motifs_test.rb +7 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4499602694103f438e53430766a1b5bad85baf61
|
4
|
+
data.tar.gz: e95adc086488900be4e0f0654da3543a8ea6a8c2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42fa7ba9a07625432176831623549395695aa936f19efcfd62e9282f1dc6bb5b93359103b7e84de6d3fcda4686dc5f8f1264756a050e0b1f2fb433c4b96809bb
|
7
|
+
data.tar.gz: d4e94f5384e9e1cf4d34d777349b2d4e64e780f7b8ad9a5c71228c4b83b0b791165499c7bdc8c6c84a0a8d384bd617e9c312e68cb27e32713cd0be79a34cf879
|
@@ -18,6 +18,8 @@ module Macroape
|
|
18
18
|
Usage:
|
19
19
|
#{run_tool_cmd} [options] <leader pm> <rest pm files>...
|
20
20
|
or
|
21
|
+
ls rest_pms/*.pm | #{run_tool_cmd} [options]
|
22
|
+
or
|
21
23
|
ls rest_pms/*.pm | #{run_tool_cmd} [options] <leader pm>
|
22
24
|
|
23
25
|
Options:
|
@@ -28,8 +30,8 @@ module Macroape
|
|
28
30
|
[-b <background probabilities] ACGT - 4 numbers, comma-delimited(spaces not allowed), sum should be equal to 1, like 0.25,0.24,0.26,0.25
|
29
31
|
EOS
|
30
32
|
|
31
|
-
if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
32
|
-
|
33
|
+
if (argv.empty? && $stdin.tty?) || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
34
|
+
$stderr.puts doc
|
33
35
|
exit
|
34
36
|
end
|
35
37
|
|
@@ -65,17 +67,20 @@ module Macroape
|
|
65
67
|
end
|
66
68
|
end
|
67
69
|
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
70
|
+
pwm_files = argv
|
71
|
+
pwm_files += $stdin.read.shellsplit unless $stdin.tty?
|
72
|
+
leader_pwm_file = pwm_files.first
|
73
|
+
rest_pwm_files = pwm_files[1..-1]
|
74
|
+
rest_pwm_files.reject!{|filename| File.expand_path(filename) == File.expand_path(leader_pwm_file)}
|
75
|
+
|
76
|
+
raise 'Specify leader file' unless leader_pwm_file
|
72
77
|
|
73
78
|
shifts = []
|
74
79
|
shifts << [leader_pwm_file, 0, :direct]
|
75
80
|
pwm_first = data_model.new(File.read(leader_pwm_file)).to_pwm
|
76
81
|
pwm_first.set_parameters(background: leader_background, max_hash_size: max_hash_size).discrete!(discretization)
|
77
82
|
|
78
|
-
|
83
|
+
rest_pwm_files.each do |motif_name|
|
79
84
|
pwm_second = data_model.new(File.read(motif_name)).to_pwm
|
80
85
|
pwm_second.set_parameters(background: rest_motifs_background, max_hash_size: max_hash_size).discrete!(discretization)
|
81
86
|
cmp = Macroape::PWMCompare.new(pwm_first, pwm_second).set_parameters(max_pair_hash_size: max_pair_hash_size)
|
@@ -87,7 +92,7 @@ module Macroape
|
|
87
92
|
puts "#{motif_name}\t#{shift}\t#{orientation}"
|
88
93
|
end
|
89
94
|
rescue => err
|
90
|
-
|
95
|
+
$stderr.puts "\n#{err}\n#{err.backtrace.first(5).join("\n")}\n\nUse --help option for help\n\n#{doc}"
|
91
96
|
end
|
92
97
|
|
93
98
|
end
|
@@ -24,7 +24,7 @@ module Macroape
|
|
24
24
|
EOS
|
25
25
|
|
26
26
|
if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
27
|
-
|
27
|
+
$stderr.puts doc
|
28
28
|
exit
|
29
29
|
end
|
30
30
|
|
@@ -148,7 +148,7 @@ module Macroape
|
|
148
148
|
puts Helper.similarity_info_string(info)
|
149
149
|
|
150
150
|
rescue => err
|
151
|
-
|
151
|
+
$stderr.puts "\n#{err}\n#{err.backtrace.first(5).join("\n")}\n\nUse --help option for help\n\n#{doc}"
|
152
152
|
end
|
153
153
|
|
154
154
|
end
|
@@ -23,7 +23,7 @@ module Macroape
|
|
23
23
|
EOS
|
24
24
|
|
25
25
|
if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
26
|
-
|
26
|
+
$stderr.puts doc
|
27
27
|
exit
|
28
28
|
end
|
29
29
|
|
@@ -129,7 +129,7 @@ module Macroape
|
|
129
129
|
puts Helper.similarity_info_string(info)
|
130
130
|
|
131
131
|
rescue => err
|
132
|
-
|
132
|
+
$stderr.puts "\n#{err}\n#{err.backtrace.first(5).join("\n")}\n\nUse --help option for help\n\n#{doc}"
|
133
133
|
end
|
134
134
|
|
135
135
|
end
|
@@ -20,7 +20,7 @@ module Macroape
|
|
20
20
|
EOS
|
21
21
|
|
22
22
|
if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
23
|
-
|
23
|
+
$stderr.puts doc
|
24
24
|
exit
|
25
25
|
end
|
26
26
|
|
@@ -79,7 +79,7 @@ module Macroape
|
|
79
79
|
{discretization: discretization,
|
80
80
|
background: background} )
|
81
81
|
rescue => err
|
82
|
-
|
82
|
+
$stderr.puts "\n#{err}\n#{err.backtrace.first(5).join("\n")}\n\nUse --help option for help\n\n#{doc}"
|
83
83
|
end
|
84
84
|
|
85
85
|
end
|
@@ -21,7 +21,7 @@ module Macroape
|
|
21
21
|
EOS
|
22
22
|
|
23
23
|
if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
24
|
-
|
24
|
+
$stderr.puts doc
|
25
25
|
exit
|
26
26
|
end
|
27
27
|
|
@@ -88,7 +88,7 @@ module Macroape
|
|
88
88
|
background: background,
|
89
89
|
pvalue_boundary: pvalue_boundary} )
|
90
90
|
rescue => err
|
91
|
-
|
91
|
+
$stderr.puts "\n#{err}\n#{err.backtrace.first(5).join("\n")}\n\nUse --help option for help\n\n#{doc}"
|
92
92
|
end
|
93
93
|
|
94
94
|
end
|
@@ -26,7 +26,7 @@ module Macroape
|
|
26
26
|
EOS
|
27
27
|
|
28
28
|
if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
29
|
-
|
29
|
+
$stderr.puts doc
|
30
30
|
exit
|
31
31
|
end
|
32
32
|
|
@@ -99,7 +99,7 @@ module Macroape
|
|
99
99
|
pwms = motifs.map(&:to_pwm)
|
100
100
|
|
101
101
|
pwms.each_with_index do |pwm,index|
|
102
|
-
|
102
|
+
$stderr.puts "Motif #{pwm.name}, length: #{pwm.length} (#{index+1} of #{pwms.size}, #{index*100/pwms.size}% complete)" unless silent
|
103
103
|
|
104
104
|
# When support of onefile collections is introduced - then here should be check if name exists.
|
105
105
|
# Otherwise it should skip motif and tell you about this
|
@@ -140,7 +140,7 @@ module Macroape
|
|
140
140
|
end
|
141
141
|
collection.add_pm(pwm, info) unless skip_motif
|
142
142
|
end
|
143
|
-
|
143
|
+
$stderr.puts "100% complete. Saving results" unless silent
|
144
144
|
File.open(output_file, 'w') do |f|
|
145
145
|
f.puts(collection.to_yaml)
|
146
146
|
end
|
@@ -152,7 +152,7 @@ module Macroape
|
|
152
152
|
infos.background_parameter('B', 'background', background)
|
153
153
|
}.result
|
154
154
|
rescue => err
|
155
|
-
|
155
|
+
$stderr.puts "\n#{err}\n#{err.backtrace.first(5).join("\n")}\n\nUse --help option for help\n\n#{doc}"
|
156
156
|
end
|
157
157
|
|
158
158
|
end
|
@@ -29,7 +29,7 @@ module Macroape
|
|
29
29
|
EOS
|
30
30
|
|
31
31
|
if argv.empty? || ['-h', '--h', '-help', '--help'].any?{|help_option| argv.include?(help_option)}
|
32
|
-
|
32
|
+
$stderr.puts doc
|
33
33
|
exit
|
34
34
|
end
|
35
35
|
|
@@ -123,7 +123,7 @@ module Macroape
|
|
123
123
|
|
124
124
|
collection.each_with_index do |motif, index|
|
125
125
|
name = motif.name
|
126
|
-
|
126
|
+
$stderr.puts "Testing motif #{name} (#{index+1} of #{collection.size}, #{index*100/collection.size}% complete)" unless silent
|
127
127
|
motif.set_parameters(background: collection_background, max_hash_size: max_hash_size)
|
128
128
|
if motif.rough[pvalue]
|
129
129
|
collection_pwm_rough = motif.pwm.discrete(rough_discretization)
|
@@ -141,7 +141,7 @@ module Macroape
|
|
141
141
|
similarities[name] = info
|
142
142
|
end
|
143
143
|
|
144
|
-
|
144
|
+
$stderr.puts "100% complete" unless silent
|
145
145
|
|
146
146
|
similarities_to_output = similarities.sort_by{|name, info| info[:similarity] }.reverse.select{|name,info| info[:similarity] >= cutoff }.map{|name,info|info}
|
147
147
|
puts Helper.scan_collection_infos_string( similarities_to_output,
|
@@ -155,7 +155,7 @@ module Macroape
|
|
155
155
|
collection_background: collection_background,
|
156
156
|
query_background: query_background} )
|
157
157
|
rescue => err
|
158
|
-
|
158
|
+
$stderr.puts "\n#{err}\n#{err.backtrace.first(5).join("\n")}\n\nUse --help option for help\n\n#{doc}"
|
159
159
|
end
|
160
160
|
|
161
161
|
end
|
data/lib/macroape/version.rb
CHANGED
data/test/align_motifs_test.rb
CHANGED
@@ -21,12 +21,18 @@ class TestAlignmotifs < Test::Unit::TestCase
|
|
21
21
|
%w[SP1_f1_revcomp.pcm -1 revcomp]],
|
22
22
|
Helpers.align_motifs_output('--pcm KLF4_f2.pcm KLF3_f1.pcm SP1_f1_revcomp.pcm')
|
23
23
|
end
|
24
|
-
def
|
24
|
+
def test_names_from_stdin_leader_specified
|
25
25
|
assert_equal [%w[KLF4_f2.pwm 0 direct],
|
26
26
|
%w[KLF3_f1.pwm -4 direct],
|
27
27
|
%w[SP1_f1_revcomp.pwm -1 revcomp]],
|
28
28
|
Helpers.provide_stdin('KLF3_f1.pwm SP1_f1_revcomp.pwm'){ Helpers.align_motifs_output('KLF4_f2.pwm') }
|
29
29
|
end
|
30
|
+
def test_names_from_stdin_leader_not_specified
|
31
|
+
assert_equal [%w[KLF4_f2.pwm 0 direct],
|
32
|
+
%w[KLF3_f1.pwm -4 direct],
|
33
|
+
%w[SP1_f1_revcomp.pwm -1 revcomp]],
|
34
|
+
Helpers.provide_stdin('KLF4_f2.pwm KLF3_f1.pwm SP1_f1_revcomp.pwm'){ Helpers.align_motifs_output('') }
|
35
|
+
end
|
30
36
|
def test_names_from_stdin_duplicate_leader
|
31
37
|
assert_equal [%w[KLF4_f2.pwm 0 direct],
|
32
38
|
%w[KLF3_f1.pwm -4 direct],
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: macroape
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Vorontsov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-05-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bioinform
|