diff options
author | David Vorgrimmler <vorgrimmlerdavid@gmx.de> | 2010-07-20 18:38:45 +0200 |
---|---|---|
committer | David Vorgrimmler <vorgrimmlerdavid@gmx.de> | 2010-07-20 18:38:45 +0200 |
commit | ed902f9233ba62a775889d4fdf4e7a7695c23470 (patch) | |
tree | c7d163e3c4604b15bbcf9f88fda8f84d07ac73b3 /fminer.rb | |
parent | 3b36d0d8e025a10b7743aaf138e34f134618b1f0 (diff) |
Activating property calculation for regression
Diffstat (limited to 'fminer.rb')
-rw-r--r-- | fminer.rb | 22 |
1 files changed, 18 insertions, 4 deletions
@@ -21,7 +21,7 @@ get '/fminer/?' do end post '/fminer/?' do - + halt 404, "Please submit a dataset_uri." unless params[:dataset_uri] and !params[:dataset_uri].nil? halt 404, "Please submit a feature_uri." unless params[:feature_uri] and !params[:feature_uri].nil? LOGGER.debug "Dataset: " + params[:dataset_uri] @@ -48,9 +48,10 @@ post '/fminer/?' do id = 1 # fminer start id is not 0 compounds = [] + g_hash = Hash.new# DV: for effect calculation in regression part @@fminer.Reset LOGGER.debug "Fminer: initialising ..." - training_dataset.data.each do |c,features| + training_dataset.data.each do |c,features| begin smiles = OpenTox::Compound.new(:uri => c.to_s).smiles rescue @@ -82,6 +83,7 @@ post '/fminer/?' do begin @@fminer.AddCompound(smiles,id) @@fminer.AddActivity(activity, id) + g_hash[id]=activity # DV: insert global information rescue LOGGER.warn "Could not add " + smiles + "\t" + act.to_s + " to fminer" end @@ -90,6 +92,8 @@ post '/fminer/?' do id += 1 end end + g_array=g_hash.values # DV: calculation of global median for effect calculation + g_median=OpenTox::Utils.median(g_array) minfreq = (0.06*id).round @@fminer.SetMinfreq(minfreq) LOGGER.debug "Fminer: initialised with #{id} compounds, minimum frequency #{minfreq}" @@ -113,9 +117,19 @@ post '/fminer/?' do else effect = 'deactivating' end - else + else #regression part ids = f[2] - effect = 'activating' # AM: Pending: needs analysis of median act + # DV: effect calculation + f_arr=Array.new + f[2].each do |id| + f_arr.push(g_hash[id]) + end + f_median=OpenTox::Utils.median(f_arr) + if g_median >= f_median + effect = 'activating' + else + effect = 'deactivating' + end end tuple = { |