parse_fasta 1.1.2 → 1.2.0

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.
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: []