basil 0.0.4 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -1,7 +1,13 @@
1
1
  source :rubygems
2
2
  gemspec
3
+
3
4
  gem "dna"
4
- gem "awesome_print"
5
5
  gem "trollop"
6
- gem "rspec"
7
- gem "awesome_print"
6
+
7
+ group :development do
8
+ gem 'jeweler'
9
+ end
10
+
11
+ group :test do
12
+ gem 'rspec'
13
+ end
data/Rakefile CHANGED
@@ -1 +1,48 @@
1
- require "bundler/gem_tasks"
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
4
+ require 'bundler'
5
+
6
+ require './lib/basil/version.rb'
7
+
8
+ begin
9
+ Bundler.setup(:default, :development)
10
+ rescue Bundler::BundlerError => e
11
+ $stderr.puts e.message
12
+ $stderr.puts "Run `bundle install` to install missing gems"
13
+ exit e.status_code
14
+ end
15
+ require 'rake'
16
+
17
+ require 'jeweler'
18
+ Jeweler::Tasks.new do |gem|
19
+ gem.name = "basil"
20
+ gem.homepage = "http://audy.github.com/basil"
21
+ gem.license = "MIT"
22
+ gem.summary = "Weapons-grade HTML demultiplexer"
23
+ gem.description = "Split multiplexed Illumina/454/IonTorrent/etc... output by barcode"
24
+ gem.email = "harekrishna@gmail.com"
25
+ gem.authors = ["Austin G. Davis-Richardson"]
26
+ gem.version = Basil::Version::STRING
27
+ end
28
+ Jeweler::RubygemsDotOrgTasks.new
29
+
30
+ require 'rake/testtask'
31
+ Rake::TestTask.new(:test) do |test|
32
+ test.libs << 'lib' << 'test'
33
+ test.pattern = 'test/**/test_*.rb'
34
+ test.verbose = true
35
+ end
36
+
37
+ task :default => :test
38
+
39
+ require 'rdoc/task'
40
+ Rake::RDocTask.new do |rdoc|
41
+
42
+ version = Basil::Version::STRING
43
+
44
+ rdoc.rdoc_dir = 'rdoc'
45
+ rdoc.title = "test #{version}"
46
+ rdoc.rdoc_files.include('readme.md')
47
+ rdoc.rdoc_files.include('lib/**/*.rb')
48
+ end
@@ -1,22 +1,78 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
1
4
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require 'basil/version'
4
5
 
5
6
  Gem::Specification.new do |s|
6
- s.name = 'basil'
7
- s.version = '0.0.4'
8
- s.authors = ["Austin G. Davis-Richardson"]
9
- s.email = ["harekrishna@gmail.com"]
10
- s.homepage = "http://github.com/audy/basil"
11
- s.summary = 'HTPS demultiplexer'
12
- s.description = 'Split multiplexed high-throughput sequencing reads by barcode.'
13
- s.rubyforge_project = "basil"
14
- s.files = `git ls-files`.split("\n")
15
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
7
+ s.name = "basil"
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Austin G. Davis-Richardson"]
12
+ s.date = "2012-09-18"
13
+ s.description = "Split multiplexed Illumina/454/IonTorrent/etc... output by barcode"
14
+ s.email = "harekrishna@gmail.com"
15
+ s.executables = ["basil"]
16
+ s.files = [
17
+ ".rspec",
18
+ ".rvmrc",
19
+ "Gemfile",
20
+ "Rakefile",
21
+ "basil.gemspec",
22
+ "bin/basil",
23
+ "lib/basil.rb",
24
+ "lib/basil/barcodes.rb",
25
+ "lib/basil/basil.rb",
26
+ "lib/basil/buffer.rb",
27
+ "lib/basil/cli.rb",
28
+ "lib/basil/version.rb",
29
+ "readme.md",
30
+ "spec/basil_spec.rb",
31
+ "spec/buffer_spec.rb",
32
+ "spec/cli_spec.rb",
33
+ "spec/data/barcodes.csv",
34
+ "spec/data/illumina/s_1_1_001_qseq.txt",
35
+ "spec/data/illumina/s_1_2_001_qseq.txt",
36
+ "spec/data/illumina/s_1_3_001_qseq.txt",
37
+ "spec/data/test.fasta",
38
+ "spec/data/test.fastq",
39
+ "spec/data/test.qseq",
40
+ "spec/spec_helper.rb"
41
+ ]
42
+ s.homepage = "http://audy.github.com/basil"
43
+ s.licenses = ["MIT"]
17
44
  s.require_paths = ["lib"]
