obo 0.1.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.
data/test/data/temp ADDED
@@ -0,0 +1,24 @@
1
+ SELECT
2
+ db."name",
3
+ db.description,
4
+ db.urlprefix,
5
+ db.url,
6
+ db.db_id
7
+ FROM
8
+ public.cvterm gene,
9
+ public.cvterm_relationship is_a_relationship,
10
+ public.cvterm biological_region,
11
+ public.dbxref,
12
+ public.cvterm is_a_cvterm,
13
+ public.dbxref is_a_dbxref,
14
+ public.db
15
+ WHERE
16
+ gene.cvterm_id = is_a_relationship.subject_id AND
17
+ is_a_relationship.object_id = biological_region.cvterm_id AND
18
+ is_a_relationship.type_id = is_a_cvterm.cvterm_id AND
19
+ biological_region.dbxref_id = dbxref.dbxref_id AND
20
+ is_a_cvterm.dbxref_id = is_a_dbxref.dbxref_id AND
21
+ is_a_dbxref.db_id = db.db_id AND
22
+ gene.cv_id = 10 AND
23
+ gene."name" = 'gene' AND
24
+ biological_region."name" = 'biological_region';
@@ -0,0 +1,2 @@
1
+ This is line one
2
+ This is line two
data/test/helper.rb ADDED
@@ -0,0 +1,19 @@
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 'minitest/unit'
11
+
12
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
13
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
14
+ require 'obo'
15
+
16
+ class MiniTest::Unit::TestCase
17
+ end
18
+
19
+ MiniTest::Unit.autorun
data/test/test_obo.rb ADDED
@@ -0,0 +1,51 @@
1
+ require 'helper'
2
+ require "pp"
3
+
4
+ class TestObo < MiniTest::Unit::TestCase
5
+
6
+ def setup
7
+ @obo = Obo::Parser.new('test/data/ro.obo')
8
+ # @obo = Obo::Parser.new('test/data/so_2_4_3.obo')
9
+ end
10
+
11
+ def test_header_parsing
12
+ header = @obo.elements.first
13
+ assert_equal Obo::Header, header.class
14
+ assert_equal '1.2', header['format-version']
15
+ assert_equal 'cjm', header['saved-by']
16
+ assert_equal 3, header['remark'].length
17
+ end
18
+
19
+ def test_stanza_parsing
20
+ first_stanza = @obo.elements.find{|element| element.is_a? Obo::Stanza}
21
+
22
+ assert_equal 'Typedef', first_stanza.name
23
+ assert_equal 'OBO_REL:is_a', first_stanza['id']
24
+ assert_equal 'is_a', first_stanza['name']
25
+ assert first_stanza['is_reflexive']
26
+ end
27
+
28
+ def test_fancy_methods
29
+ first_stanza = @obo.elements.find{|element| element.is_a? Obo::Stanza}
30
+ assert_equal 'OBO_REL:is_a', first_stanza.id
31
+ assert first_stanza.is_reflexive
32
+ assert first_stanza.is_reflexive?
33
+
34
+ assert_raises(NoMethodError){first_stanza.is_a_zebra?}
35
+ end
36
+
37
+ def test_readthrough
38
+ assert_equal 26, @obo.elements.count
39
+ end
40
+
41
+ def test_rewind
42
+ # Run through the file to the end
43
+ @obo.elements.count
44
+ assert_raises(StopIteration){@obo.elements.count}
45
+ @obo.rewind
46
+ assert_equal 26, @obo.elements.count
47
+ end
48
+
49
+ end
50
+
51
+
metadata ADDED
@@ -0,0 +1,127 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: obo
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - robsyme
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-05-24 00:00:00 +08:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: minitest
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ type: :development
25
+ prerelease: false
26
+ version_requirements: *id001
27
+ - !ruby/object:Gem::Dependency
28
+ name: yard
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ~>
33
+ - !ruby/object:Gem::Version
34
+ version: 0.6.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: *id002
38
+ - !ruby/object:Gem::Dependency
39
+ name: bundler
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.0.0
46
+ type: :development
47
+ prerelease: false
48
+ version_requirements: *id003
49
+ - !ruby/object:Gem::Dependency
50
+ name: jeweler
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - ~>
55
+ - !ruby/object:Gem::Version
56
+ version: 1.6.0
57
+ type: :development
58
+ prerelease: false
59
+ version_requirements: *id004
60
+ - !ruby/object:Gem::Dependency
61
+ name: rcov
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: *id005
71
+ description: "The OBO format is the text file format used by OBO-Edit, the open-source, platform-independent application for viewing and editing ontologies. The format is described here: http://www.geneontology.org/GO.format.obo-1_2.shtml"
72
+ email: rob.syme@gmail.com
73
+ executables: []
74
+
75
+ extensions: []
76
+
77
+ extra_rdoc_files:
78
+ - LICENSE.txt
79
+ - README.rdoc
80
+ files:
81
+ - .document
82
+ - Gemfile
83
+ - Gemfile.lock
84
+ - LICENSE.txt
85
+ - README.rdoc
86
+ - Rakefile
87
+ - VERSION
88
+ - lib/obo.rb
89
+ - test/data/ro.obo
90
+ - test/data/so_2_4_3.obo
91
+ - test/data/temp
92
+ - test/data/testfile.txt
93
+ - test/helper.rb
94
+ - test/test_obo.rb
95
+ has_rdoc: true
96
+ homepage: http://github.com/robsyme/obo
97
+ licenses:
98
+ - MIT
99
+ post_install_message:
100
+ rdoc_options: []
101
+
102
+ require_paths:
103
+ - lib
104
+ required_ruby_version: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ hash: -3947284209714185762
110
+ segments:
111
+ - 0
112
+ version: "0"
113
+ required_rubygems_version: !ruby/object:Gem::Requirement
114
+ none: false
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: "0"
119
+ requirements: []
120
+
121
+ rubyforge_project:
122
+ rubygems_version: 1.5.0
123
+ signing_key:
124
+ specification_version: 3
125
+ summary: A parser for the OBO flat file format
126
+ test_files: []
127
+