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
|
require 'rubygems'
require "bundler/setup"
require "rest-client"
require 'yaml'
require 'json'
require 'logger'
require 'mongoid'
require 'rserve'
# 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!("#{ENV['HOME']}/.opentox/config/mongoid.yml")
# TODO get Mongo::Client from Mongoid
$mongo = Mongo::Client.new('mongodb://127.0.0.1:27017/opentox')
# TODO same for GridFS
$gridfs = $mongo.database.fs
# R setup
R = Rserve::Connection.new
# Logger setup
$logger = Logger.new STDOUT # STDERR did not work on my development machine (CH)
$logger.level = Logger::DEBUG
Mongo::Logger.logger = $logger
Mongo::Logger.level = Logger::WARN
#Mongoid.logger = $logger
# OpenTox classes and includes
CLASSES = ["Feature","Compound", "Dataset", "Validation", "CrossValidation"]# 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",
#"model.rb",
#"validation.rb"
].each{ |f| require_relative f }
|