18
- s.add_dependency('dna')
19
- s.add_dependency('trollop')
20
- s.add_dependency('rspec')
21
- s.add_dependency('bundler')
45
+ s.rubygems_version = "1.8.24"
46
+ s.summary = "Weapons-grade HTML demultiplexer"
47
+
48
+ if s.respond_to? :specification_version then
49
+ s.specification_version = 3
50
+
51
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
52
+ s.add_runtime_dependency(%q<basil>, [">= 0"])
53
+ s.add_runtime_dependency(%q<dna>, [">= 0"])
54
+ s.add_runtime_dependency(%q<trollop>, [">= 0"])
55
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
56
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
57
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
58
+ s.add_development_dependency(%q<jeweler>, [">= 0"])
59
+ else
60
+ s.add_dependency(%q<basil>, [">= 0"])
61
+ s.add_dependency(%q<dna>, [">= 0"])
62
+ s.add_dependency(%q<trollop>, [">= 0"])
63
+ s.add_dependency(%q<jeweler>, [">= 0"])
64
+ s.add_dependency(%q<jeweler>, [">= 0"])
65
+ s.add_dependency(%q<jeweler>, [">= 0"])
66
+ s.add_dependency(%q<jeweler>, [">= 0"])
67
+ end
68
+ else
69
+ s.add_dependency(%q<basil>, [">= 0"])
70
+ s.add_dependency(%q<dna>, [">= 0"])
71
+ s.add_dependency(%q<trollop>, [">= 0"])
72
+ s.add_dependency(%q<jeweler>, [">= 0"])
73
+ s.add_dependency(%q<jeweler>, [">= 0"])
74
+ s.add_dependency(%q<jeweler>, [">= 0"])
75
+ s.add_dependency(%q<jeweler>, [">= 0"])
76
+ end
22
77
  end
78
+
@@ -0,0 +1,9 @@
1
+ module Basil
2
+ module Version
3
+ MAJOR = 0
4
+ MINOR = 1
5
+ PATCH = 1
6
+
7
+ STRING = [MAJOR, MINOR, PATCH].join('.')
8
+ end
9
+ end
@@ -19,6 +19,10 @@ describe Basil::Basil do
19
19
  barcodes.should_not raise_error TypeError
20
20
  end
21
21
 
22
+ it 'has a version number' do
23
+ Basil::Version::STRING.should_not be_nil
24
+ end
25
+
22
26
  it 'raises an error if duplicate barcodes are specified' do
23
27
  Basil::Basil.new({ 1 => 'gggg', 2 => 'gggg' }).should raise_error
24
28
  end
@@ -32,16 +36,16 @@ describe Basil::Basil do
32
36
  basil.recognize("NGATC").first.should == 1
33
37
  end
34
38
 
35
- it 'preserves case sensitivity of regexp' do
39
+ it '#recognize preserves case sensitivity when given regexp' do
36
40
  basil = Basil::Basil.new(1 => /^.GATC/)
37
41
  basil.recognize("Ngatc").should be_nil
38
42
  end
39
43
 
40
- it '#recognize is case insensitive' do
44
+ it '#recognize is case sensitive' do
41
45
  basil.recognize(dna.upcase!).first.should == 1
42
46
  end
43
47
 
44
- it '#recognize ^ is prepended to barcode regexp if strings are provided' do
48
+ it '#recognize ^ is automatically prepended to barcode regexp if strings are provided' do
45
49
  basil.recognize('aggggaaa').should be_nil
46
50
  end
47
51
 
@@ -1,3 +1,5 @@
1
1
  $LOAD_PATH << File.join(File.dirname(__FILE__), 'lib')
2
2
 
3
- require 'basil'
3
+ require 'basil'
4
+
5
+ Bundler.require :test
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: basil
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
- - 0
9
- - 4
10
- version: 0.0.4
8
+ - 1
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Austin G. Davis-Richardson
@@ -15,11 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-05-15 00:00:00 Z
18
+ date: 2012-09-18 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- name: dna
22
- prerelease: false
21
+ type: :runtime
23
22
  requirement: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
@@ -29,11 +28,11 @@ dependencies:
29
28
  segments:
30
29
  - 0
31
30
  version: "0"
32
- type: :runtime
33
31
  version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: trollop
32
+ name: basil
36
33
  prerelease: false
34
+ - !ruby/object:Gem::Dependency
35
+ type: :runtime
37
36
  requirement: &id002 !ruby/object:Gem::Requirement
38
37
  none: false
