summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/api.json49
-rw-r--r--lib/dataset.rb10
-rw-r--r--lib/report.rb10
-rw-r--r--unicorn.rb8
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
diff --git a/unicorn.rb b/unicorn.rb
index f90ca3f..1bcb5cc 100644
--- a/unicorn.rb
+++ b/unicorn.rb
@@ -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