diff options
author | Christoph Helma <helma@in-silico.ch> | 2015-10-08 10:43:43 +0200 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2015-10-08 10:43:43 +0200 |
commit | 1a56148aadef031c4f487bc23fda43f4ac5b7369 (patch) | |
tree | 3555c5883ed0c292b105c40c185ebba3e5bd4e3e /lib/lazar.rb | |
parent | 394d564699756288569169ff3e198d6d7702f092 (diff) | |
parent | e3217075b602a950a0ee995fcfa731d97b5ba3eb (diff) |
new master branch
Diffstat (limited to 'lib/lazar.rb')
-rw-r--r-- | lib/lazar.rb | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/lib/lazar.rb b/lib/lazar.rb new file mode 100644 index 0000000..f801062 --- /dev/null +++ b/lib/lazar.rb @@ -0,0 +1,72 @@ +require 'rubygems' +require "bundler/setup" +require "rest-client" +require 'yaml' +require 'json' +require 'logger' +require 'mongoid' +require 'rserve' +require "nokogiri" +require "base64" + +# Mongo setup +# TODO retrieve correct environment from Rack/Sinatra +ENV["MONGOID_ENV"] ||= "development" +# TODO remove config files, change default via ENV or directly in Mongoid class +Mongoid.load!("#{File.expand_path(File.join(File.dirname(__FILE__),'..','mongoid.yml'))}") +Mongoid.raise_not_found_error = false # return nil if no document is found +$mongo = Mongo::Client.new('mongodb://127.0.0.1:27017/opentox') +#$mongo = Mongoid.default_client +$gridfs = $mongo.database.fs + +# R setup +R = Rserve::Connection.new +R.eval "library(ggplot2)" +R.eval "library(grid)" +R.eval "library(gridExtra)" + +# Logger setup +STDOUT.sync = true # for redirection, etc see http://stackoverflow.com/questions/8549443/why-doesnt-logger-output-to-stdout-get-redirected-to-files +$logger = Logger.new STDOUT # STDERR did not work on my development machine (CH) +$logger.level = Logger::DEBUG +Mongo::Logger.level = Logger::WARN +#Mongo::Logger.logger = $logger + +# Require sub-Repositories +require_relative '../libfminer/libbbrc/bbrc' # include before openbabel +require_relative '../libfminer/liblast/last' # +require_relative '../last-utils/lu.rb' +require_relative '../openbabel/lib/openbabel' + +# Fminer environment variables +ENV['FMINER_SMARTS'] = 'true' +ENV['FMINER_NO_AROMATIC'] = 'true' +ENV['FMINER_PVALUES'] = 'true' +ENV['FMINER_SILENT'] = 'true' +ENV['FMINER_NR_HITS'] = 'true' + +# OpenTox classes and includes +CLASSES = ["Feature","Compound","Dataset","Validation","CrossValidation","RepeatedCrossValidation","Experiment"]# Algorithm and Models are modules + +[ # be aware of the require sequence as it affects class/method overwrites + "overwrite.rb", + "rest-client-wrapper.rb", + "error.rb", + "opentox.rb", + "feature.rb", + "compound.rb", + "dataset.rb", + "descriptor.rb", + "algorithm.rb", + "descriptor.rb", + "bbrc.rb", + "model.rb", + "similarity.rb", + #"neighbor.rb", + "classification.rb", + "regression.rb", + "validation.rb", + "crossvalidation.rb", + "experiment.rb", +].each{ |f| require_relative f } + |