summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2010-12-14 12:30:20 +0100
committermr <mr@mrautenberg.de>2010-12-14 12:30:20 +0100
commit4c2470353a1e3b69b4260d0052c9c48137ef76d3 (patch)
treef9b0a4dced11c446023b07565066bb0a9de6af27
parentde12a8002ebc0bf4018588deafd5057b6478f414 (diff)
remove token_id from tables in database
-rw-r--r--lib/dataset.rb16
-rw-r--r--lib/helper.rb2
-rw-r--r--lib/model.rb10
-rw-r--r--lib/task.rb1
-rw-r--r--lib/templates/config.yaml2
5 files changed, 14 insertions, 17 deletions
diff --git a/lib/dataset.rb b/lib/dataset.rb
index bbd8b8b..b7feeec 100644
--- a/lib/dataset.rb
+++ b/lib/dataset.rb
@@ -6,7 +6,6 @@ module OpenTox
include OpenTox
attr_reader :features, :compounds, :data_entries, :metadata
- attr_accessor :token_id
# Create dataset with optional URI. Does not load data into the dataset - you will need to execute one of the load_* methods to pull data from a service or to insert it from other representations.
# @example Create an empty dataset
@@ -15,9 +14,8 @@ module OpenTox
# dataset = OpenTox::Dataset.new("http:://webservices.in-silico/ch/dataset/1")
# @param [optional, String] uri Dataset URI
# @return [OpenTox::Dataset] Dataset object
- def initialize(uri=nil,token_id=nil)
+ def initialize(uri=nil)
super uri
- @token_id = token_id
@features = {}
@compounds = []
@data_entries = {}
@@ -30,8 +28,7 @@ module OpenTox
# @return [OpenTox::Dataset] Dataset object
def self.create(uri=CONFIG[:services]["opentox-dataset"], token_id=nil)
dataset = Dataset.new
- dataset.token_id = token_id if token_id
- dataset.save
+ dataset.save(token_id)
dataset
end
@@ -250,22 +247,22 @@ module OpenTox
# - creates a new dataset if uri is not set
# - overwrites dataset if uri exists
# @return [String] Dataset URI
- def save
+ def save(token_id=nil)
# TODO: rewrite feature URI's ??
@compounds.uniq!
if @uri
if (CONFIG[:yaml_hosts].include?(URI.parse(@uri).host))
- RestClientWrapper.post(@uri,{:content_type => "application/x-yaml", :token_id => @token_id},self.to_yaml)
+ RestClientWrapper.post(@uri,{:content_type => "application/x-yaml", :token_id => token_id},self.to_yaml)
else
File.open("ot-post-file.rdf","w+") { |f| f.write(self.to_rdfxml); @path = f.path }
- task_uri = RestClient.post(@uri, {:file => File.new(@path)},{:accept => "text/uri-list"}).to_s.chomp
+ task_uri = RestClient.post(@uri, {:file => File.new(@path)},{:accept => "text/uri-list" , :token_id => token_id}).to_s.chomp
#task_uri = `curl -X POST -H "Accept:text/uri-list" -F "file=@#{@path};type=application/rdf+xml" http://apps.ideaconsult.net:8080/ambit2/dataset`
Task.find(task_uri).wait_for_completion
self.uri = RestClientWrapper.get(task_uri,:accept => 'text/uri-list')
end
else
# create dataset if uri is empty
- self.uri = RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:token_id => @token_id}).to_s.chomp
+ self.uri = RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:token_id => token_id}).to_s.chomp
end
@uri
end
@@ -282,7 +279,6 @@ module OpenTox
@data_entries = dataset.data_entries
@compounds = dataset.compounds
@features = dataset.features
- @token_id = dataset.token_id
if @uri
self.uri = @uri
else
diff --git a/lib/helper.rb b/lib/helper.rb
index 6247460..42c35e8 100644
--- a/lib/helper.rb
+++ b/lib/helper.rb
@@ -32,7 +32,7 @@ helpers do
def unprotected_requests
case env['REQUEST_URI']
- when /\/login$|\/logout$|\/predict$|\/upload$/
+ when /\/login$|\/logout$|\/predict$|\/toxcreate\/models$/
return true
when /\/compound|\/feature|\/task|\/toxcreate/ #to fix: read from config | validation should be protected
return true
diff --git a/lib/model.rb b/lib/model.rb
index 5dc4d4a..9c2fb97 100644
--- a/lib/model.rb
+++ b/lib/model.rb
@@ -111,7 +111,7 @@ module OpenTox
# @param [String] compound_uri Compound URI
# @param [optinal,Boolean] verbose Verbose prediction (output includes neighbors and features)
# @return [OpenTox::Dataset] Dataset with prediction
- def predict(compound_uri,verbose=false)
+ def predict(compound_uri,verbose=false,token_id=nil)
@compound = Compound.new compound_uri
features = {}
@@ -119,7 +119,7 @@ module OpenTox
unless @prediction_dataset
#@prediction_dataset = cached_prediction
#return @prediction_dataset if cached_prediction
- @prediction_dataset = Dataset.create
+ @prediction_dataset = Dataset.create(CONFIG[:services]["opentox-dataset"], token_id)
@prediction_dataset.add_metadata( {
OT.hasSource => @uri,
DC.creator => @uri,
@@ -217,7 +217,7 @@ module OpenTox
end
end
- @prediction_dataset.save
+ @prediction_dataset.save(token_id)
@prediction_dataset
end
@@ -257,8 +257,8 @@ module OpenTox
end
# Save model at model service
- def save
- self.uri = RestClientWrapper.post(@uri,{:content_type => "application/x-yaml", :token_id => @token_id},self.to_yaml)
+ def save(token_id)
+ self.uri = RestClientWrapper.post(@uri,{:content_type => "application/x-yaml", :token_id => token_id},self.to_yaml)
end
# Delete model at model service
diff --git a/lib/task.rb b/lib/task.rb
index 17f95e6..18fba6e 100644
--- a/lib/task.rb
+++ b/lib/task.rb
@@ -49,6 +49,7 @@ module OpenTox
cpu_load = `cat /proc/loadavg`.split(/\s+/)[0..2].collect{|c| c.to_f}
nr_cpu_cores = `cat /proc/cpuinfo |grep "cpu cores"|cut -d ":" -f2|tr -d " "`.split("\n").collect{|c| c.to_i}.inject{|sum,n| sum+n}
+ nr_cpu_cores = 1 if !nr_cpu_cores
if cpu_load[0] > nr_cpu_cores and cpu_load[0] > cpu_load[1] and cpu_load[1] > cpu_load[2] # average CPU load of the last minute is high and CPU load is increasing
LOGGER.warn "Cannot start task - CPU load too high (#{cpu_load.join(", ")})"
task.cancel
diff --git a/lib/templates/config.yaml b/lib/templates/config.yaml
index db11006..116f462 100644
--- a/lib/templates/config.yaml
+++ b/lib/templates/config.yaml
@@ -41,7 +41,7 @@
# :logger: debug
# OpenSSO Authorization
-# set ":server: nil" to disable A&A
+# set ":server: " to disable A&A
:authorization:
:server: "https://opensso.in-silico.ch"
:free_request: #not controlled by A&A