diff options
-rw-r--r-- | api/api.json | 49 | ||||
-rw-r--r-- | lib/dataset.rb | 10 | ||||
-rw-r--r-- | lib/report.rb | 10 | ||||
-rw-r--r-- | unicorn.rb | 8 |
4 files changed, 44 insertions, 33 deletions
diff --git a/api/api.json b/api/api.json index c226c90..6eb9aba 100644 --- a/api/api.json +++ b/api/api.json @@ -2,19 +2,19 @@ "swagger": "2.0", "info": { "description": "REST API webservice for lazar and nano-lazar. \n*lazar* (lazy structure–activity relationships) is a modular framework for predictive toxicology. With activated Authentication & Authorization, subjectid authorization token are obligatory for designated services.\n", - "version": "1.1.0", + "version": "1.0.0", "title": "Lazar & Nano-Lazar REST Service", "contact": { "name": "in silico toxicology gmbh", "email": "service@in-silico.ch", - "url": "https://in-silico.ch" + "url": "https://www.in-silico.ch" }, "license": { "name": "GNU GENERAL PUBLIC LICENSE", "url": "https://github.com/opentox/lazar-rest/blob/master/LICENSE" } }, - "host": "api.in-silico.ch", + "host": "enm.in-silico.ch", "externalDocs": { "description": "See also *lazar-rest* documentation on Github\n", "url": "https://github.com/opentox/lazar-rest" @@ -32,7 +32,7 @@ "description": "Get a list of all prediction models", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -77,7 +77,7 @@ "description": "Get model representation", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -164,7 +164,7 @@ "description": "Get a list of QMRF reports", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -209,7 +209,7 @@ "description": "Get a QMRF report prototype", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -255,7 +255,7 @@ "description": "Get a list of all datasets", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -300,7 +300,7 @@ "description": "Get dataset representation", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -348,7 +348,7 @@ "description": "Get dataset representation", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -407,7 +407,7 @@ "description": "Get a list of all substances", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -452,7 +452,7 @@ "description": "Get substance representation", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -498,7 +498,7 @@ "description": "Get a list of all nanoparticles", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -543,7 +543,7 @@ "description": "Get nanoparticle representation", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -589,7 +589,7 @@ "description": "Get a list of all features", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -631,7 +631,7 @@ "description": "Get feature representation", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -674,7 +674,7 @@ "description": "Get a list of all validation types", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -716,7 +716,7 @@ "description": "Get all validations of a validation type", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -764,7 +764,7 @@ "description": "Get validation representation", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -814,7 +814,7 @@ "description": "Get a list of all descriptors", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -853,10 +853,10 @@ "descriptor" ], "summary": "Descriptor calculation", - "description": "Calculate descriptors for a single compound as SMILES string <br> <strong>curl example:</strong> <pre>curl -Lk -X POST -i -H \"accept:application/json\" -F \"identifier=O=C1NC(=O)NC=C1\" -F \"descriptor=Openbabel.MW,JoeLib.LogP\" https://enm.in-silico.ch/compound/descriptor </pre>.", + "description": "Calculate descriptors for a single compound as SMILES string <br> <strong>curl example:</strong> <pre>curl -Lk -X POST -i -H \"Accept:application/json\" -F \"identifier=O=C1NC(=O)NC=C1\" -F \"descriptor=Openbabel.MW,JoeLib.LogP\" https://enm.in-silico.ch/compound/descriptor </pre>.", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -920,7 +920,7 @@ "description": "Get a list of a descriptors", "parameters": [ { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-Type", "required": true, @@ -972,7 +972,7 @@ "$ref": "#/parameters/InChI" }, { - "name": "accept", + "name": "Accept", "in": "header", "description": "requested Content-type", "required": true, @@ -1144,6 +1144,7 @@ }, "responses": { "200": { + "schema": {"type":"string"}, "description": "OK" }, "400": { diff --git a/lib/dataset.rb b/lib/dataset.rb index a48b23f..ac57347 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -22,8 +22,14 @@ get "/dataset/:id/?" do resource_not_found_error "Dataset with id: #{params[:id]} not found." unless dataset case @accept when "application/json" - dataset.data_entries.each do |k, v| - dataset.data_entries[k][:URI] = uri("/substance/#{k}") + if dataset.data_entries.class == Array + dataset.data_entries.each do |k| + #todo: fix + end + else + dataset.data_entries.each do |k, v| + dataset.data_entries["#{k}"][:URI] = uri("/substance/#{k}") + end end dataset[:URI] = uri("/dataset/#{dataset.id}") dataset[:substances] = uri("/dataset/#{dataset.id}/substances") diff --git a/lib/report.rb b/lib/report.rb index 9dff2f2..52cced1 100644 --- a/lib/report.rb +++ b/lib/report.rb @@ -83,13 +83,13 @@ get "/report/:id/?" do report.value "algorithm_type", "#{model_type}" # Explicit algorithm 4.2 - report.change_catalog :algorithms_catalog, :algorithms_catalog_1, {:definition => "see Helma 2016 and lazar.in-silico.ch, submitted version: #{lazar_commit}", :description => "Neighbor algorithm: #{model.neighbor_algorithm.gsub('_',' ').titleize}#{(model.neighbor_algorithm_parameters[:min_sim] ? ' with similarity > ' + model.neighbor_algorithm_parameters[:min_sim].to_s : '')}"} - report.ref_catalog :algorithm_explicit, :algorithms_catalog, :algorithms_catalog_1 + #report.change_catalog :algorithms_catalog, :algorithms_catalog_1, {:definition => "see Helma 2016 and lazar.in-silico.ch, submitted version: #{lazar_commit}", :description => "Neighbor algorithm: #{model.neighbor_algorithm.gsub('_',' ').titleize}#{(model.neighbor_algorithm_parameters[:min_sim] ? ' with similarity > ' + model.neighbor_algorithm_parameters[:min_sim].to_s : '')}"} + #report.ref_catalog :algorithm_explicit, :algorithms_catalog, :algorithms_catalog_1 report.change_catalog :algorithms_catalog, :algorithms_catalog_3, {:definition => "see Helma 2016 and lazar.in-silico.ch, submitted version: #{lazar_commit}", :description => "modified k-nearest neighbor #{model_type}"} report.ref_catalog :algorithm_explicit, :algorithms_catalog, :algorithms_catalog_3 - if model.prediction_algorithm_parameters - pred_algorithm_params = (model.prediction_algorithm_parameters[:method] == "rf" ? "random forest" : model.prediction_algorithm_parameters[:method]) - end + #if model.prediction_algorithm_parameters + # pred_algorithm_params = (model.prediction_algorithm_parameters[:method] == "rf" ? "random forest" : model.prediction_algorithm_parameters[:method]) + #end report.change_catalog :algorithms_catalog, :algorithms_catalog_2, {:definition => "see Helma 2016 and lazar.in-silico.ch, submitted version: #{lazar_commit}", :description => "Prediction algorithm: #{model.prediction_algorithm.gsub('OpenTox::Algorithm::','').gsub('_',' ').gsub('.', ' with ')} #{(pred_algorithm_params ? pred_algorithm_params : '')}"} report.ref_catalog :algorithm_explicit, :algorithms_catalog, :algorithms_catalog_2 @@ -1,2 +1,6 @@ -worker_processes 4 -timeout 6000
\ No newline at end of file +timeout 6000 +listen 8089 +log_dir = "#{ENV['HOME']}" +log_file = File.join log_dir, "lazar-rest.log" +stderr_path log_file +stdout_path log_file |