orf_finder 0.1.4 → 0.1.5

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/orf.rb +11 -8
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ae74e9c90fae051a04bfafe5930dfd240fd44a9f
4
- data.tar.gz: dd333404439214b4584a4fe99b70f737c3acf269
3
+ metadata.gz: c2670c642703a1140e0c3d977ec5685be5be5152
4
+ data.tar.gz: 9ba722c53acf7e56e0ff299a40ba26825ffc49f0
5
5
  SHA512:
6
- metadata.gz: 7506ba3acf6f16e0dbc01118135c3427719384cfd5894752c03a667e520e6f36b2458a80cf53e2fef0796c07c18851925b4a8f96c5384df540f655cac340388a
7
- data.tar.gz: 5a0fa12da4db509ac1d1e090bd4778aff7521ec3b565a0ab8c8265f029440e8c7e8d33061f30be91f70a83f11282b070752c6b82bcbcf2e07f29a870fb1fa321
6
+ metadata.gz: 11dc63d73b9a8b630ee9cc562262b758498e332ba85ef745534fe7f585acf2fe552ac1bcb521ec0e3a1e7bdea8fe7726d5a25ef64f65df00f836950f626cb69b
7
+ data.tar.gz: 165c138d544173a37681429db0e86db10f56f8c63b2e57bc4890f233d55645db5f3401c9e640e0908ddf71b63dea6288bc8a27912d038275455f079b47e10100
data/lib/orf.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require 'bio'
2
-
3
2
  require_relative 'orf_common'
4
3
  require_relative 'orf_finder'
5
4
  #
@@ -31,7 +30,6 @@ class ORF
31
30
  @seq = @sequence.to_s
32
31
  #
33
32
  self.options = ORFFinder::DEFAULT_OPTIONS.merge(options.nil? ? {} : options)
34
-
35
33
  logger.info 'ORF has been initialized'
36
34
  find
37
35
  end
@@ -112,15 +110,18 @@ class ORF
112
110
  frame_val << range
113
111
  end
114
112
  end
115
- # hash name
113
+ #
116
114
  hash_name = frame_sym(index)
117
115
  orf[hash_name][:orfs] = (frame_val.empty? ? frame_fal : frame_val)
118
- longest = { len: nil, range: nil }
116
+ #
117
+ longest = { len: nil, range: [] }
119
118
  orf[hash_name][:orfs].each do |range|
120
119
  len = range[:stop] - range[:start] + 1
121
- if longest[:range].nil? || len > longest[:len]
120
+ if longest[:range].nil? || longest[:range].empty? || len > longest[:len]
122
121
  longest[:len] = len
123
- longest[:range] = range
122
+ longest[:range] = [range]
123
+ elsif len == longest[:len]
124
+ longest[:range] << range
124
125
  end
125
126
  end
126
127
  orf[hash_name][:longest] = longest[:range]
@@ -139,7 +140,9 @@ class ORF
139
140
  return res_nt if @orf.nil? || @orf.size == 0
140
141
  # for each orf get the longest sequence
141
142
  @orf.each do |key, val|
142
- res_nt[key] = get_range(val[:longest])
143
+ res_nt[key] = val[:longest].collect do |el|
144
+ get_range(el)
145
+ end
143
146
  end
144
147
  @res_nt = res_nt
145
148
  # translate to aa sequence
@@ -148,7 +151,7 @@ class ORF
148
151
  res_aa[key] = if val.nil? || val.empty?
149
152
  ''
150
153
  else
151
- val.translate(1, codon_table)
154
+ val.collect { |el| el.translate(1, codon_table) }
152
155
  end
153
156
  end
154
157
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: orf_finder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Veríssimo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-25 00:00:00.000000000 Z
11
+ date: 2016-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bio