39
38
  requirements:
@@ -43,11 +42,11 @@ dependencies:
43
42
  segments:
44
43
  - 0
45
44
  version: "0"
46
- type: :runtime
47
45
  version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: rspec
46
+ name: dna
50
47
  prerelease: false
48
+ - !ruby/object:Gem::Dependency
49
+ type: :runtime
51
50
  requirement: &id003 !ruby/object:Gem::Requirement
52
51
  none: false
53
52
  requirements:
@@ -57,11 +56,11 @@ dependencies:
57
56
  segments:
58
57
  - 0
59
58
  version: "0"
60
- type: :runtime
61
59
  version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: bundler
60
+ name: trollop
64
61
  prerelease: false
62
+ - !ruby/object:Gem::Dependency
63
+ type: :development
65
64
  requirement: &id004 !ruby/object:Gem::Requirement
66
65
  none: false
67
66
  requirements:
@@ -71,11 +70,53 @@ dependencies:
71
70
  segments:
72
71
  - 0
73
72
  version: "0"
74
- type: :runtime
75
73
  version_requirements: *id004
76
- description: Split multiplexed high-throughput sequencing reads by barcode.
77
- email:
78
- - harekrishna@gmail.com
74
+ name: jeweler
75
+ prerelease: false
76
+ - !ruby/object:Gem::Dependency
77
+ type: :development
78
+ requirement: &id005 !ruby/object:Gem::Requirement
79
+ none: false
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ hash: 3
84
+ segments:
85
+ - 0
86
+ version: "0"
87
+ version_requirements: *id005
88
+ name: jeweler
89
+ prerelease: false
90
+ - !ruby/object:Gem::Dependency
91
+ type: :development
92
+ requirement: &id006 !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ hash: 3
98
+ segments:
99
+ - 0
100
+ version: "0"
101
+ version_requirements: *id006
102
+ name: jeweler
103
+ prerelease: false
104
+ - !ruby/object:Gem::Dependency
105
+ type: :development
106
+ requirement: &id007 !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ hash: 3
112
+ segments:
113
+ - 0
114
+ version: "0"
115
+ version_requirements: *id007
116
+ name: jeweler
117
+ prerelease: false
118
+ description: Split multiplexed Illumina/454/IonTorrent/etc... output by barcode
119
+ email: harekrishna@gmail.com
79
120
  executables:
80
121
  - basil
81
122
  extensions: []
@@ -83,7 +124,6 @@ extensions: []
83
124
  extra_rdoc_files: []
84
125
 
85
126
  files:
86
- - .gitignore
87
127
  - .rspec
88
128
  - .rvmrc
89
129
  - Gemfile
@@ -95,6 +135,7 @@ files:
95
135
  - lib/basil/basil.rb
96
136
  - lib/basil/buffer.rb
97
137
  - lib/basil/cli.rb
138
+ - lib/basil/version.rb
98
139
  - readme.md
99
140
  - spec/basil_spec.rb
100
141
  - spec/buffer_spec.rb
@@ -107,9 +148,9 @@ files:
107
148
  - spec/data/test.fastq
108
149
  - spec/data/test.qseq
109
150
  - spec/spec_helper.rb
110
- homepage: http://github.com/audy/basil
111
- licenses: []
112
-
151
+ homepage: http://audy.github.com/basil
152
+ licenses:
153
+ - MIT
113
154
  post_install_message:
114
155
  rdoc_options: []
115
156
 
@@ -135,20 +176,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
135
176
  version: "0"
136
177
  requirements: []
137
178
 
138
- rubyforge_project: basil
179
+ rubyforge_project:
139
180
  rubygems_version: 1.8.24
140
181
  signing_key:
141
182
  specification_version: 3
142
- summary: HTPS demultiplexer
143
- test_files:
144
- - spec/basil_spec.rb
145
- - spec/buffer_spec.rb
146
- - spec/cli_spec.rb
147
- - spec/data/barcodes.csv
148
- - spec/data/illumina/s_1_1_001_qseq.txt
149
- - spec/data/illumina/s_1_2_001_qseq.txt
150
- - spec/data/illumina/s_1_3_001_qseq.txt
151
- - spec/data/test.fasta
152
- - spec/data/test.fastq
153
- - spec/data/test.qseq
154
- - spec/spec_helper.rb
183
+ summary: Weapons-grade HTML demultiplexer
184
+ test_files: []
185
+
data/.gitignore DELETED
@@ -1,2 +0,0 @@
1
- Gemfile.lock
2
- pkg/