bio-kmer_counter 0.0.2 → 0.0.3

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.
data/README.md CHANGED
@@ -15,7 +15,7 @@ Note: this software is under active development!
15
15
  ## Installation
16
16
 
17
17
  ```sh
18
- gem install bio-kmer_counter
18
+ gem install bio-kmer_counter
19
19
  ```
20
20
 
21
21
  ## Usage
@@ -25,11 +25,16 @@ content, reporting the fingerprint of 5kb windows in each sequence separately,
25
25
  plus the leftover part if it is longer than 2kb:
26
26
 
27
27
  ```sh
28
- kmer_counter.rb <fasta_file> >tetranucleotide_content.csv
28
+ kmer_counter.rb <fasta_file> >tetranucleotide_content.csv
29
29
  ```
30
30
 
31
31
  The fingerprints are reported in percentages. Well, between 0 and 1, that is.
32
- From there it is up to you how to use the fingerprints, sorry.
32
+ From there it is up to you how to use the fingerprints, sorry. For the full
33
+ gamut of options, see
34
+
35
+ ```sh
36
+ kmer_counter.rb -h
37
+ ```
33
38
 
34
39
  ## Project home page
35
40
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.2
1
+ 0.0.3
@@ -23,7 +23,7 @@ options = {
23
23
  :progressbar => true,
24
24
  }
25
25
 
26
- OptionParser.new do |opts|
26
+ o = OptionParser.new do |opts|
27
27
  opts.banner = USAGE
28
28
 
29
29
  opts.on("-w", "--window-size SIZE", "Length of the window to be used [default #{options[:window_size]}]") do |v|
@@ -92,7 +92,7 @@ OptionParser.new do |opts|
92
92
  opts.on("--trace options",String,"Set log level [default INFO]. e.g. '--trace debug' to set logging level to DEBUG") do | s |
93
93
  Bio::Log::CLI.trace(s)
94
94
  end
95
- end.parse!
95
+ end; o.parse!
96
96
  if ARGV.length != 1
97
97
  $stderr.puts o
98
98
  exit 1
@@ -1,4 +1,4 @@
1
- # Initialise the hash of the different
1
+
2
2
  module Bio
3
3
  class Sequence
4
4
  class NA
@@ -12,6 +12,8 @@ module Bio
12
12
  end
13
13
 
14
14
  class Kmer
15
+ # Return a hash of Strings to 0, for each kmer of length k. For instance
16
+ # empty_full_kmer_hash(1) => {'A'=>0, 'T'=>0, 'C'=>0, 'G'=>0}
15
17
  def self.empty_full_kmer_hash(k=4)
16
18
  return @empty_full_hash.dup unless @empty_full_hash.nil?
17
19
 
@@ -29,6 +31,13 @@ module Bio
29
31
  counts
30
32
  end
31
33
 
34
+ # Take a kmer hash, and merge those keys to the lowest lexigraphical form
35
+ # (See Bio::Sequence::NA#lowest_lexigraphical_form for what this means)
36
+ # When 2 keys are reverse complements they get merged into one hash entry,
37
+ # where the key is the lowest_lexigraphical_form of the two and the
38
+ # value is the sum of the original 2 values
39
+ #
40
+ # For instance {'A'=>2,'T'=>5} #=> {'A'=>7}
32
41
  def self.merge_down_to_lowest_lexigraphical_form(hash)
33
42
  keys = empty_full_kmer_hash.keys
34
43
 
@@ -95,4 +95,11 @@ class TestBioKmerCounter < Test::Unit::TestCase
95
95
  end
96
96
  end
97
97
  end
98
+
99
+ should "print help when no arguments are given" do
100
+ command = "#{script_path}"
101
+ Open3.popen3(command) do |stdin, stdout, stderr|
102
+ assert stderr.readlines[0].match(/^Usage: kmer_counter/)
103
+ end
104
+ end
98
105
  end
metadata CHANGED
@@ -1,179 +1,175 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bio-kmer_counter
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ben J Woodcroft
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-06-08 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
21
- requirement: &id001 !ruby/object:Gem::Requirement
22
- none: false
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- hash: 3
27
- segments:
28
- - 1
29
- - 4
30
- - 2
31
- version: 1.4.2
32
- version_requirements: *id001
12
+ date: 2012-07-09 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
33
15
  name: bio
34
- prerelease: false
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.4.2
35
22
  type: :runtime
