gene-matcher 0.1.7 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gene-matcher.rb +7 -3
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8157bdd5dae107a5180e78d51de4a146b0768b4d8d8b8e638e61ec23ad8d6c6
4
- data.tar.gz: 4dc38fa6ecccd8a31f77e96a672ee76d047f55af4957a28bf931c75a8483d45d
3
+ metadata.gz: 17b72e6c94dc3d82b5b48f8f1e223020ad32a83eaf2097cc728f4376365edd86
4
+ data.tar.gz: f4fa6a450071438398403caff25742f3164adf227cdf20586ba135516f59248c
5
5
  SHA512:
6
- metadata.gz: 5333cfbcc037c18bb67cb140d49018af1e696260ff6268e4c1f5a968e4753fc138425bba5fd96f1928ef9cece8200a957a4f1607ec99ed792f64dff0ea0f77e4
7
- data.tar.gz: fc5ff17d69865a118262ec29da7127bf2eae5e7aadad22697bc5c606e668acbccbd848b6caa470be9eafac04dd2dcc5e364a7cb876eab95f659d6d73d2931056
6
+ metadata.gz: a1f1f01fae67f624e80d48b0bfc21f7e9d7372807204eac38fd4d47f599d27d4a4cf6ff425b0ebb5d7897f283768d66dca80f5deef8b5ec4c02d9af4ac6d4783
7
+ data.tar.gz: 1e64793c2c892d4dc7542505ae765f0849346b8776233f36ec0f4886981079dd42977ca556ad20acd0e1a0d79404163f901b6070cc02b848f1581691b9dd1a26
data/lib/gene-matcher.rb CHANGED
@@ -2,11 +2,12 @@
2
2
  require_relative 'smith-waterman'
3
3
 
4
4
  class Matcher
5
- attr_accessor :input_sequence, :limit
5
+ attr_accessor :input_sequence, :limit, :reserve_target_sequence
6
6
  attr_reader :alignments
7
7
 
8
8
  def initialize(input_sequence, limit = 0.6)
9
9
  @limit = limit
10
+ @reserve_target_sequence = false
10
11
  @input_sequence = input_sequence
11
12
  @alignments = []
12
13
  end
@@ -14,9 +15,12 @@ class Matcher
14
15
  def scan(target_sequence,source = {})
15
16
  sw = SmithWaterman.instance
16
17
  a = sw.alignment(target_sequence, @input_sequence)
17
- a.source = {target_sequence: target_sequence}.merge(source)
18
18
  puts "#{a.score} / #{a.alignment_count} = #{a.score / a.alignment_count}" if ENV["DEBUG"]
19
- @alignments += [a] if a.score / a.alignment_count >= @limit
19
+ return if a.alignment_count == 0
20
+ return if a.score / a.alignment_count < @limit
21
+ a.source = {}.merge(source)
22
+ a.source[:target_sequence] = target_sequence if @reserve_target_sequence
23
+ @alignments += [a]
20
24
  end
21
25
  end
22
26
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gene-matcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - ITO Yosei
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-11 00:00:00.000000000 Z
11
+ date: 2023-10-03 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Algorithm for determining similar regions between nucleic acid sequences.
14
14
  email: y-itou@lumber-mill.co.jp