opentox-ruby 2.0.0 → 2.0.1

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.
Files changed (5) hide show
  1. data/VERSION +1 -1
  2. data/lib/compound.rb +3 -3
  3. data/lib/helper.rb +2 -1
  4. data/lib/parser.rb +51 -15
  5. metadata +4 -4
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.0.1
@@ -159,9 +159,9 @@ module OpenTox
159
159
  # @param [Array] deactivating Array with deactivating Smarts strings
160
160
  # @return [String] URI for compound image with highlighted fragments
161
161
  def matching_smarts_image_uri(activating, deactivating)
162
- activating_smarts = URI.encode "\"#{activating.join("\"/\"")}\""
163
- deactivating_smarts = URI.encode "\"#{deactivating.join("\"/\"")}\""
164
- File.join @uri, "smarts/activating", URI.encode(activating_smarts),"deactivating", URI.encode(deactivating_smarts)
162
+ activating_smarts = "\"#{activating.collect{|smarts| CGI.escape(smarts)}.join("\"/\"")}\""
163
+ deactivating_smarts = "\"#{deactivating.collect{|smarts| CGI.escape(smarts)}.join("\"/\"")}\""
164
+ File.join @uri, "smarts/activating", activating_smarts, "deactivating", deactivating_smarts
165
165
  end
166
166
 
167
167
 
@@ -44,8 +44,9 @@ helpers do
44
44
 
45
45
  def uri_available?(urlStr)
46
46
  url = URI.parse(urlStr)
47
+ subjectidstr = @subjectid ? "?subjectid=#{CGI.escape @subjectid}" : ""
47
48
  Net::HTTP.start(url.host, url.port) do |http|
48
- return http.head("#{url.request_uri}?subjectid=#{CGI.escape @subjectid}").code == "200"
49
+ return http.head("#{url.request_uri}#{subjectidstr}").code == "200"
49
50
  end
50
51
  end
51
52
 
@@ -277,7 +277,16 @@ module OpenTox
277
277
  def load_spreadsheet(book)
278
278
  book.default_sheet = 0
279
279
  add_features book.row(1)
280
- 2.upto(book.last_row) { |i| add_values book.row(i) }
280
+
281
+ # AM: fix mixed read in
282
+ regression_features=false
283
+ 2.upto(book.last_row) { |i|
284
+ row = book.row(i)
285
+ regression_features = detect_regression_features row
286
+ break if regression_features==true
287
+ }
288
+
289
+ 2.upto(book.last_row) { |i| add_values book.row(i),regression_features }
281
290
  warnings
282
291
  @dataset
283
292
  end
@@ -289,11 +298,21 @@ module OpenTox
289
298
  row = 0
290
299
  input = csv.split("\n")
291
300
  add_features split_row(input.shift)
292
- input.each { |row| add_values split_row(row) }
301
+
302
+
303
+ # AM: fix mixed read in
304
+ regression_features=false
305
+ input.each { |row|
306
+ row = split_row(row)
307
+ regression_features = detect_regression_features row
308
+ break if regression_features==true
309
+ }
310
+ input.each { |row| add_values split_row(row),regression_features }
293
311
  warnings
294
312
  @dataset
295
313
  end
296
314
 
315
+
297
316
  private
298
317
 
299
318
  def warnings
@@ -335,7 +354,20 @@ module OpenTox
335
354
  end
336
355
  end
337
356
 
338
- def add_values(row)
357
+ def detect_regression_features row
358
+ row.shift
359
+ regression_features=false
360
+ row.each_index do |i|
361
+ value = row[i]
362
+ type = feature_type(value)
363
+ if type == OT.NumericFeature
364
+ regression_features=true
365
+ end
366
+ end
367
+ regression_features
368
+ end
369
+
370
+ def add_values(row, regression_features=false)
339
371
 
340
372
  smiles = row.shift
341
373
  compound = Compound.from_smiles(smiles)
@@ -353,19 +385,23 @@ module OpenTox
353
385
 
354
386
  @feature_types[feature] << type
355
387
 
356
- case type
357
- when OT.NominalFeature
358
- case value.to_s
359
- when TRUE_REGEXP
360
- val = true
361
- when FALSE_REGEXP
362
- val = false
363
- end
364
- when OT.NumericFeature
388
+ if (regression_features)
365
389
  val = value.to_f
366
- when OT.StringFeature
367
- val = value.to_s
368
- @activity_errors << smiles+", "+row.join(", ")
390
+ else
391
+ case type
392
+ when OT.NominalFeature
393
+ case value.to_s
394
+ when TRUE_REGEXP
395
+ val = true
396
+ when FALSE_REGEXP
397
+ val = false
398
+ end
399
+ when OT.NumericFeature
400
+ val = value.to_f
401
+ when OT.StringFeature
402
+ val = value.to_s
403
+ @activity_errors << smiles+", "+row.join(", ")
404
+ end
369
405
  end
370
406
  if val!=nil
371
407
  @dataset.add(compound.uri, feature, val)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentox-ruby
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
8
  - 0
9
- - 0
10
- version: 2.0.0
9
+ - 1
10
+ version: 2.0.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Christoph Helma, Martin Guetlein, Andreas Maunz, Micha Rautenberg, David Vorgrimmler
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-05-23 00:00:00 +02:00
18
+ date: 2011-06-15 00:00:00 +02:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency