biomart 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,10 @@
1
+ === 0.1.5 2010-02-04
2
+
3
+ * 1 major bugfix:
4
+ * Poorly formatted tab-separated data (coming from biomart) was not
5
+ being processed correctly (as a result some data was being dropped).
6
+ This hole has now been fixed...
7
+
1
8
  === 0.1.4 2010-01-20
2
9
 
3
10
  * 1 minor enhancement:
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{biomart}
5
- s.version = "0.1.4"
5
+ s.version = "0.1.5"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Darren Oakley"]
9
- s.date = %q{2010-01-20}
9
+ s.date = %q{2010-02-04}
10
10
  s.description = %q{A ruby API for interacting with Biomart services.}
11
11
  s.email = ["daz.oakley@gmail.com"]
12
12
  s.extra_rdoc_files = ["History.txt", "Manifest.txt", "README.rdoc"]
@@ -15,7 +15,7 @@ require "builder"
15
15
  #CURB_AVAILABLE = use_curb
16
16
 
17
17
  module Biomart
18
- VERSION = "0.1.4"
18
+ VERSION = "0.1.5"
19
19
 
20
20
  # This is the base Biomart error/exception class. Rescue it if
21
21
  # you want to catch any exceptions that this code might raise.
@@ -256,9 +256,13 @@ module Biomart
256
256
 
257
257
  if elements.size == 0
258
258
  # This is a bad line (causing the above Exception), try and use split to recover.
259
- # Alse add an empty value as split will miss the final value...
260
259
  elements = line.split("\t")
261
- elements.push(nil)
260
+ if line =~ /\t$/
261
+ # If the last attribute resturn is empty add a nil
262
+ # value to the array as it would have been missed
263
+ # by the split function!
264
+ elements.push(nil)
265
+ end
262
266
 
263
267
  # Substitute blank strings for nils
264
268
  elements.map! do |elem|
@@ -43,6 +43,7 @@ class BiomartTest < Test::Unit::TestCase
43
43
  @htgt_targ = @htgt.datasets["htgt_targ"]
44
44
  @htgt_trap = @htgt.datasets["htgt_trap"]
45
45
  @kermits = @htgt.datasets["kermits"]
46
+ @emma = Biomart::Dataset.new( "http://www.emmanet.org/biomart", { :name => "strains" } )
46
47
  end
47
48
 
48
49
  should "have basic metadata" do
@@ -105,9 +106,22 @@ class BiomartTest < Test::Unit::TestCase
105
106
  "is_latest_for_gene", "targeted_trap"
106
107
  ]
107
108
  )
108
- assert( search.is_a?( Hash ), "Biomart::Dataset.search (no options) is not returning a hash." )
109
- assert( search[:data].is_a?( Array ), "Biomart::Dataset.search[:data] (no options) is not returning an array." )
110
- assert( search[:data].size > 0, "Biomart::Dataset.search[:data] for poorly formatted TSV data is empty." )
109
+ assert( search.is_a?( Hash ), "Biomart::Dataset.search (no options) is not returning a hash. (HTGT Query)" )
110
+ assert( search[:data].is_a?( Array ), "Biomart::Dataset.search[:data] (no options) is not returning an array. (HTGT Query)" )
111
+ assert( search[:data].size > 20, "Biomart::Dataset.search[:data] for poorly formatted TSV data is empty. (HTGT Query)" )
112
+
113
+ search2 = @emma.search(
114
+ :filters => { "emma_id" => ["EM:03629"] },
115
+ :attributes => [
116
+ "emma_id", "international_strain_name", "synonym", "maintained_background",
117
+ "mutation_main_type", "mutation_sub_type", "alls_form", "genetic_description",
118
+ "phenotype_description", "reference", "pubmed_id", "availability", "owner"
119
+ ]
120
+ )
121
+
122
+ assert( search2.is_a?( Hash ), "Biomart::Dataset.search (no options) is not returning a hash. (EMMA Query)" )
123
+ assert( search2[:data].is_a?( Array ), "Biomart::Dataset.search[:data] (no options) is not returning an array. (EMMA Query)" )
124
+ assert( search2[:data].size > 0, "Biomart::Dataset.search[:data] for poorly formatted TSV data is empty. (EMMA Query)" )
111
125
  end
112
126
 
113
127
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: biomart
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Darren Oakley
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2010-01-20 00:00:00 +00:00
12
+ date: 2010-02-04 00:00:00 +00:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency