dna 0.1.0 → 0.1.1

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.
data/dna.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "dna"
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Austin G. Davis-Richardson"]
12
- s.date = "2012-08-09"
12
+ s.date = "2012-08-15"
13
13
  s.description = "Simple FASTA/FASTQ/QSEQ parser library for Ruby."
14
14
  s.email = "harekrishna@gmail.com"
15
15
  s.executables = ["dna"]
data/lib/dna/dna.rb CHANGED
@@ -20,7 +20,7 @@ class Dna
20
20
  when :qseq
21
21
  QSEQParser.new @handle
22
22
  else
23
- raise "#{@format} not supported."
23
+ raise IOError, "format '#{@format}' not supported. (or file is empty)"
24
24
  end
25
25
  end
26
26
 
data/lib/dna/version.rb CHANGED
@@ -2,7 +2,7 @@ class Dna
2
2
  class Version
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- PATCH = 0
5
+ PATCH = 1
6
6
 
7
7
  STRING = [MAJOR, MINOR, PATCH].join('.')
8
8
  end
data/readme.md CHANGED
@@ -1,60 +1,38 @@
1
1
  # DNA
2
2
 
3
- A minimalistic sequence file parser.
3
+ A biological sequence file parser for Ruby
4
4
 
5
5
  Austin G. Davis-Richardson
6
6
 
7
- Supported Formats:
7
+ Features
8
8
 
9
- - [fasta](http://en.wikipedia.org/wiki/FASTA)
10
- - [fastq](http://en.wikipedia.org/wiki/Fastq)
11
- - [qseq](http://blog.kokocinski.net/index.php/qseq-files-format?blog=2)
12
-
13
- [Request a format](https://github.com/audy/dna/issues/new?title=request%20for%20new%20format)
9
+ - Supported Formats ([submit a format request](https://github.com/audy/dna/issues/new?title=request%20for%20new%20format))
10
+ - [fasta](http://en.wikipedia.org/wiki/FASTA)
11
+ - [fastq](http://en.wikipedia.org/wiki/Fastq)
12
+ - [qseq](http://blog.kokocinski.net/index.php/qseq-files-format?blog=2)
13
+ - Autodetection of file formats so your scripts can be format agnostic
14
+ - Automatic Gzip support
15
+ - Files are read from disk (not stored in memory)
14
16
 
15
17
  ## Installation
16
18
 
17
19
  With Ruby 1.8.7 or better:
18
20
 
19
- `gem install dna`
20
-
21
- ## CLI
22
-
23
- DNA gem has grep-like capabilities. Print records with (Ruby) regexp match in header.
24
-
25
21
  ```
26
- $ dna spec/data/input.fastq "[1-2]"
27
-
28
- @1
29
- TGAAACTTATTGATCACCCCGCTTGGCGTTGGGGAGAAATTCAGAAAAGAGTGCTTGATGGGGCGCCACATGCCGTGCAACCCACTCTCTTTCACGCAGCGCGCCCCA
30
- +1
31
- 5888.6778888650/-//&,(,./*-11'//0&,-0.(.,,,,/2/&-,,,,,.(.,(,..&---&-,,,((*-----*+.&,,,,,(//&,,,-(,,+(,,,--&(
32
- @2
33
- GTCGCGGCTTACCACCCAACGATTTTTTTTAGAGGTGCTGGTTTCA
34
- +2
35
- 2550//*-1./4.--/'+.2.,,,,,,,,&(/00.11426554+13
36
-
37
- $ dna spec/data/test.fasta "\d"
38
-
39
- >1
40
- GAGAGATCTCATGACACAGCCGAAG
41
- >2
42
- GAGACAUAUCCNNNAA
43
-
22
+ $ (sudo) gem install dna
44
23
  ```
45
24
 
46
-
47
25
  ## Usage
48
26
 
49
27
  ```ruby
50
28
 
51
29
  require 'dna'
52
30
 
53
- # format detected automatically by inspecting the contents of the file.
31
+ # Automatic Format Detection
54
32
 
55
33
  File.open('sequences.fasta') do |handle|
56
34
  records = Dna.new handle
57
-
35
+
58
36
  records.each do |record|
59
37
  puts record.length
60
38
  end
@@ -73,8 +51,7 @@ File.open('sequences.qseq') do |handle|
73
51
  puts records.first.inspect
74
52
  end
75
53
 
76
- # even works on gzipped data
77
-
54
+ # Even supports Gzip
78
55
  File.open('sequences.fasta.gz') do |handle|
79
56
  records = Dna.new handle
80
57
 
@@ -83,3 +60,29 @@ File.open('sequences.fasta.gz') do |handle|
83
60
  end
84
61
  end
85
62
  ```
63
+
64
+ ## Bonus Feature
65
+
66
+ The DNA gem is also a command-line tool with grep-like capabilities. Print records with (Ruby) regexp match in header.
67
+
68
+ ```
69
+ $ dna spec/data/input.fastq "[1-2]"
70
+
71
+ @1
72
+ TGAAACTTATTGATCACCCCGCTTGGCGTTGGGGAGAAATTCAGAAAAGAGTGCTTGATGGGGCGCCACATGCCGTGCAACCCACTCTCTTTCACGCAGCGCGCCCCA
73
+ +1
74
+ 5888.6778888650/-//&,(,./*-11'//0&,-0.(.,,,,/2/&-,,,,,.(.,(,..&---&-,,,((*-----*+.&,,,,,(//&,,,-(,,+(,,,--&(
75
+ @2
76
+ GTCGCGGCTTACCACCCAACGATTTTTTTTAGAGGTGCTGGTTTCA
77
+ +2
78
+ 2550//*-1./4.--/'+.2.,,,,,,,,&(/00.11426554+13
79
+
80
+ $ dna spec/data/test.fasta "\d"
81
+
82
+ >1
83
+ GAGAGATCTCATGACACAGCCGAAG
84
+ >2
85
+ GAGACAUAUCCNNNAA
86
+
87
+ ```
88
+
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dna
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Austin G. Davis-Richardson
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-08-09 00:00:00 Z
18
+ date: 2012-08-15 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  type: :runtime