summaryrefslogtreecommitdiff
path: root/lib/lazar.rb
blob: 89b50f79b87d35b3858daa8212bbff6cca942e7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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

# 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 }