bio-ngs 0.3.2.alpha.01

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. data/.document +5 -0
  2. data/Gemfile +39 -0
  3. data/Gemfile.lock +81 -0
  4. data/LICENSE.txt +28 -0
  5. data/README.rdoc +240 -0
  6. data/Rakefile +60 -0
  7. data/VERSION +1 -0
  8. data/bin/biongs +35 -0
  9. data/bio-ngs.gemspec +215 -0
  10. data/ext/mkrf_conf.rb +87 -0
  11. data/lib/bio-ngs.rb +54 -0
  12. data/lib/bio/appl/ngs/bcl2qseq.rb +93 -0
  13. data/lib/bio/appl/ngs/blast.rb +36 -0
  14. data/lib/bio/appl/ngs/bowtie-inspect.rb +50 -0
  15. data/lib/bio/appl/ngs/cufflinks.rb +489 -0
  16. data/lib/bio/appl/ngs/fastx.rb +170 -0
  17. data/lib/bio/appl/ngs/samtools.rb +118 -0
  18. data/lib/bio/appl/ngs/sff_extract.rb +23 -0
  19. data/lib/bio/appl/ngs/tophat.rb +158 -0
  20. data/lib/bio/ngs/converter.rb +100 -0
  21. data/lib/bio/ngs/core_ext.rb +12 -0
  22. data/lib/bio/ngs/db.rb +66 -0
  23. data/lib/bio/ngs/db/migrate/homology/201105030707_create_blastout.rb +22 -0
  24. data/lib/bio/ngs/db/migrate/homology/201105030709_create_goannotation.rb +29 -0
  25. data/lib/bio/ngs/db/migrate/ontology/201105030708_create_go.rb +18 -0
  26. data/lib/bio/ngs/db/migrate/ontology/201105030710_create_gene_go.rb +17 -0
  27. data/lib/bio/ngs/db/migrate/ontology/201105030711_create_gene.rb +16 -0
  28. data/lib/bio/ngs/db/models.rb +1 -0
  29. data/lib/bio/ngs/db/models/homology.rb +8 -0
  30. data/lib/bio/ngs/db/models/ontology.rb +16 -0
  31. data/lib/bio/ngs/ext/bin/common/fastq_coverage_graph.sh +161 -0
  32. data/lib/bio/ngs/ext/bin/common/sff_extract +1505 -0
  33. data/lib/bio/ngs/ext/bin/linux/samtools +0 -0
  34. data/lib/bio/ngs/ext/bin/osx/samtools +0 -0
  35. data/lib/bio/ngs/ext/versions.yaml +73 -0
  36. data/lib/bio/ngs/graphics.rb +189 -0
  37. data/lib/bio/ngs/homology.rb +102 -0
  38. data/lib/bio/ngs/ontology.rb +103 -0
  39. data/lib/bio/ngs/quality.rb +64 -0
  40. data/lib/bio/ngs/record.rb +50 -0
  41. data/lib/bio/ngs/task.rb +46 -0
  42. data/lib/bio/ngs/utils.rb +176 -0
  43. data/lib/development_tasks.rb +34 -0
  44. data/lib/enumerable.rb +37 -0
  45. data/lib/tasks/bwa.thor +126 -0
  46. data/lib/tasks/convert.thor +454 -0
  47. data/lib/tasks/history.thor +51 -0
  48. data/lib/tasks/homology.thor +121 -0
  49. data/lib/tasks/ontology.thor +93 -0
  50. data/lib/tasks/project.thor +51 -0
  51. data/lib/tasks/quality.thor +142 -0
  52. data/lib/tasks/rna.thor +126 -0
  53. data/lib/tasks/sff_extract.thor +9 -0
  54. data/lib/templates/README.tt +43 -0
  55. data/lib/templates/db.tt +6 -0
  56. data/lib/wrapper.rb +225 -0
  57. data/spec/converter_qseq_spec.rb +56 -0
  58. data/spec/fixture/s_1_1_1108_qseq.txt +100 -0
  59. data/spec/quality_spec.rb +40 -0
  60. data/spec/sff_extract_spec.rb +98 -0
  61. data/spec/spec_helper.rb +55 -0
  62. data/spec/tophat_spec.rb +99 -0
  63. data/spec/utils_spec.rb +22 -0
  64. data/test/conf/test_db.yml +4 -0
  65. data/test/data/blastoutput.xml +69 -0
  66. data/test/data/gene-GO.json +1 -0
  67. data/test/data/goa_uniprot +27 -0
  68. data/test/data/goslim_goa.obo +1763 -0
  69. data/test/helper.rb +18 -0
  70. data/test/test_bio-ngs.rb +17 -0
  71. data/test/test_db.rb +21 -0
  72. data/test/test_homology.rb +102 -0
  73. data/test/test_ngs.rb +21 -0
  74. data/test/test_ontology.rb +74 -0
  75. data/test/test_utils.rb +29 -0
  76. metadata +460 -0
data/test/helper.rb ADDED
@@ -0,0 +1,18 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'test/unit'
11
+ require 'shoulda'
12
+
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
+ require 'bio-ngs'
16
+
17
+ class Test::Unit::TestCase
18
+ end
@@ -0,0 +1,17 @@
1
+ require 'helper'
2
+
3
+ class TestBioNgs < Test::Unit::TestCase
4
+ # should "probably rename this file and start testing for real" do
5
+ # flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ # end
7
+
8
+ # def test_init
9
+ # ngs = Ngs.new
10
+ # assert_equal("", ngs.data)
11
+ # end
12
+ #
13
+ # def test_bcl2fastq
14
+ # z=Ngs.pippo
15
+ # assert_equal("xxxx",z)
16
+ # end
17
+ end
data/test/test_db.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'helper'
2
+
3
+ class TestHomology < Test::Unit::TestCase
4
+
5
+
6
+ context "Database class" do
7
+
8
+ should "take the db type and an optional yaml file" do
9
+ db = Bio::Ngs::Db.new :ontology, "test/conf/test_db.yml"
10
+ assert_equal(Bio::Ngs::Db,db.class)
11
+ end
12
+
13
+ should "raise an error if an invalid db type is called" do
14
+ assert_raise ArgumentError do
15
+ db = Bio::Ngs::Db.new :invalid_type
16
+ end
17
+ end
18
+
19
+ end
20
+
21
+ end
@@ -0,0 +1,102 @@
1
+ require 'helper'
2
+
3
+ class TestHomology < Test::Unit::TestCase
4
+
5
+ def setup
6
+ db = Bio::Ngs::Db.new :homology, "test/conf/test_db.yml"
7
+ db.create_tables
8
+ end
9
+
10
+ def teardown
11
+ FileUtils.rm "test/data/test.sqlite3" if File.exists? "test/data/test.sqlite3"
12
+ end
13
+
14
+ context "Homology database" do
15
+
16
+ should "have a set of empty tables created according to migrations" do
17
+ assert_equal(0,GoAnnotation.count)
18
+ assert_equal(0,BlastOutput.count)
19
+ end
20
+
21
+ should "have a table blast_outputs" do
22
+ fields = BlastOutput.column_names
23
+ assert_equal(7,fields.size)
24
+ assert_equal(["id","query_id","target_id","target_description","evalue","identity","positive"],fields)
25
+ end
26
+
27
+ should "have a table go_annotations" do
28
+ fields = GoAnnotation.column_names
29
+ assert_equal(16,fields.size)
30
+ assert_equal(["id","db","entry_id","symbol","qualifier","go_id","db_ref","evidence","additional_identifier","aspect","name","synonym","molecule_type","taxon_id","date","assigned_by"],fields)
31
+ end
32
+
33
+ end
34
+
35
+ context "Homology import tasks" do
36
+
37
+ should "take a GO Annotation file and store it into a go_annotations table" do
38
+ Bio::Ngs::Homology.goa_import("test/data/goa_uniprot","test/conf/test_db.yml")
39
+ goa = GoAnnotation.find(:first)
40
+ assert_equal("UniProtKB",goa.db)
41
+ assert_equal("Q5TM25",goa.entry_id)
42
+ assert_equal("AIF1",goa.symbol)
43
+ assert_equal("colocalizes_with",goa.qualifier)
44
+ assert_equal("GO:0032587",goa.go_id)
45
+ assert_equal("Allograft inflammatory factor 1",goa.name)
46
+ assert_equal("AIF1_MACMU|AIF1",goa.synonym)
47
+ assert_equal(27,GoAnnotation.count)
48
+ goa = GoAnnotation.find(:all)
49
+ assert_equal("Q5U241",goa[-1].entry_id)
50
+ assert_equal("GO:0008285",goa[-1].go_id)
51
+ end
52
+
53
+ should "take a Blast XML file and store the results into a blast_outputs table" do
54
+ Bio::Ngs::Homology.blast_import("test/data/blastoutput.xml","test/conf/test_db.yml")
55
+ b = BlastOutput.find(:first)
56
+ assert_equal("ENSBTAG00000031386_1906_35",b.query_id)
57
+ assert_equal("Q5TTP0",b.target_id)
58
+ assert_equal("WD repeat-containing protein on Y chromosome OS=Anopheles gambiae GN=WDY PE=4 SV=4",b.target_description)
59
+ assert_equal(2.55108e-57,b.evalue)
60
+ assert_equal(29.50530035335689,b.identity)
61
+ assert_equal(47.879858657243815,b.positive)
62
+ end
63
+
64
+ end
65
+
66
+ context "Homology convert tasks" do
67
+
68
+ should "create a tab-separated file starting from the Blast XML file" do
69
+ Bio::Ngs::Homology.blast2text("test/data/blastoutput.xml","test/data/blastoutput.txt")
70
+ f = File.read("test/data/blastoutput.txt")
71
+ header,record = f.split("\n")
72
+ assert_equal("Query ID\tTarget ID\tTarget Description\tE-value\tIdentity\tPositive",header)
73
+ elements = record.split("\t")
74
+ assert_equal("ENSBTAG00000031386_1906_35",elements[0])
75
+ assert_equal("sp|Q5TTP0|WDY_ANOGA",elements[1])
76
+ assert_equal("WD repeat-containing protein on Y chromosome OS=Anopheles gambiae GN=WDY PE=4 SV=4",elements[2])
77
+ assert_equal("2.55108e-57",elements[3])
78
+ assert_equal("29.50530035335689",elements[4])
79
+ assert_equal("47.879858657243815",elements[5])
80
+ FileUtils.rm "test/data/blastoutput.txt"
81
+ end
82
+
83
+ should "create a JSON file with the GO Annotation present into the db" do
84
+ Bio::Ngs::Homology.goa_import("test/data/goa_uniprot","test/conf/test_db.yml")
85
+ Bio::Ngs::Homology.blast_import("test/data/blastoutput.xml","test/conf/test_db.yml")
86
+ Bio::Ngs::Homology.go_annotation_to_json("test/data/go_annotations.json","test","test/conf/test_db.yml")
87
+ data = JSON.parse File.read("test/data/go_annotations.json")
88
+ assert_equal(1,data.size)
89
+ data = data.first
90
+ assert_equal("ENSBTAG00000031386_1906_35",data["gene_id"])
91
+ assert_equal(3,data["go"].size)
92
+ assert_equal("GO:0003674",data["go"][0])
93
+ assert_equal("GO:0005575",data["go"][1])
94
+ assert_equal("GO:0008150",data["go"][2])
95
+ assert_equal("test",data["library"])
96
+ FileUtils.rm "test/data/go_annotations.json"
97
+ end
98
+
99
+ end
100
+
101
+
102
+ end
data/test/test_ngs.rb ADDED
@@ -0,0 +1,21 @@
1
+ require 'helper'
2
+
3
+ class TestNgs < Test::Unit::TestCase
4
+ # should "probably rename this file and start testing for real" do
5
+ # flunk "hey buddy, you should probably rename this file and start testing for real"
6
+ # end
7
+
8
+ def setup
9
+ @qseq_str="HWI-BRUNOP16X 0001 8 1 15744 1220 0 1 GNAGCCGATCCACCTCCCAGCCTTCCTGGGATACAAGTCTGGCATGACTC TBTTTTTTTT`^``Sdbd_deeeeeeeeeeeWUdd_bbbfdTedXOTTTS 1"
10
+ end
11
+
12
+ def test_qseq2fastq_pe
13
+ #qseq_pe_output="@HWI-BRUNOP16X:8:1:15744:1220#0/1\nGNAGCCGATCCACCTCCCAGCCTTCCTGGGATACAAGTCTGGCATGACTC\n+\nTBTTTTTTTT`^``Sdbd_deeeeeeeeeeeWUdd_bbbfdTedXOTTTS"
14
+ #assert_equal(qseq_pe_output, Bio::Ngs::Converter.qseq2fastq_pe(@qseq_str))
15
+ end
16
+
17
+ def test_qseq2fastq_se
18
+ #qseq_se_output="@HWI-BRUNOP16X:8:1:15744:1220#0/\nGNAGCCGATCCACCTCCCAGCCTTCCTGGGATACAAGTCTGGCATGACTC\n+\nTBTTTTTTTT`^``Sdbd_deeeeeeeeeeeWUdd_bbbfdTedXOTTTS"
19
+ #assert_equal(qseq_se_output, Bio::Ngs::Converter.qseq2fastq_se(@qseq_str))
20
+ end
21
+ end
@@ -0,0 +1,74 @@
1
+ require 'helper'
2
+
3
+ class TestOntology < Test::Unit::TestCase
4
+
5
+ def setup
6
+ db = Bio::Ngs::Db.new :ontology, "test/conf/test_db.yml"
7
+ db.create_tables
8
+ end
9
+
10
+ def teardown
11
+ FileUtils.rm "test/data/test.sqlite3" if File.exists? "test/data/test.sqlite3"
12
+ end
13
+
14
+ context "Ontology database" do
15
+
16
+ should "have a set of empty tables created according to migrations" do
17
+ assert_equal(0,Gene.count)
18
+ assert_equal(0,Go.count)
19
+ assert_equal(0,GeneGo.count)
20
+ end
21
+
22
+ should "have a table go" do
23
+ fields = Go.column_names
24
+ assert_equal(5,fields.size)
25
+ assert_equal(["id","go_id","name","namespace","is_a"],fields)
26
+ end
27
+
28
+ end
29
+
30
+ context "Ontology import tasks" do
31
+
32
+ should "take a GO OBO file and store it into go table" do
33
+ Bio::Ngs::Ontology.go_import("test/data/goslim_goa.obo","test/conf/test_db.yml")
34
+ r = Go.find(:first)
35
+ assert_equal("GO:0000003",r.go_id)
36
+ assert_equal("reproduction",r.name)
37
+ assert_equal("biological_process",r.namespace)
38
+ assert_equal("GO:0008150 ",r.is_a)
39
+ go = Go.find(:all)
40
+ assert_equal("GO:0071941",go[-1].go_id)
41
+ assert_equal("nitrogen cycle metabolic process",go[-1].name)
42
+ assert_equal("biological_process",go[-1].namespace)
43
+ total = Go.count
44
+ assert_equal(106,total)
45
+ end
46
+
47
+ end
48
+
49
+
50
+ context "Bio::Ngs::Ontology" do
51
+
52
+ should "store into the db the GO terms associated to Genes" do
53
+ Bio::Ngs::Ontology.go_import("test/data/goslim_goa.obo","test/conf/test_db.yml")
54
+ Bio::Ngs::Ontology.load_go_genes("test/data/gene-GO.json","test/conf/test_db.yml")
55
+
56
+ db = Bio::Ngs::Db.new :ontology, "test/conf/test_db.yml"
57
+ assert_equal(2,Gene.count)
58
+ assert_equal(14,GeneGo.count)
59
+ ontology = %w(GO:0005622 GO:0005634 GO:0005654 GO:0005737 GO:0007049 GO:0007059 GO:0043234)
60
+ terms = Gene.find(1).go.map {|g| g.go_id}
61
+ assert_equal(ontology,terms.sort)
62
+ ontology = %w(GO:0005634 GO:0005654 GO:0005737 GO:0007049 GO:0008283 GO:0043234 GO:0051276)
63
+ terms = Gene.find(2).go.map {|g| g.go_id}
64
+ assert_equal(ontology,terms.sort)
65
+
66
+ assert_equal("BRCA1",Gene.find(1).library)
67
+ assert_equal("BRCA2",Gene.find(2).library)
68
+
69
+ end
70
+
71
+ end
72
+
73
+
74
+ end
@@ -0,0 +1,29 @@
1
+ require "#{File.dirname(__FILE__)}/helper"
2
+
3
+ class TestUtils < Test::Unit::TestCase
4
+
5
+ def test_plugin_binary
6
+ assert_nothing_raised do
7
+ Bio::Ngs::Utils.binary("sff_extract")
8
+ end
9
+ end
10
+
11
+ def test_plugin_os_binary
12
+ assert_nothing_raised do
13
+ Bio::Ngs::Utils.binary("samtools")
14
+ end
15
+ end
16
+
17
+ def test_os_binary
18
+ assert_nothing_raised do
19
+ Bio::Ngs::Utils.binary("ruby")
20
+ end
21
+ end
22
+
23
+ def test_raise_error
24
+ assert_raise Bio::Ngs::Utils::BinaryNotFound do
25
+ Bio::Ngs::Utils.binary("fake_binary")
26
+ end
27
+ end
28
+
29
+ end
metadata ADDED
@@ -0,0 +1,460 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bio-ngs
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2.alpha.01
5
+ prerelease: 6
6
+ platform: ruby
7
+ authors:
8
+ - Francesco Strozzi
9
+ - Raoul J.P. Bonnal
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2011-10-10 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: bio
17
+ requirement: &2170881740 !ruby/object:Gem::Requirement
18
+ none: false
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: 1.4.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: *2170881740
26
+ - !ruby/object:Gem::Dependency
27
+ name: bio-bwa
28
+ requirement: &2170874980 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *2170874980
37
+ - !ruby/object:Gem::Dependency
38
+ name: bio-samtools
39
+ requirement: &2170868580 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: 0.0.0
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *2170868580
48
+ - !ruby/object:Gem::Dependency
49
+ name: thor
50
+ requirement: &2170865400 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: 0.14.6
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *2170865400
59
+ - !ruby/object:Gem::Dependency
60
+ name: rubyvis
61
+ requirement: &2170863100 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: 0.5.0
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *2170863100
70
+ - !ruby/object:Gem::Dependency
71
+ name: daemons
72
+ requirement: &2170860560 !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 1.1.0
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: *2170860560
81
+ - !ruby/object:Gem::Dependency
82
+ name: ruby-ensembl-api
83
+ requirement: &2170857700 !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: 1.0.1
89
+ type: :runtime
90
+ prerelease: false
91
+ version_requirements: *2170857700
92
+ - !ruby/object:Gem::Dependency
93
+ name: activerecord
94
+ requirement: &2170855960 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: 3.0.5
100
+ type: :runtime
101
+ prerelease: false
102
+ version_requirements: *2170855960
103
+ - !ruby/object:Gem::Dependency
104
+ name: sqlite3
105
+ requirement: &2170854340 !ruby/object:Gem::Requirement
106
+ none: false
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: 1.3.3
111
+ type: :runtime
112
+ prerelease: false
113
+ version_requirements: *2170854340
114
+ - !ruby/object:Gem::Dependency
115
+ name: bio-blastxmlparser
116
+ requirement: &2170851720 !ruby/object:Gem::Requirement
117
+ none: false
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
+ type: :runtime
123
+ prerelease: false
124
+ version_requirements: *2170851720
125
+ - !ruby/object:Gem::Dependency
126
+ name: progressbar
127
+ requirement: &2170848640 !ruby/object:Gem::Requirement
128
+ none: false
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: 0.9.0
133
+ type: :runtime
134
+ prerelease: false
135
+ version_requirements: *2170848640
136
+ - !ruby/object:Gem::Dependency
137
+ name: shoulda
138
+ requirement: &2170844080 !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
+ type: :development
145
+ prerelease: false
146
+ version_requirements: *2170844080
147
+ - !ruby/object:Gem::Dependency
148
+ name: bundler
149
+ requirement: &2170840920 !ruby/object:Gem::Requirement
150
+ none: false
151
+ requirements:
152
+ - - ~>
153
+ - !ruby/object:Gem::Version
154
+ version: 1.0.0
155
+ type: :development
156
+ prerelease: false
157
+ version_requirements: *2170840920
158
+ - !ruby/object:Gem::Dependency
159
+ name: jeweler
160
+ requirement: &2170839560 !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ~>
164
+ - !ruby/object:Gem::Version
165
+ version: 1.5.2
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: *2170839560
169
+ - !ruby/object:Gem::Dependency
170
+ name: rcov
171
+ requirement: &2170838040 !ruby/object:Gem::Requirement
172
+ none: false
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
+ type: :development
178
+ prerelease: false
179
+ version_requirements: *2170838040
180
+ - !ruby/object:Gem::Dependency
181
+ name: bio
182
+ requirement: &2170836560 !ruby/object:Gem::Requirement
183
+ none: false
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: 1.4.2
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: *2170836560
191
+ - !ruby/object:Gem::Dependency
192
+ name: thor
193
+ requirement: &2170834960 !ruby/object:Gem::Requirement
194
+ none: false
195
+ requirements:
196
+ - - ! '>='
197
+ - !ruby/object:Gem::Version
198
+ version: 0.14.6
199
+ type: :development
200
+ prerelease: false
201
+ version_requirements: *2170834960
202
+ - !ruby/object:Gem::Dependency
203
+ name: ffi
204
+ requirement: &2170831480 !ruby/object:Gem::Requirement
205
+ none: false
206
+ requirements:
207
+ - - ! '>='
208
+ - !ruby/object:Gem::Version
209
+ version: 1.0.6
210
+ type: :development
211
+ prerelease: false
212
+ version_requirements: *2170831480
213
+ - !ruby/object:Gem::Dependency
214
+ name: rubyvis
215
+ requirement: &2170828140 !ruby/object:Gem::Requirement
216
+ none: false
217
+ requirements:
218
+ - - ! '>='
219
+ - !ruby/object:Gem::Version
220
+ version: 0.5.0
221
+ type: :development
222
+ prerelease: false
223
+ version_requirements: *2170828140
224
+ - !ruby/object:Gem::Dependency
225
+ name: rspec
226
+ requirement: &2170826120 !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: 2.5.0
232
+ type: :development
233
+ prerelease: false
234
+ version_requirements: *2170826120
235
+ - !ruby/object:Gem::Dependency
236
+ name: daemons
237
+ requirement: &2170824340 !ruby/object:Gem::Requirement
238
+ none: false
239
+ requirements:
240
+ - - ! '>='
241
+ - !ruby/object:Gem::Version
242
+ version: 1.1.0
243
+ type: :development
244
+ prerelease: false
245
+ version_requirements: *2170824340
246
+ - !ruby/object:Gem::Dependency
247
+ name: bio-samtools
248
+ requirement: &2170822080 !ruby/object:Gem::Requirement
249
+ none: false
250
+ requirements:
251
+ - - ! '>='
252
+ - !ruby/object:Gem::Version
253
+ version: 0.0.0
254
+ type: :development
255
+ prerelease: false
256
+ version_requirements: *2170822080
257
+ - !ruby/object:Gem::Dependency
258
+ name: ruby-ensembl-api
259
+ requirement: &2170819520 !ruby/object:Gem::Requirement
260
+ none: false
261
+ requirements:
262
+ - - ! '>='
263
+ - !ruby/object:Gem::Version
264
+ version: 1.0.1
265
+ type: :development
266
+ prerelease: false
267
+ version_requirements: *2170819520
268
+ - !ruby/object:Gem::Dependency
269
+ name: bio-bwa
270
+ requirement: &2170816740 !ruby/object:Gem::Requirement
271
+ none: false
272
+ requirements:
273
+ - - ! '>='
274
+ - !ruby/object:Gem::Version
275
+ version: 0.2.2
276
+ type: :development
277
+ prerelease: false
278
+ version_requirements: *2170816740
279
+ - !ruby/object:Gem::Dependency
280
+ name: activerecord
281
+ requirement: &2170814180 !ruby/object:Gem::Requirement
282
+ none: false
283
+ requirements:
284
+ - - ! '>='
285
+ - !ruby/object:Gem::Version
286
+ version: 3.0.5
287
+ type: :development
288
+ prerelease: false
289
+ version_requirements: *2170814180
290
+ - !ruby/object:Gem::Dependency
291
+ name: sqlite3
292
+ requirement: &2170805160 !ruby/object:Gem::Requirement
293
+ none: false
294
+ requirements:
295
+ - - ! '>='
296
+ - !ruby/object:Gem::Version
297
+ version: 1.3.3
298
+ type: :development
299
+ prerelease: false
300
+ version_requirements: *2170805160
301
+ - !ruby/object:Gem::Dependency
302
+ name: bio-blastxmlparser
303
+ requirement: &2170803260 !ruby/object:Gem::Requirement
304
+ none: false
305
+ requirements:
306
+ - - ! '>='
307
+ - !ruby/object:Gem::Version
308
+ version: '0'
309
+ type: :development
310
+ prerelease: false
311
+ version_requirements: *2170803260
312
+ - !ruby/object:Gem::Dependency
313
+ name: progressbar
314
+ requirement: &2170801680 !ruby/object:Gem::Requirement
315
+ none: false
316
+ requirements:
317
+ - - ! '>='
318
+ - !ruby/object:Gem::Version
319
+ version: 0.9.0
320
+ type: :development
321
+ prerelease: false
322
+ version_requirements: *2170801680
323
+ - !ruby/object:Gem::Dependency
324
+ name: json
325
+ requirement: &2170800800 !ruby/object:Gem::Requirement
326
+ none: false
327
+ requirements:
328
+ - - ! '>='
329
+ - !ruby/object:Gem::Version
330
+ version: '0'
331
+ type: :development
332
+ prerelease: false
333
+ version_requirements: *2170800800
334
+ description: bio-ngs provides a framework for handling NGS data with BioRuby
335
+ email: francesco.strozzi@gmail.com
336
+ executables:
337
+ - biongs
338
+ extensions:
339
+ - ext/mkrf_conf.rb
340
+ extra_rdoc_files:
341
+ - LICENSE.txt
342
+ - README.rdoc
343
+ files:
344
+ - .document
345
+ - Gemfile
346
+ - Gemfile.lock
347
+ - LICENSE.txt
348
+ - README.rdoc
349
+ - Rakefile
350
+ - VERSION
351
+ - bin/biongs
352
+ - bio-ngs.gemspec
353
+ - ext/mkrf_conf.rb
354
+ - lib/bio-ngs.rb
355
+ - lib/bio/appl/ngs/bcl2qseq.rb
356
+ - lib/bio/appl/ngs/blast.rb
357
+ - lib/bio/appl/ngs/bowtie-inspect.rb
358
+ - lib/bio/appl/ngs/cufflinks.rb
359
+ - lib/bio/appl/ngs/fastx.rb
360
+ - lib/bio/appl/ngs/samtools.rb
361
+ - lib/bio/appl/ngs/sff_extract.rb
362
+ - lib/bio/appl/ngs/tophat.rb
363
+ - lib/bio/ngs/converter.rb
364
+ - lib/bio/ngs/core_ext.rb
365
+ - lib/bio/ngs/db.rb
366
+ - lib/bio/ngs/db/migrate/homology/201105030707_create_blastout.rb
367
+ - lib/bio/ngs/db/migrate/homology/201105030709_create_goannotation.rb
368
+ - lib/bio/ngs/db/migrate/ontology/201105030708_create_go.rb
369
+ - lib/bio/ngs/db/migrate/ontology/201105030710_create_gene_go.rb
370
+ - lib/bio/ngs/db/migrate/ontology/201105030711_create_gene.rb
371
+ - lib/bio/ngs/db/models.rb
372
+ - lib/bio/ngs/db/models/homology.rb
373
+ - lib/bio/ngs/db/models/ontology.rb
374
+ - lib/bio/ngs/ext/bin/common/fastq_coverage_graph.sh
375
+ - lib/bio/ngs/ext/bin/common/sff_extract
376
+ - lib/bio/ngs/ext/bin/linux/samtools
377
+ - lib/bio/ngs/ext/bin/osx/samtools
378
+ - lib/bio/ngs/ext/versions.yaml
379
+ - lib/bio/ngs/graphics.rb
380
+ - lib/bio/ngs/homology.rb
381
+ - lib/bio/ngs/ontology.rb
382
+ - lib/bio/ngs/quality.rb
383
+ - lib/bio/ngs/record.rb
384
+ - lib/bio/ngs/task.rb
385
+ - lib/bio/ngs/utils.rb
386
+ - lib/development_tasks.rb
387
+ - lib/enumerable.rb
388
+ - lib/tasks/bwa.thor
389
+ - lib/tasks/convert.thor
390
+ - lib/tasks/history.thor
391
+ - lib/tasks/homology.thor
392
+ - lib/tasks/ontology.thor
393
+ - lib/tasks/project.thor
394
+ - lib/tasks/quality.thor
395
+ - lib/tasks/rna.thor
396
+ - lib/tasks/sff_extract.thor
397
+ - lib/templates/README.tt
398
+ - lib/templates/db.tt
399
+ - lib/wrapper.rb
400
+ - spec/converter_qseq_spec.rb
401
+ - spec/fixture/s_1_1_1108_qseq.txt
402
+ - spec/quality_spec.rb
403
+ - spec/sff_extract_spec.rb
404
+ - spec/spec_helper.rb
405
+ - spec/tophat_spec.rb
406
+ - spec/utils_spec.rb
407
+ - test/conf/test_db.yml
408
+ - test/data/blastoutput.xml
409
+ - test/data/gene-GO.json
410
+ - test/data/goa_uniprot
411
+ - test/data/goslim_goa.obo
412
+ - test/helper.rb
413
+ - test/test_bio-ngs.rb
414
+ - test/test_db.rb
415
+ - test/test_homology.rb
416
+ - test/test_ngs.rb
417
+ - test/test_ontology.rb
418
+ - test/test_utils.rb
419
+ homepage: http://github.com/helios/bioruby-ngs
420
+ licenses:
421
+ - MIT
422
+ post_install_message:
423
+ rdoc_options: []
424
+ require_paths:
425
+ - lib
426
+ required_ruby_version: !ruby/object:Gem::Requirement
427
+ none: false
428
+ requirements:
429
+ - - ! '>='
430
+ - !ruby/object:Gem::Version
431
+ version: '0'
432
+ segments:
433
+ - 0
434
+ hash: 1963233679841043858
435
+ required_rubygems_version: !ruby/object:Gem::Requirement
436
+ none: false
437
+ requirements:
438
+ - - ! '>'
439
+ - !ruby/object:Gem::Version
440
+ version: 1.3.1
441
+ requirements: []
442
+ rubyforge_project:
443
+ rubygems_version: 1.8.6
444
+ signing_key:
445
+ specification_version: 3
446
+ summary: bio-ngs provides a framework for handling NGS data with BioRuby
447
+ test_files:
448
+ - spec/converter_qseq_spec.rb
449
+ - spec/quality_spec.rb
450
+ - spec/sff_extract_spec.rb
451
+ - spec/spec_helper.rb
452
+ - spec/tophat_spec.rb
453
+ - spec/utils_spec.rb
454
+ - test/helper.rb
455
+ - test/test_bio-ngs.rb
456
+ - test/test_db.rb
457
+ - test/test_homology.rb
458
+ - test/test_ngs.rb
459
+ - test/test_ontology.rb
460
+ - test/test_utils.rb