lederhosen 1.6.0 → 1.6.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.
- data/Gemfile +6 -7
- data/lederhosen.gemspec +13 -16
- data/lib/lederhosen/tasks/trim.rb +4 -2
- data/lib/lederhosen/trimmer.rb +7 -8
- data/lib/lederhosen/version.rb +1 -1
- data/readme.md +2 -0
- metadata +18 -34
data/Gemfile
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
source :rubygems
|
2
2
|
|
3
3
|
gem 'dna', '0.1.2'
|
4
|
-
gem 'progressbar'
|
5
|
-
gem 'thor'
|
4
|
+
gem 'progressbar', '0.12.0'
|
5
|
+
gem 'thor', '0.16.0'
|
6
6
|
|
7
7
|
group :test do
|
8
|
-
gem 'rspec'
|
9
|
-
gem 'rspec-prof'
|
8
|
+
gem 'rspec', '2.12.0'
|
9
|
+
gem 'rspec-prof', '0.0.3'
|
10
10
|
end
|
11
11
|
|
12
12
|
group :development do
|
13
13
|
gem 'rdoc', '~> 3.12'
|
14
|
-
gem '
|
15
|
-
gem '
|
16
|
-
gem 'ruby-prof'
|
14
|
+
gem 'jeweler', '1.8.4'
|
15
|
+
gem 'ruby-prof', '0.11.2'
|
17
16
|
end
|
data/lederhosen.gemspec
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "lederhosen"
|
8
|
-
s.version = "1.6.
|
8
|
+
s.version = "1.6.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Austin G. Davis-Richardson"]
|
@@ -61,29 +61,26 @@ Gem::Specification.new do |s|
|
|
61
61
|
|
62
62
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
63
63
|
s.add_runtime_dependency(%q<dna>, ["= 0.1.2"])
|
64
|
-
s.add_runtime_dependency(%q<progressbar>, ["
|
65
|
-
s.add_runtime_dependency(%q<thor>, ["
|
64
|
+
s.add_runtime_dependency(%q<progressbar>, ["= 0.12.0"])
|
65
|
+
s.add_runtime_dependency(%q<thor>, ["= 0.16.0"])
|
66
66
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
67
|
-
s.add_development_dependency(%q<
|
68
|
-
s.add_development_dependency(%q<
|
69
|
-
s.add_development_dependency(%q<ruby-prof>, [">= 0"])
|
67
|
+
s.add_development_dependency(%q<jeweler>, ["= 1.8.4"])
|
68
|
+
s.add_development_dependency(%q<ruby-prof>, ["= 0.11.2"])
|
70
69
|
else
|
71
70
|
s.add_dependency(%q<dna>, ["= 0.1.2"])
|
72
|
-
s.add_dependency(%q<progressbar>, ["
|
73
|
-
s.add_dependency(%q<thor>, ["
|
71
|
+
s.add_dependency(%q<progressbar>, ["= 0.12.0"])
|
72
|
+
s.add_dependency(%q<thor>, ["= 0.16.0"])
|
74
73
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
75
|
-
s.add_dependency(%q<
|
76
|
-
s.add_dependency(%q<
|
77
|
-
s.add_dependency(%q<ruby-prof>, [">= 0"])
|
74
|
+
s.add_dependency(%q<jeweler>, ["= 1.8.4"])
|
75
|
+
s.add_dependency(%q<ruby-prof>, ["= 0.11.2"])
|
78
76
|
end
|
79
77
|
else
|
80
78
|
s.add_dependency(%q<dna>, ["= 0.1.2"])
|
81
|
-
s.add_dependency(%q<progressbar>, ["
|
82
|
-
s.add_dependency(%q<thor>, ["
|
79
|
+
s.add_dependency(%q<progressbar>, ["= 0.12.0"])
|
80
|
+
s.add_dependency(%q<thor>, ["= 0.16.0"])
|
83
81
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
84
|
-
s.add_dependency(%q<
|
85
|
-
s.add_dependency(%q<
|
86
|
-
s.add_dependency(%q<ruby-prof>, [">= 0"])
|
82
|
+
s.add_dependency(%q<jeweler>, ["= 1.8.4"])
|
83
|
+
s.add_dependency(%q<ruby-prof>, ["= 0.11.2"])
|
87
84
|
end
|
88
85
|
end
|
89
86
|
|
@@ -46,11 +46,13 @@ module Lederhosen
|
|
46
46
|
out = File.join(out_dir, "#{File.basename(prefix)}.fasta")
|
47
47
|
|
48
48
|
# create the trimmed sequence generator
|
49
|
+
trim_args = { :pretrim => pretrim, :min_length => min_length }
|
50
|
+
|
49
51
|
trimmer =
|
50
52
|
if read_type == 'qseq'
|
51
|
-
Trimmer::QSEQTrimmer.new(*files)
|
53
|
+
Trimmer::QSEQTrimmer.new(*files, trim_args)
|
52
54
|
elsif read_type == 'fastq'
|
53
|
-
Trimmer::InterleavedTrimmer.new(files)
|
55
|
+
Trimmer::InterleavedTrimmer.new(files, trim_args)
|
54
56
|
end
|
55
57
|
|
56
58
|
# trim and write
|
data/lib/lederhosen/trimmer.rb
CHANGED
@@ -7,6 +7,9 @@ class PairedTrimmer < Enumerator
|
|
7
7
|
@paired_iterator = paired_iterator
|
8
8
|
@pretrim = args[:pretrim]
|
9
9
|
@min_length = args[:min_length] || 70
|
10
|
+
@min = args[:min] || 20
|
11
|
+
@offset = args[:cutoff] || 64 # XXX should both be called 'cutoff'
|
12
|
+
@pretrim = args[:pretrim] || false
|
10
13
|
end
|
11
14
|
|
12
15
|
def each(&block)
|
@@ -38,25 +41,21 @@ class PairedTrimmer < Enumerator
|
|
38
41
|
# this method does the actual trimming. It is a class method
|
39
42
|
# so you can use it if you don't want to initialize a PairedTrimmer
|
40
43
|
def trim_seq(dna, args={})
|
41
|
-
pretrim = args[:pretrim] || false
|
42
44
|
|
43
45
|
# trim primers off of sequence
|
44
46
|
# XXX this is experiment-specific and needs to be made
|
45
47
|
# into a parameter
|
46
|
-
if pretrim
|
47
|
-
dna.sequence = dna.sequence[pretrim..-1]
|
48
|
-
dna.quality = dna.quality[pretrim..-1]
|
48
|
+
if @pretrim
|
49
|
+
dna.sequence = dna.sequence[@pretrim..-1]
|
50
|
+
dna.quality = dna.quality[@pretrim..-1]
|
49
51
|
end
|
50
52
|
|
51
53
|
dna.sequence.gsub! '.', 'N'
|
52
54
|
|
53
|
-
min = args[:min] || 20 # what is this constant?
|
54
|
-
offset = args[:cutoff] || 64 # XXX depends on sequencing tech.
|
55
|
-
|
56
55
|
_sum, _max, first, last, start, _end = 0, 0, 0, 0, 0
|
57
56
|
|
58
57
|
dna.quality.each_byte.each_with_index do |b, a|
|
59
|
-
_sum += (b - offset - min)
|
58
|
+
_sum += (b - @offset - @min)
|
60
59
|
if _sum > _max
|
61
60
|
_max = _sum
|
62
61
|
_end = a
|
data/lib/lederhosen/version.rb
CHANGED
data/readme.md
CHANGED
@@ -70,6 +70,8 @@ lederhosen cluster \
|
|
70
70
|
--database=taxcollector.udb
|
71
71
|
```
|
72
72
|
|
73
|
+
The optional `--dry-run` parameter outputs the usearch command to standard out. This is useful if you want to run usearch on a cluster.
|
74
|
+
|
73
75
|
### Generate OTU table(s)
|
74
76
|
|
75
77
|
Create an OTU abundance table where rows are samples and columns are clusters. The entries are the number of reads for that cluster in a sample.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lederhosen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -32,33 +32,33 @@ dependencies:
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
none: false
|
34
34
|
requirements:
|
35
|
-
- -
|
35
|
+
- - '='
|
36
36
|
- !ruby/object:Gem::Version
|
37
|
-
version:
|
37
|
+
version: 0.12.0
|
38
38
|
type: :runtime
|
39
39
|
prerelease: false
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - '='
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: 0.12.0
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
47
|
name: thor
|
48
48
|
requirement: !ruby/object:Gem::Requirement
|
49
49
|
none: false
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - '='
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
53
|
+
version: 0.16.0
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 0.16.0
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
63
|
name: rdoc
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,54 +75,38 @@ dependencies:
|
|
75
75
|
- - ~>
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: '3.12'
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: bundler
|
80
|
-
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
|
-
requirements:
|
83
|
-
- - ! '>='
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: '0'
|
86
|
-
type: :development
|
87
|
-
prerelease: false
|
88
|
-
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
|
-
requirements:
|
91
|
-
- - ! '>='
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: '0'
|
94
78
|
- !ruby/object:Gem::Dependency
|
95
79
|
name: jeweler
|
96
80
|
requirement: !ruby/object:Gem::Requirement
|
97
81
|
none: false
|
98
82
|
requirements:
|
99
|
-
- -
|
83
|
+
- - '='
|
100
84
|
- !ruby/object:Gem::Version
|
101
|
-
version:
|
85
|
+
version: 1.8.4
|
102
86
|
type: :development
|
103
87
|
prerelease: false
|
104
88
|
version_requirements: !ruby/object:Gem::Requirement
|
105
89
|
none: false
|
106
90
|
requirements:
|
107
|
-
- -
|
91
|
+
- - '='
|
108
92
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
93
|
+
version: 1.8.4
|
110
94
|
- !ruby/object:Gem::Dependency
|
111
95
|
name: ruby-prof
|
112
96
|
requirement: !ruby/object:Gem::Requirement
|
113
97
|
none: false
|
114
98
|
requirements:
|
115
|
-
- -
|
99
|
+
- - '='
|
116
100
|
- !ruby/object:Gem::Version
|
117
|
-
version:
|
101
|
+
version: 0.11.2
|
118
102
|
type: :development
|
119
103
|
prerelease: false
|
120
104
|
version_requirements: !ruby/object:Gem::Requirement
|
121
105
|
none: false
|
122
106
|
requirements:
|
123
|
-
- -
|
107
|
+
- - '='
|
124
108
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
109
|
+
version: 0.11.2
|
126
110
|
description: Various tools for OTU clustering
|
127
111
|
email: harekrishna@gmail.com
|
128
112
|
executables:
|
@@ -178,7 +162,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
178
162
|
version: '0'
|
179
163
|
segments:
|
180
164
|
- 0
|
181
|
-
hash:
|
165
|
+
hash: -3171751151013656560
|
182
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
167
|
none: false
|
184
168
|
requirements:
|