bioinform 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 64c5e6fe652d85bd538d08020e5d06779e676fa7
4
- data.tar.gz: 954a02afb784d086d006e59e97f57400a10f7858
3
+ metadata.gz: 14f2fb7993dff9e7a405856ff0e44989e1fd4d1a
4
+ data.tar.gz: 268ceea6bb9741c463e30923c4a26b8a9a8092a3
5
5
  SHA512:
6
- metadata.gz: f3e549ad3b7b20a45ba37dc90c25660af7f1a455cf358aced90991570b76070da5688872141a32e54590a6cd0e65622fe2010b9b27b34466886b15f5a6b7856e
7
- data.tar.gz: 81e3dba3f91e3f4acc6838efe5e197da2712f070a4962e3d29bd0df81a0834eb513542ecfcbaca62802cd32fdaa90e883c356d1a008abde9715e5183e52501ee
6
+ metadata.gz: aa01a07bcf91915f1e562bd7a16a2d74f74334215ee9cdf7e9cbb0516fcf589e8c28731de319f5c8fb1b412e39a111aabc6b689a791257d35fe008ea1e54b777
7
+ data.tar.gz: 63c27498b5b1c8ca1954c2b950cf202480516e5b5aa534ca1c02f00e4e7e310d16db4ac4d2934e462c071b29be939b40a292fbd97ad7b57321d44933f7f87523
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bioinform (0.3.0)
4
+ bioinform (0.3.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -29,7 +29,12 @@ module Bioinform
29
29
  VALIDATOR = PM::VALIDATOR * PCM.count_validator(eps: 1.0e-4).make_strict
30
30
  DIFFERENT_COUNTS_VALIDATOR = PM::VALIDATOR * PCM.count_validator(eps: nil).make_strict
31
31
 
32
- def initialize(matrix, alphabet: NucleotideAlphabet, validator: PCM::VALIDATOR)
32
+
33
+ def self.default_validator
34
+ PCM::VALIDATOR
35
+ end
36
+
37
+ def initialize(matrix, alphabet: NucleotideAlphabet, validator: default_validator)
33
38
  super
34
39
  # validator already checked count discrepancy. We store median count.
35
40
  @count = matrix.map{|pos| pos.inject(0.0, &:+) }.sort[matrix.length / 2]
@@ -20,7 +20,7 @@ module Bioinform
20
20
  }
21
21
 
22
22
  attr_reader :matrix, :alphabet
23
- def initialize(matrix, alphabet: NucleotideAlphabet, validator: PM::VALIDATOR)
23
+ def initialize(matrix, alphabet: NucleotideAlphabet, validator: default_validator)
24
24
  validation_results = validator.validate_params(matrix, alphabet)
25
25
  unless validation_results.valid?
26
26
  raise ValidationError.new('Invalid matrix.', validation_errors: validation_results)
@@ -29,15 +29,23 @@ module Bioinform
29
29
  @alphabet = alphabet
30
30
  end
31
31
 
32
- def self.from_string(input, alphabet: NucleotideAlphabet, parser: DEFAULT_PARSER)
32
+ def self.default_validator
33
+ PM::VALIDATOR
34
+ end
35
+
36
+ def default_validator
37
+ self.class.default_validator
38
+ end
39
+
40
+ def self.from_string(input, alphabet: NucleotideAlphabet, parser: DEFAULT_PARSER, validator: default_validator)
33
41
  info = parser.parse!(input)
34
- self.new(info[:matrix], alphabet: alphabet).named( info[:name] )
42
+ self.new(info[:matrix], alphabet: alphabet, validator: validator).named( info[:name] )
35
43
  end
36
44
 
37
- def self.from_file(filename, alphabet: NucleotideAlphabet, parser: DEFAULT_PARSER)
45
+ def self.from_file(filename, alphabet: NucleotideAlphabet, parser: DEFAULT_PARSER, validator: default_validator)
38
46
  info = parser.parse!(File.read(filename))
39
47
  name = (info[:name] && !info[:name].strip.empty?) ? info[:name] : File.basename(filename, File.extname(filename))
40
- self.new(info[:matrix], alphabet: alphabet).named( name )
48
+ self.new(info[:matrix], alphabet: alphabet, validator: validator).named( name )
41
49
  end
42
50
 
43
51
  def length
@@ -7,6 +7,10 @@ module Bioinform
7
7
  end
8
8
 
9
9
  class PPM < PM
10
+ def self.default_validator
11
+ PPM::VALIDATOR
12
+ end
13
+
10
14
  def self.probability_validator(eps: 1.0e-4)
11
15
  Validator.new{|matrix, alphabet|
12
16
  errors = []
@@ -26,10 +30,6 @@ module Bioinform
26
30
  end
27
31
 
28
32
  VALIDATOR = PM::VALIDATOR * PPM.probability_validator(eps: 1.0e-4).make_strict
29
-
30
- def initialize(matrix, alphabet: NucleotideAlphabet, validator: PPM::VALIDATOR)
31
- super # default validator redefined
32
- end
33
33
  end
34
34
  end
35
35
  end
@@ -8,8 +8,9 @@ module Bioinform
8
8
 
9
9
  class PWM < PM
10
10
  VALIDATOR = PM::VALIDATOR
11
- def initialize(matrix, alphabet: NucleotideAlphabet, validator: PWM::VALIDATOR)
12
- super # default validator redefined
11
+
12
+ def self.default_validator
13
+ PWM::VALIDATOR
13
14
  end
14
15
 
15
16
  def score(word)
@@ -1,3 +1,3 @@
1
1
  module Bioinform
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bioinform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.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: 2016-04-19 00:00:00.000000000 Z
11
+ date: 2016-04-22 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A bunch of useful classes for bioinformatics
14
14
  email: