From 8500b7de67afaa34675c006bff42768f1229e22e Mon Sep 17 00:00:00 2001 From: mr Date: Mon, 2 May 2011 15:00:31 +0200 Subject: fix file type in helper --- lib/helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/helper.rb b/lib/helper.rb index 3031b74..7009082 100644 --- a/lib/helper.rb +++ b/lib/helper.rb @@ -90,7 +90,7 @@ before do when "xls" @accept = 'application/ms-excel' else - halt 404, "File format #{extension} not supported." + #halt 404, "File format #{extension} not supported." end end -- cgit v1.2.3 From 4e01933dda7b56049f1c1216cb5895b10c10b4a4 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 6 May 2011 13:18:28 +0000 Subject: request features in YAML format first (Dataset.load_features), chomp URIs in Dataset.all) --- lib/dataset.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/dataset.rb b/lib/dataset.rb index c61d86f..546eb2e 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -74,7 +74,7 @@ module OpenTox # @param [optional,String] uri URI of the dataset service, defaults to service specified in configuration # @return [Array] Array of dataset object without data (use one of the load_* methods to pull data from the server) def self.all(uri=CONFIG[:services]["opentox-dataset"], subjectid=nil) - RestClientWrapper.get(uri,{:accept => "text/uri-list",:subjectid => subjectid}).to_s.each_line.collect{|u| Dataset.new(u, subjectid)} + RestClientWrapper.get(uri,{:accept => "text/uri-list",:subjectid => subjectid}).to_s.each_line.collect{|u| Dataset.new(u.chomp, subjectid)} end # Load YAML representation into the dataset @@ -158,8 +158,12 @@ module OpenTox # Load and return only features from the dataset service # @return [Hash] Features of the dataset def load_features(subjectid=nil) - parser = Parser::Owl::Dataset.new(@uri, subjectid) - @features = parser.load_features(subjectid) + if (CONFIG[:yaml_hosts].include?(URI.parse(@uri).host)) + @features = YAML.load(RestClientWrapper.get(File.join(@uri,"features"), {:accept => "application/x-yaml", :subjectid => subjectid})) + else + parser = Parser::Owl::Dataset.new(@uri, subjectid) + @features = parser.load_features(subjectid) + end @features end -- cgit v1.2.3 From 41851663e591433fec1b021b88aa77a8fb0d37b0 Mon Sep 17 00:00:00 2001 From: Andreas Maunz Date: Mon, 9 May 2011 05:53:09 -0700 Subject: Hotfix: Gaussian Decay for neighbors --- lib/algorithm.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/algorithm.rb b/lib/algorithm.rb index 167c964..21a5729 100644 --- a/lib/algorithm.rb +++ b/lib/algorithm.rb @@ -165,7 +165,7 @@ module OpenTox # @param [Hash] params Keys `:similarity_algorithm,:p_values` are required # @return [Hash] Hash with keys `:prediction, :confidence` def self.local_svm_regression(neighbors,params ) - sims = neighbors.collect{ |n| n[:similarity] } # similarity values between query and neighbors + sims = neighbors.collect{ |n| Algorithm.gauss(n[:similarity]) } # similarity values between query and neighbors conf = sims.inject{|sum,x| sum + x } acts = neighbors.collect do |n| act = n[:activity] -- cgit v1.2.3 From 580ac1b909cdeb68a5b0b721611dc78fe7c75d95 Mon Sep 17 00:00:00 2001 From: mr Date: Mon, 23 May 2011 13:14:27 +0200 Subject: new release 2.0.0 --- opentox-ruby.gemspec | 36 +++++++++++++++++++++++++++++++----- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/opentox-ruby.gemspec b/opentox-ruby.gemspec index 289dacd..e62eec5 100644 --- a/opentox-ruby.gemspec +++ b/opentox-ruby.gemspec @@ -5,11 +5,11 @@ Gem::Specification.new do |s| s.name = %q{opentox-ruby} - s.version = "1.0.2" + s.version = "2.0.0" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Christoph Helma, Martin Guetlein, Andreas Maunz, Micha Rautenberg, David Vorgrimmler"] - s.date = %q{2011-03-16} + s.date = %q{2011-05-23} s.description = %q{Ruby wrapper for the OpenTox REST API (http://www.opentox.org)} s.email = %q{helma@in-silico.ch} s.executables = ["opentox-install-debian.sh", "opentox-install-ubuntu.sh"] @@ -34,7 +34,7 @@ Gem::Specification.new do |s| "lib/feature.rb", "lib/helper.rb", "lib/model.rb", - "lib/ontology_service.rb", + "lib/ontology.rb", "lib/opentox-ruby.rb", "lib/opentox.owl", "lib/opentox.rb", @@ -45,7 +45,6 @@ Gem::Specification.new do |s| "lib/serializer.rb", "lib/spork.rb", "lib/task.rb", - "lib/templates/config.yaml", "lib/templates/default_guest_policy.xml", "lib/templates/default_policy.xml", "lib/to-html.rb", @@ -53,7 +52,7 @@ Gem::Specification.new do |s| ] s.homepage = %q{http://github.com/helma/opentox-ruby} s.require_paths = ["lib"] - s.rubygems_version = %q{1.4.2} + s.rubygems_version = %q{1.5.2} s.summary = %q{Ruby wrapper for the OpenTox REST API} if s.respond_to? :specification_version then @@ -77,9 +76,18 @@ Gem::Specification.new do |s| s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) + s.add_runtime_dependency(%q, [">= 0"]) s.add_runtime_dependency(%q, [">= 3"]) + s.add_runtime_dependency(%q, ["~> 0.4.0"]) s.add_development_dependency(%q, [">= 0"]) else s.add_dependency(%q, [">= 0"]) @@ -99,9 +107,18 @@ Gem::Specification.new do |s| s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 3"]) + s.add_dependency(%q, ["~> 0.4.0"]) s.add_dependency(%q, [">= 0"]) end else @@ -122,9 +139,18 @@ Gem::Specification.new do |s| s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) + s.add_dependency(%q, [">= 0"]) s.add_dependency(%q, [">= 3"]) + s.add_dependency(%q, ["~> 0.4.0"]) s.add_dependency(%q, [">= 0"]) end end -- cgit v1.2.3 From d0006c50909a7f134df4e246f747831e3a5547ed Mon Sep 17 00:00:00 2001 From: Andreas Maunz Date: Tue, 24 May 2011 15:11:12 +0200 Subject: Fixing regression detection --- lib/parser.rb | 66 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 51 insertions(+), 15 deletions(-) diff --git a/lib/parser.rb b/lib/parser.rb index 7bdee95..5f847c3 100644 --- a/lib/parser.rb +++ b/lib/parser.rb @@ -277,7 +277,16 @@ module OpenTox def load_spreadsheet(book) book.default_sheet = 0 add_features book.row(1) - 2.upto(book.last_row) { |i| add_values book.row(i) } + + # AM: fix mixed read in + regression_features=false + 2.upto(book.last_row) { |i| + row = book.row(i) + regression_features = detect_regression_features row + break if regression_features==true + } + + 2.upto(book.last_row) { |i| add_values book.row(i),regression_features } warnings @dataset end @@ -289,11 +298,21 @@ module OpenTox row = 0 input = csv.split("\n") add_features split_row(input.shift) - input.each { |row| add_values split_row(row) } + + + # AM: fix mixed read in + regression_features=false + input.each { |row| + row = split_row(row) + regression_features = detect_regression_features row + break if regression_features==true + } + input.each { |row| add_values split_row(row),regression_features } warnings @dataset end + private def warnings @@ -335,7 +354,20 @@ module OpenTox end end - def add_values(row) + def detect_regression_features row + row.shift + regression_features=false + row.each_index do |i| + value = row[i] + type = feature_type(value) + if type == OT.NumericFeature + regression_features=true + end + end + regression_features + end + + def add_values(row, regression_features=false) smiles = row.shift compound = Compound.from_smiles(smiles) @@ -353,19 +385,23 @@ module OpenTox @feature_types[feature] << type - case type - when OT.NominalFeature - case value.to_s - when TRUE_REGEXP - val = true - when FALSE_REGEXP - val = false - end - when OT.NumericFeature + if (regression_features) val = value.to_f - when OT.StringFeature - val = value.to_s - @activity_errors << smiles+", "+row.join(", ") + else + case type + when OT.NominalFeature + case value.to_s + when TRUE_REGEXP + val = true + when FALSE_REGEXP + val = false + end + when OT.NumericFeature + val = value.to_f + when OT.StringFeature + val = value.to_s + @activity_errors << smiles+", "+row.join(", ") + end end if val!=nil @dataset.add(compound.uri, feature, val) -- cgit v1.2.3 From 153c740268c1bf6255f14f80550f690179a72fd9 Mon Sep 17 00:00:00 2001 From: mr Date: Wed, 25 May 2011 13:35:42 +0200 Subject: fix if subjectid is nil --- lib/helper.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/helper.rb b/lib/helper.rb index 3a6126a..995f3e9 100644 --- a/lib/helper.rb +++ b/lib/helper.rb @@ -44,8 +44,9 @@ helpers do def uri_available?(urlStr) url = URI.parse(urlStr) + subjectidstr = @subjectid ? "?subjectid=#{CGI.escape @subjectid}" : "" Net::HTTP.start(url.host, url.port) do |http| - return http.head("#{url.request_uri}?subjectid=#{CGI.escape @subjectid}").code == "200" + return http.head("#{url.request_uri}#{subjectidstr}").code == "200" end end -- cgit v1.2.3