obo 0.1.4 → 0.1.5

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e16927a494bf3379df6023df94df5c6edf87918d
4
+ data.tar.gz: 4c191ef4175dd9e59302b1aea6c5f150d4fa1394
5
+ SHA512:
6
+ metadata.gz: 68359ab9cc3ba6989e1dc74d2847309b4a2066b23646e52811bd6898b5501c763e80540a76211607b1fdff487134fbc56db3e44db17b91c683ce7b4697ab085f
7
+ data.tar.gz: 7e842778b3b1aac99ceebc06e527db3285de94fd14f2875510108dab9c087608dc7aa043114d1320271c919450d6418a6e36d55ed1e4ea7fe7320baa8ba6c424
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.5
@@ -4,7 +4,7 @@ require_relative 'stanza'
4
4
  module Obo
5
5
  class Parser
6
6
  STANZA_START = /^\[(.*?)\]/
7
- TAG_VALUE = /^(.*?):\s*([^!]*)\n/
7
+ TAG_VALUE = /^(.*?):\s*([^!]*)\s*(.*?)\n/
8
8
 
9
9
  def initialize(filename)
10
10
  @io = File.open(filename)
@@ -25,7 +25,7 @@ module Obo
25
25
  while io.gets
26
26
  case $_
27
27
  when TAG_VALUE
28
- stanza.add($1, $2)
28
+ stanza.add($1, $2.strip)
29
29
  when STANZA_START
30
30
  yielder << stanza
31
31
  stanza = Stanza.new($1.strip)
@@ -1,3 +1,3 @@
1
1
  module Obo
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.5"
3
3
  end
@@ -20,9 +20,32 @@ class TestObo < MiniTest::Unit::TestCase
20
20
  assert_equal 'Typedef', first_stanza.name
21
21
  assert_equal 'OBO_REL:is_a', first_stanza['id']
22
22
  assert_equal 'is_a', first_stanza['name']
23
+
23
24
  assert first_stanza['is_reflexive']
24
25
  end
25
26
 
27
+ def test_stanza_fields_and_values
28
+ @obo = Obo::Parser.new('test/data/so_2_4_3.obo')
29
+ terms = []
30
+
31
+ @obo.elements.each do |elm|
32
+ terms << elm
33
+ end
34
+
35
+ sofa = terms[1]
36
+ assert_equal "SO:0000000", sofa["id"]
37
+ assert_equal "Sequence_Ontology", sofa["name"]
38
+ assert_equal "SOFA", sofa["subset"]
39
+ assert_equal true, sofa.is_obsolete
40
+
41
+ region = terms[2]
42
+ assert_equal "SO:0000001", region["id"]
43
+ #tests stripping of comments
44
+ assert_equal "SO:0000110", region["is_a"]
45
+ assert_equal %{"sequence" EXACT []}, region["synonym"]
46
+
47
+ end
48
+
26
49
  def test_fancy_methods
27
50
  first_stanza = @obo.elements.find{|element| element.is_a? Obo::Stanza}
28
51
  assert_equal 'OBO_REL:is_a', first_stanza.id
@@ -51,6 +74,8 @@ class TestObo < MiniTest::Unit::TestCase
51
74
  @obo.elements.count
52
75
  assert_equal 27, @obo.elements.count
53
76
  end
77
+
54
78
  end
55
79
 
56
80
 
81
+
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: obo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
5
- prerelease:
4
+ version: 0.1.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Robert Syme
@@ -10,12 +9,11 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-06-25 00:00:00.000000000 Z
12
+ date: 2014-04-22 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: bundler
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
18
  - - ~>
21
19
  - !ruby/object:Gem::Version
@@ -23,12 +21,11 @@ dependencies:
23
21
  type: :development
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
25
  - - ~>
29
26
  - !ruby/object:Gem::Version
30
27
  version: '1.3'
31
- description: ! 'The OBO format is the text file format used by OBO-Edit, the open-source,
28
+ description: 'The OBO format is the text file format used by OBO-Edit, the open-source,
32
29
  platform-independent application for viewing and editing ontologies. The format
33
30
  is described here: http://www.geneontology.org/GO.format.obo-1_2.shtml'
34
31
  email:
@@ -60,33 +57,26 @@ files:
60
57
  homepage: http://github.com/robsyme/obo
61
58
  licenses:
62
59
  - MIT
60
+ metadata: {}
63
61
  post_install_message:
64
62
  rdoc_options: []
65
63
  require_paths:
66
64
  - lib
67
65
  required_ruby_version: !ruby/object:Gem::Requirement
68
- none: false
69
66
  requirements:
70
- - - ! '>='
67
+ - - '>='
71
68
  - !ruby/object:Gem::Version
72
69
  version: '0'
73
- segments:
74
- - 0
75
- hash: 2033594933957096070
76
70
  required_rubygems_version: !ruby/object:Gem::Requirement
77
- none: false
78
71
  requirements:
79
- - - ! '>='
72
+ - - '>='
80
73
  - !ruby/object:Gem::Version
81
74
  version: '0'
82
- segments:
83
- - 0
84
- hash: 2033594933957096070
85
75
  requirements: []
86
76
  rubyforge_project:
87
- rubygems_version: 1.8.24
77
+ rubygems_version: 2.0.3
88
78
  signing_key:
89
- specification_version: 3
79
+ specification_version: 4
90
80
  summary: A parser for the OBO flat file format
91
81
  test_files:
92
82
  - test/data/ro.obo