summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Helma <helma@in-silico.ch>2013-07-04 16:39:00 +0200
committerChristoph Helma <helma@in-silico.ch>2013-07-04 16:39:00 +0200
commit14f55a3bfc2b980115c2f3fadd703fd3de4c3445 (patch)
treec0c5d654b7d9aae8dc1bc6ef1fae297126f06513
parent0c441d6c0b06b969bd18809eefd99cc082e32612 (diff)
parent313bebc5756714d433f7936dec1ef4f8fb67a6ab (diff)
Merge branch 'development' of github.com:opentox/opentox-client into development
-rw-r--r--lib/overwrite.rb15
-rw-r--r--lib/validation.rb36
2 files changed, 28 insertions, 23 deletions
diff --git a/lib/overwrite.rb b/lib/overwrite.rb
index b2382e0..fc050ce 100644
--- a/lib/overwrite.rb
+++ b/lib/overwrite.rb
@@ -61,7 +61,7 @@ class String
html << "<h3>Description</h3><pre><p>"+description.link_urls+"</p></pre>" if description
html << "<h3>Related links</h3><pre><p>"+related_links.link_urls+"</p></pre>" if related_links
html << "<h3>Content</h3>" if description || related_links
- html << "<pre><p style=\"padding:15px; border:10px solid \#DBC87B\">"
+ html << "<pre><p style=\"padding:15px; border:10px solid \#C5C1E4\">"
html << "<img src=\"data:image/png;base64,#{Base64.encode64(png_image)}\">\n" if png_image
html << self.link_urls
html << "</p></pre></body></html>"
@@ -101,18 +101,23 @@ module URI
parsed_uri = URI.parse(uri + (subjectid ? "?subjectid=#{CGI.escape subjectid}" : ""))
http_code = URI.task?(uri) ? 600 : 400
http = Net::HTTP.new(parsed_uri.host, parsed_uri.port)
- if (URI.ssl? uri) == true
+ unless (URI.ssl? uri) == true
+ http = Net::HTTP.new(parsed_uri.host, parsed_uri.port)
+ request = Net::HTTP::Head.new(parsed_uri.request_uri)
+ http.request(request).code.to_i < http_code
+ else
+ http = Net::HTTP.new(parsed_uri.host, parsed_uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
+ request = Net::HTTP::Head.new(parsed_uri.request_uri)
+ http.request(request).code.to_i < http_code
end
- request = Net::HTTP::Head.new(parsed_uri.request_uri)
- http.request(request).code.to_i < http_code
rescue
false
end
def self.valid? uri
- u = URI::parse(uri)
+ u = URI.parse(uri)
u.scheme!=nil and u.host!=nil
rescue URI::InvalidURIError
false
diff --git a/lib/validation.rb b/lib/validation.rb
index cb73ce6..3b1cf13 100644
--- a/lib/validation.rb
+++ b/lib/validation.rb
@@ -37,14 +37,14 @@ module OpenTox
# returns a filtered list of validation uris
# @param params [Hash,optional] validation-params to filter the uris (could be model, training_dataset, ..)
# @return [Array]
- def self.list( params={} )
+ def self.list( params={}, subjectid=nil )
filter_string = ""
params.each do |k,v|
filter_string += (filter_string.length==0 ? "?" : "&")
v = v.to_s.gsub(/;/, "%3b") if v.to_s =~ /;/
filter_string += k.to_s+"="+v.to_s
end
- (OpenTox::RestClientWrapper.get($validation[:uri]+filter_string).split("\n"))
+ (OpenTox::RestClientWrapper.get($validation[:uri]+filter_string,nil,{:subjectid => subjectid}).split("\n"))
end
# creates a training test split validation, waits until it finishes, may take some time
@@ -55,7 +55,7 @@ module OpenTox
def self.create_training_test_split( params, subjectid=nil, waiting_task=nil )
params[:subjectid] = subjectid if subjectid
uri = OpenTox::RestClientWrapper.post( File.join($validation[:uri],"training_test_split"),
- params,{:content_type => "text/uri-list"},waiting_task )
+ params,{:content_type => "text/uri-list", :subjectid => subjectid},waiting_task )
Validation.new(wait_for_task(uri))
end
@@ -67,7 +67,7 @@ module OpenTox
def self.create_training_test_validation( params, subjectid=nil, waiting_task=nil )
params[:subjectid] = subjectid if subjectid
uri = OpenTox::RestClientWrapper.post( File.join($validation[:uri],"training_test_validation"),
- params,{:content_type => "text/uri-list"},waiting_task )
+ params,{:content_type => "text/uri-list", :subjectid => subjectid},waiting_task )
Validation.new(wait_for_task(uri))
end
@@ -79,7 +79,7 @@ module OpenTox
def self.create_bootstrapping_validation( params, subjectid=nil, waiting_task=nil )
params[:subjectid] = subjectid if subjectid
uri = OpenTox::RestClientWrapper.post( File.join($validation[:uri],"bootstrapping"),
- params,{:content_type => "text/uri-list"},waiting_task )
+ params,{:content_type => "text/uri-list", :subjectid => subjectid},waiting_task )
Validation.new(wait_for_task(uri))
end
@@ -103,8 +103,8 @@ module OpenTox
end
# returns confusion matrix as array, predicted values are in rows
- # example:
- # [[nil,"active","moderate","inactive"],["active",1,3,99],["moderate",4,2,8],["inactive",3,8,6]]
+ # @example
+ # [[nil,"active","moderate","inactive"],["active",1,3,99],["moderate",4,2,8],["inactive",3,8,6]]
# -> 99 inactive compounds have been predicted as active
def confusion_matrix
raise "no classification statistics, probably a regression valdiation" unless @metadata[RDF::OT.classificationStatistics]
@@ -133,17 +133,17 @@ module OpenTox
# @param prediction [String] predicted value
# @param subjectid [String,optional]
# @return [Hash] see example
- #
- # Example 1:
+ # @example
+ # Example 1:
# validation.probabilities(0.3,"active")
# -> { :min_confidence=>0.32, :num_predictions=>20, :probs=>{"active"=>0.7, "moderate"=>0.25 "inactive"=>0.05 } }
- # there have been 20 "active" predictions with confidence >= 0.3, 70 percent of them beeing correct
+ # there have been 20 "active" predictions with confidence >= 0.3, 70 percent of them beeing correct
#
- # Example 2:
- # validation.probabilities(0.8,"active")
- # -> { :min_confidence=>0.45, :num_predictions=>12, :probs=>{"active"=>0.9, "moderate"=>0.1 "inactive"=>0 } }
- # the given confidence value was to high (i.e. <12 predictions with confidence value >= 0.8)
- # the top 12 "active" predictions have a min_confidence of 0.45, 90 percent of them beeing correct
+ # Example 2:
+ # validation.probabilities(0.8,"active")
+ # -> { :min_confidence=>0.45, :num_predictions=>12, :probs=>{"active"=>0.9, "moderate"=>0.1 "inactive"=>0 } }
+ # the given confidence value was to high (i.e. <12 predictions with confidence value >= 0.8)
+ # the top 12 "active" predictions have a min_confidence of 0.45, 90 percent of them beeing correct
#
def probabilities( confidence, prediction, subjectid=nil )
YAML.load(OpenTox::RestClientWrapper.get(@uri+"/probabilities?prediction="+prediction.to_s+"&confidence="+confidence.to_s,nil,
@@ -187,7 +187,7 @@ module OpenTox
def self.create( params, subjectid=nil, waiting_task=nil )
params[:subjectid] = subjectid if subjectid
uri = OpenTox::RestClientWrapper.post( File.join($validation[:uri],"crossvalidation"),
- params,{:content_type => "text/uri-list"},waiting_task )
+ params,{:content_type => "text/uri-list", :subjectid => subjectid},waiting_task )
uri = wait_for_task(uri)
Crossvalidation.new(uri)
end
@@ -258,7 +258,7 @@ module OpenTox
params[:validation_uris] = validation_uri
params[:subjectid] = subjectid
uri = RestClientWrapper.post(File.join($validation[:uri],"/report/validation"),
- params, {}, waiting_task )
+ params, {:subjectid => subjectid}, waiting_task )
uri = wait_for_task(uri)
ValidationReport.new(uri)
end
@@ -351,7 +351,7 @@ module OpenTox
params[:validation_uris] = validation_uris.join(",")
params[:identifier] = identifier.join(",")
params[:subjectid] = subjectid
- uri = RestClientWrapper.post(File.join($validation[:uri],"/report/algorithm_comparison"), params, {}, waiting_task )
+ uri = RestClientWrapper.post(File.join($validation[:uri],"/report/algorithm_comparison"), params, {:subjectid => subjectid}, waiting_task )
uri = wait_for_task(uri)
AlgorithmComparisonReport.new(uri)
end