parse_fasta 1.1.2 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- NDQ2ODg3Yjg0MGJmODdhZGZiYTkwMGRiMTI1OGQ5MDA0NjkzNWFhNw==
5
- data.tar.gz: !binary |-
6
- MWFlZTE2NmJkNTRjMDMyMjI4NDhmYzliY2JlZTY5NjY2ZjliZjIyOQ==
2
+ SHA1:
3
+ metadata.gz: b140f0d7d54cdb4f0938bbcd5aa2484f069fcb50
4
+ data.tar.gz: 9ff3a6ace4f834da41b298075aa470cb730bd4f6
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YjM5Nzc2MTg0OWZiNjA1NzY2YmQ1MDhhY2U1YmU3YzNiNzFiMWQyOWQwNGY4
10
- MjIyMmQxNTMzMWE3ODU0MmY4ZTY0ZTczMDlmNzFiZDU0M2I0YWUzYjk2MTQy
11
- ODgyMGI5YjQxNjBiYWUyMDZkMjgyNDNlMGFmMmM0YjRjM2JkMDM=
12
- data.tar.gz: !binary |-
13
- ZmQ1ODM2ZmIwMjgwMmE5NzRjYjhlMjAyZDhkNjJiNTc3ZDkxNzE1OTEyMzU4
14
- MmE2Y2VkYTI4NGNlMWI1MDAxYTU3NTVlYzFjOTI2Zjg2MGQwNjhmZDUzZDhh
15
- YTg2YzQ0Yjg4N2YxYjRiODNhZTlmYzk3OWJkNzYzYWUyMTE0Njk=
6
+ metadata.gz: f9b9dd477b595a28970f2f299503f360c7fb353a62013b2e848f353a296ddebf1def65f5f6a5f02ea046d20041f28cfe0c32581cdc10793cd6ac75daec0576ec
7
+ data.tar.gz: aa1e8e8aff902c6a16315fa6513f755f92887ae79c0c4cc8f42d7ae7c530e8885250885c7397cf1861d47136ceb6012deed7fab9be3d98da0d3d4c4d11720f60
data/README.md CHANGED
@@ -32,6 +32,8 @@ to see the full documentation.
32
32
 
33
33
  ## Usage ##
34
34
 
35
+ Some examples...
36
+
35
37
  A little script to print header and length of each record.
36
38
 
37
39
  require 'parse_fasta'
@@ -54,6 +56,17 @@ Now we can parse fastq files as well!
54
56
 
55
57
  ## Versions ##
56
58
 
59
+ ### 1.2.0 ###
60
+
61
+ Added `mean_qual` method to the `Quality` class.
62
+
63
+ ### 1.1.2 ###
64
+
65
+ Dropped Ruby requirement to 1.9.3
66
+
67
+ (Note, if you want to build the docs with yard and you're using
68
+ Ruby 1.9.3, you may have to install the redcarpet gem.)
69
+
57
70
  ### 1.1.0 ###
58
71
 
59
72
  Added: Fastq and Quality classes
@@ -35,7 +35,7 @@ class FastqFile < File
35
35
  # @yieldparam sequence [Sequence] The sequence of the fastq record
36
36
  # @yieldparam description [String] The description line of the fastq
37
37
  # record without the leading '+'
38
- # @yieldparam quality string [Quality] The quality string of the
38
+ # @yieldparam quality_string [Quality] The quality string of the
39
39
  # fastq record
40
40
  def each_record
41
41
  count = 0
@@ -19,9 +19,19 @@
19
19
  # Provide some methods for dealing with common tasks regarding
20
20
  # quality strings.
21
21
  class Quality < String
22
+ # Returns the mean quality for the record. This will be a good deal
23
+ # faster than getting the average with `qual_scores` and reduce.
24
+ #
25
+ # @example Get mean quality score for a record
26
+ # Quality.new("!+5?I").mean_qual #=> 20.0
27
+ #
28
+ # @return [Float] Mean quality score for record
29
+ def mean_qual
30
+ (self.sum - (self.length * 33)) / self.length.to_f
31
+ end
22
32
 
23
33
  # Returns an array of illumina style quality scores. The quality
24
- # scores generated will be Phred+33.
34
+ # scores generated will be Phred+33 (i.e., new Illumina).
25
35
  #
26
36
  # @example Get quality score array of a Quality
27
37
  # Quality.new("!+5?I").qual_scores #=> [0, 10, 20, 30, 40]
@@ -17,5 +17,5 @@
17
17
  # along with parse_fasta. If not, see <http://www.gnu.org/licenses/>.
18
18
 
19
19
  module ParseFasta
20
- VERSION = "1.1.2"
20
+ VERSION = "1.2.0"
21
21
  end
@@ -32,4 +32,12 @@ describe Quality do
32
32
  end
33
33
  end
34
34
  end
35
+
36
+ describe "#mean_qual" do
37
+ it "returns the mean quality for the quality string" do
38
+ len = qual_string.length.to_f
39
+ mean_quality = qual_string.qual_scores.reduce(:+) / len
40
+ expect(qual_string.mean_qual).to eq mean_quality
41
+ end
42
+ end
35
43
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parse_fasta
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Moore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-01 00:00:00.000000000 Z
11
+ date: 2014-07-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.6'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.6'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.3'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '2.14'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.14'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bio
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.4'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '1.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: yard
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0.8'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0.8'
83
83
  description: So you want to parse a fasta file...
@@ -87,7 +87,7 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
- - .gitignore
90
+ - ".gitignore"
91
91
  - COPYING
92
92
  - Gemfile
93
93
  - README.md
@@ -109,7 +109,7 @@ files:
109
109
  - test_files/test.fq
110
110
  homepage: https://github.com/mooreryan/parse_fasta
111
111
  licenses:
112
- - ! 'GPLv3: http://www.gnu.org/licenses/gpl.txt'
112
+ - 'GPLv3: http://www.gnu.org/licenses/gpl.txt'
113
113
  metadata: {}
114
114
  post_install_message:
115
115
  rdoc_options: []
@@ -117,12 +117,12 @@ require_paths:
117
117
  - lib
118
118
  required_ruby_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
- - - ! '>='
120
+ - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: 1.9.3
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
- - - ! '>='
125
+ - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  requirements: []