36
- - !ruby/object:Gem::Dependency
37
- requirement: &id002 !ruby/object:Gem::Requirement
38
- none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 51
43
- segments:
44
- - 0
45
- - 11
46
- - 0
47
- version: 0.11.0
48
- version_requirements: *id002
49
- name: progressbar
50
23
  prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: 1.4.2
30
+ - !ruby/object:Gem::Dependency
31
+ name: progressbar
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: 0.11.0
51
38
  type: :runtime
52
- - !ruby/object:Gem::Dependency
53
- requirement: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 41
59
- segments:
60
- - 0
61
- - 5
62
- - 17
63
- version: 0.5.17
64
- version_requirements: *id003
65
- name: parallel
66
39
  prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: 0.11.0
46
+ - !ruby/object:Gem::Dependency
47
+ name: parallel
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: 0.5.17
67
54
  type: :runtime
68
- - !ruby/object:Gem::Dependency
69
- requirement: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 21
75
- segments:
76
- - 1
77
- - 0
78
- - 1
79
- version: 1.0.1
80
- version_requirements: *id004
81
- name: bio-logger
82
55
  prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.5.17
62
+ - !ruby/object:Gem::Dependency
63
+ name: bio-logger
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 1.0.1
83
70
  type: :runtime
84
- - !ruby/object:Gem::Dependency
85
- requirement: &id005 !ruby/object:Gem::Requirement
86
- none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- hash: 3
91
- segments:
92
- - 0
93
- version: "0"
94
- version_requirements: *id005
95
- name: shoulda
96
71
  prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.0.1
78
+ - !ruby/object:Gem::Dependency
79
+ name: shoulda
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
97
86
  type: :development
98
- - !ruby/object:Gem::Dependency
99
- requirement: &id006 !ruby/object:Gem::Requirement
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
100
89
  none: false
101
- requirements:
102
- - - ~>
103
- - !ruby/object:Gem::Version
104
- hash: 31
105
- segments:
106
- - 3
107
- - 12
108
- version: "3.12"
109
- version_requirements: *id006
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
110
95
  name: rdoc
111
- prerelease: false
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: '3.12'
112
102
  type: :development
113
- - !ruby/object:Gem::Dependency
114
- requirement: &id007 !ruby/object:Gem::Requirement
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
115
105
  none: false
116
- requirements:
106
+ requirements:
117
107
  - - ~>
118
- - !ruby/object:Gem::Version
119
- hash: 49
120
- segments:
121
- - 1
122
- - 8
123
- - 3
124
- version: 1.8.3
125
- version_requirements: *id007
108
+ - !ruby/object:Gem::Version
109
+ version: '3.12'
110
+ - !ruby/object:Gem::Dependency
126
111
  name: jeweler
127
- prerelease: false
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 1.8.3
128
118
  type: :development
129
- - !ruby/object:Gem::Dependency
130
- requirement: &id008 !ruby/object:Gem::Requirement
131
- none: false
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 61
136
- segments:
137
- - 1
138
- - 0
139
- - 21
140
- version: 1.0.21
141
- version_requirements: *id008
142
- name: bundler
143
119
  prerelease: false
144
- type: :development
145
- - !ruby/object:Gem::Dependency
146
- requirement: &id009 !ruby/object:Gem::Requirement
120
+ version_requirements: !ruby/object:Gem::Requirement
147
121
  none: false
148
- requirements:
122
+ requirements:
149
123
  - - ~>
150
- - !ruby/object:Gem::Version
151
- hash: 31
152
- segments:
153
- - 3
154
- - 12
155
- version: "3.12"
156
- version_requirements: *id009
157
- name: rdoc
124
+ - !ruby/object:Gem::Version
125
+ version: 1.8.3
126
+ - !ruby/object:Gem::Dependency
127
+ name: bundler
128
+ requirement: !ruby/object:Gem::Requirement
129
+ none: false
130
+ requirements:
131
+ - - ! '>='
132
+ - !ruby/object:Gem::Version
133
+ version: 1.0.21
134
+ type: :development
158
135
  prerelease: false
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: 1.0.21
142
+ - !ruby/object:Gem::Dependency
143
+ name: rdoc
144
+ requirement: !ruby/object:Gem::Requirement
145
+ none: false
146
+ requirements:
147
+ - - ~>
148
+ - !ruby/object:Gem::Version
149
+ version: '3.12'
159
150
  type: :development
160
- description: A biogem for counting small kmers for fingerprinting nucleotide sequences. See README for details.
151
+ prerelease: false
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ~>
156
+ - !ruby/object:Gem::Version
157
+ version: '3.12'
158
+ description: A biogem for counting small kmers for fingerprinting nucleotide sequences.
159
+ See README for details.
161
160
  email: gmail.com after donttrustben
162
- executables:
161
+ executables:
163
162
  - kmer_counter.rb
164
163
  extensions: []
165
-
166
- extra_rdoc_files:
164
+ extra_rdoc_files:
167
165
  - LICENSE.txt
168
166
  - README.md
169
- - README.rdoc
170
- files:
167
+ files:
171
168
  - .document
172
169
  - .travis.yml
173
170
  - Gemfile
174
171
  - LICENSE.txt
175
172
  - README.md
176
- - README.rdoc
177
173
  - Rakefile
178
174
  - VERSION
179
175
  - bin/kmer_counter.rb
@@ -182,37 +178,31 @@ files:
182
178
  - test/helper.rb
183
179
  - test/test_bio-kmer_counter.rb
184
180
  homepage: http://github.com/wwood/bioruby-kmer_counter
185
- licenses:
181
+ licenses:
186
182
  - MIT
187
183
  post_install_message:
188
184
  rdoc_options: []
189
-
190
- require_paths:
185
+ require_paths:
191
186
  - lib
192
- required_ruby_version: !ruby/object:Gem::Requirement
187
+ required_ruby_version: !ruby/object:Gem::Requirement
193
188
  none: false
194
- requirements:
195
- - - ">="
196
- - !ruby/object:Gem::Version
197
- hash: 3
198
- segments:
189
+ requirements:
190
+ - - ! '>='
191
+ - !ruby/object:Gem::Version
192
+ version: '0'
193
+ segments:
199
194
  - 0
200
- version: "0"
201
- required_rubygems_version: !ruby/object:Gem::Requirement
195
+ hash: -309263761
196
+ required_rubygems_version: !ruby/object:Gem::Requirement
202
197
  none: false
203
- requirements:
204
- - - ">="
205
- - !ruby/object:Gem::Version
206
- hash: 3
207
- segments:
208
- - 0
209
- version: "0"
198
+ requirements:
199
+ - - ! '>='
200
+ - !ruby/object:Gem::Version
201
+ version: '0'
210
202
  requirements: []
211
-
212
203
  rubyforge_project:
213
204
  rubygems_version: 1.8.24
214
205
  signing_key:
215
206
  specification_version: 3
216
207
  summary: A biogem for counting small kmers for fingerprinting nucleotide sequences
217
208
  test_files: []
218
-
@@ -1,48 +0,0 @@
1
- = bio-kmer_counter
2
-
3
- {<img
4
- src="https://secure.travis-ci.org/wwood/bioruby-kmer_counter.png"
5
- />}[http://travis-ci.org/#!/wwood/bioruby-kmer_counter]
6
-
7
- Full description goes here
8
-
9
- Note: this software is under active development!
10
-
11
- == Installation
12
-
13
- gem install bio-kmer_counter
14
-
15
- == Usage
16
-
17
- == Developers
18
-
19
- To use the library
20
-
21
- require 'bio-kmer_counter'
22
-
23
- The API doc is online. For more code examples see also the test files in
24
- the source tree.
25
-
26
- == Project home page
27
-
28
- Information on the source tree, documentation, issues and how to contribute, see
29
-
30
- http://github.com/wwood/bioruby-kmer_counter
31
-
32
- The BioRuby community is on IRC server: irc.freenode.org, channel: #bioruby.
33
-
34
- == Cite
35
-
36
- If you use this software, please cite one of
37
-
38
- * [BioRuby: bioinformatics software for the Ruby programming language](http://dx.doi.org/10.1093/bioinformatics/btq475)
39
- * [Biogem: an effective tool-based approach for scaling up open source software development in bioinformatics](http://dx.doi.org/10.1093/bioinformatics/bts080)
40
-
41
- == Biogems.info
42
-
43
- This Biogem is published at http://biogems.info/index.html#bio-kmer_counter
44
-
45
- == Copyright
46
-
47
- Copyright (c) 2012 Ben J Woodcroft. See LICENSE.txt for further details.
48
-