diff options
author | gebele <gebele@in-silico.ch> | 2017-11-06 13:43:20 +0000 |
---|---|---|
committer | gebele <gebele@in-silico.ch> | 2017-11-06 13:43:20 +0000 |
commit | f9f3faf930a9c348d81646dd9ef60e48821444a7 (patch) | |
tree | 654e338ff9f31522cb787d615081f306915f5842 /application.rb | |
parent | b7e1a4bb8b8e47326928171044c0d7b54d62e278 (diff) |
various small fixes
Diffstat (limited to 'application.rb')
-rw-r--r-- | application.rb | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/application.rb b/application.rb index 0957d71..13df650 100644 --- a/application.rb +++ b/application.rb @@ -3,12 +3,7 @@ require_relative 'prediction.rb' require_relative 'helper.rb' include OpenTox -configure :production do - $logger = Logger.new(STDOUT) - enable :reloader -end - -configure :development do +configure :production, :development do $logger = Logger.new(STDOUT) enable :reloader end @@ -31,9 +26,10 @@ get '/?' do end get '/predict/?' do - if params[:tpid] && !params[:tpid].blank? - pid = params[:tpid].to_i - Process.kill(9,pid) #if (Process.getpgid(pid) rescue nil).present? + begin + Process.kill(9,params[:tpid].to_i) if !params[:tpid].blank? #if (Process.getpgid(pid) rescue nil).present? + rescue + nil end @models = Model::Validation.all @models = @models.delete_if{|m| m.model.name =~ /\b(Net cell association)\b/} @@ -134,10 +130,12 @@ end get '/predict/csv/:task/:model/:filename/?' do response['Content-Type'] = "text/csv" task = Task.find params[:task].to_s + m = Model::Validation.find params[:model].to_s + endpoint = (params[:model] == "Cramer") ? "Oral_toxicity_(Cramer_rules)" : (m.endpoint =~ /Mutagenicity/i ? "Consensus_mutagenicity" : "#{m.endpoint}_(#{m.species})") tempfile = Tempfile.new tempfile.write(task.csv) tempfile.rewind - send_file tempfile, :filename => "#{Time.now.strftime("%Y-%m-%d")}_lazar_batch_prediction_#{params[:model]}_#{params[:filename]}", :type => "text/csv", :disposition => "attachment" + send_file tempfile, :filename => "#{Time.now.strftime("%Y-%m-%d")}_lazar_batch_prediction_#{endpoint}_#{params[:filename]}", :type => "text/csv", :disposition => "attachment" end post '/predict/?' do @@ -186,7 +184,7 @@ post '/predict/?' do if type == "Regression" unit = (type == "Regression") ? "(#{m.unit})" : "" converted_unit = (type == "Regression") ? "#{m.unit =~ /\b(mmol\/L)\b/ ? "(mg/L)" : "(mg/kg_bw/day)"}" : "" - header = "ID,Endpoint,Unique SMILES,inTrainingSet,Measurements,Prediction #{unit},Prediction #{converted_unit},"\ + header = "ID,Endpoint,Unique SMILES,inTrainingSet,Measurements #{unit},Prediction #{unit},Prediction #{converted_unit},"\ "Prediction Interval Low #{unit},Prediction Interval High #{unit},"\ "Prediction Interval Low #{converted_unit},Prediction Interval High #{converted_unit},"\ "inApplicabilityDomain,Note\n" @@ -204,7 +202,6 @@ post '/predict/?' do predictions = [] @compounds.each do |compound| if Prediction.where(compound: compound.id, model: m.id).exists? - $logger.debug "prediction already exists !" prediction = Prediction.find_by(compound: compound.id, model: m.id).prediction else prediction = m.predict(compound) @@ -297,8 +294,8 @@ post '/predict/?' do end#main task @pid = task.pid - $logger.debug "application pid: #{@pid}" + #@dataset.delete File.delete File.join("tmp", params[:fileselect][:filename]) return haml :batch end |