summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormguetlein <martin.guetlein@gmail.com>2010-06-22 17:06:21 +0200
committermguetlein <martin.guetlein@gmail.com>2010-06-22 17:06:21 +0200
commit9f2a4b71ecb103e424ecd7e1814e16003bcb42ab (patch)
tree982fef589a535626cf8832e1beff80e2ebfc68b3
parenta2540da70fc1d681bbf3d9695337ba55ac3176f6 (diff)
parent3cff60d402bef3ca36cf7985aae2c45f5f057407 (diff)
resolved merge conflict
-rw-r--r--README12
-rw-r--r--application.rb2
-rwxr-xr-xlazar.rb29
-rw-r--r--public/robots.txt2
4 files changed, 28 insertions, 17 deletions
diff --git a/README b/README
index c4d3375..81c96e4 100644
--- a/README
+++ b/README
@@ -21,22 +21,22 @@ Supported MIME formats (http://chemical-mime.sourceforge.net/):
Examples:
List all lazar models
- curl http://webservices.in-silico.ch/test/model
+ curl http://webservices.in-silico.ch/model
Get the representation of a lazar model
- curl -H "Accept:application/rdf+xml" http://webservices.in-silico.ch/test/model/{id}
+ curl -H "Accept:application/rdf+xml" http://webservices.in-silico.ch/model/{id}
Predict a compound
- curl -X POST -d compound_uri={compound_uri} http://webservices.in-silico.ch/test/model/{id}
+ curl -X POST -d compound_uri={compound_uri} http://webservices.in-silico.ch/model/{id}
Predict a compound and get the result as YAML
- curl -X POST -H "Accept:application/x-yaml" -d compound_uri={compound_uri} http://webservices.in-silico.ch/test/model/{id}
+ curl -X POST -H "Accept:application/x-yaml" -d compound_uri={compound_uri} http://webservices.in-silico.ch/model/{id}
Predict a dataset
- curl -X POST -d dataset_uri={dataset_uri} http://webservices.in-silico.ch/test/model/{id}
+ curl -X POST -d dataset_uri={dataset_uri} http://webservices.in-silico.ch/model/{id}
Delete a model
- curl -X DELETE http://webservices.in-silico.ch/test/model/{id}
+ curl -X DELETE http://webservices.in-silico.ch/model/{id}
More documentation: Source code (application.rb, lazar.rb)
diff --git a/application.rb b/application.rb
index a04b60d..7538196 100644
--- a/application.rb
+++ b/application.rb
@@ -1,5 +1,5 @@
require 'rubygems'
-gem 'opentox-ruby-api-wrapper', '= 1.4.4.4'
+gem "opentox-ruby-api-wrapper", "= 1.5.6"
require 'opentox-ruby-api-wrapper'
LOGGER.progname = File.expand_path(__FILE__)
diff --git a/lazar.rb b/lazar.rb
index 9880292..d4d6235 100755
--- a/lazar.rb
+++ b/lazar.rb
@@ -3,8 +3,6 @@ class Lazar < Model
attr_accessor :prediction_dataset
def classify(compound_uri,prediction)
-
- prediction.title += " lazar classification"
lazar = YAML.load self.yaml
compound = OpenTox::Compound.new(:uri => compound_uri)
@@ -46,6 +44,11 @@ class Lazar < Model
:confidence => conf,
:similarities => similarities,
:features => compound_matches
+ # uncomment to enable owl-dl serialisation of predictions
+ # url_for("/lazar#classification") => classification,
+ # url_for("/lazar#confidence") => conf,
+ # url_for("/lazar#similarities") => similarities,
+ # url_for("/lazar#features") => compound_matches
}
prediction.data[compound_uri] << {feature_uri => tuple}
end
@@ -57,16 +60,17 @@ class Lazar < Model
lazar = YAML.load self.yaml
db_activities = lazar.activities[compound_uri]
if db_activities
- prediction.source = lazar.trainingDataset
+ prediction.creator = lazar.trainingDataset
feature_uri = lazar.dependentVariables
prediction.compounds << compound_uri
prediction.features << feature_uri
prediction.data[compound_uri] = [] unless prediction.data[compound_uri]
db_activities.each do |act|
- tuple = {
- :classification => act,
- :confidence => 1}
- prediction.data[compound_uri] << {feature_uri => tuple}
+ prediction.data[compound_uri] << {feature_uri => act}
+ #tuple = {
+ # :classification => act}
+ #:confidence => "experimental"}
+ #prediction.data[compound_uri] << {feature_uri => tuple}
end
true
else
@@ -136,9 +140,9 @@ get '/:id/algorithm/?' do
YAML.load(Lazar.get(params[:id]).yaml).algorithm
end
-get '/:id/training_dataset/?' do
+get '/:id/trainingDataset/?' do
response['Content-Type'] = 'text/plain'
- YAML.load(Lazar.get(params[:id]).yaml).activity_dataset_uri
+ YAML.load(Lazar.get(params[:id]).yaml).trainingDataset
end
get '/:id/feature_dataset/?' do
@@ -165,6 +169,7 @@ post '/:id/?' do # create prediction
prediction = OpenTox::Dataset.new
prediction.creator = lazar.uri
prediction.title = URI.decode YAML.load(lazar.yaml).dependentVariables.split(/#/).last
+ prediction.title += " lazar classification"
if compound_uri
lazar.classify(compound_uri,prediction) unless lazar.database_activity?(compound_uri,prediction)
@@ -185,7 +190,11 @@ elsif dataset_uri
input_dataset.compounds.each do |compound_uri|
lazar.classify(compound_uri,prediction) unless lazar.database_activity?(compound_uri,prediction)
end
- uri = prediction.save.chomp
+ begin
+ uri = prediction.save.chomp
+ rescue
+ halt 500, "Could not save prediction dataset"
+ end
end
halt 202,task_uri
end
diff --git a/public/robots.txt b/public/robots.txt
new file mode 100644
index 0000000..1f53798
--- /dev/null
+++ b/public/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /