summaryrefslogtreecommitdiff
path: root/example.rb
diff options
context:
space:
mode:
authorMartin Gütlein <martin.guetlein@gmail.com>2010-01-07 13:27:25 +0100
committerMartin Gütlein <martin.guetlein@gmail.com>2010-01-07 13:27:25 +0100
commita6cbe221d074e07f9356ccf1bac336d4f2addd98 (patch)
tree9fa1ce8b9afdfe3de4aba9183b242f4170099645 /example.rb
parent003296a4a1df68717ca8396f27c6962656e474e8 (diff)
moved example code to own file
Diffstat (limited to 'example.rb')
-rw-r--r--example.rb73
1 files changed, 73 insertions, 0 deletions
diff --git a/example.rb b/example.rb
new file mode 100644
index 0000000..80ae3b0
--- /dev/null
+++ b/example.rb
@@ -0,0 +1,73 @@
+
+class Example
+
+ @@file=File.new("data/hamster_carcinogenicity.owl","r")
+ @@model=File.join @@config[:services]["opentox-model"],"1"
+ @@feature="http://www.epa.gov/NCCT/dsstox/CentralFieldDef.html#ActivityOutcome_CPDBAS_Hamster"
+ @@alg = File.join @@config[:services]["opentox-algorithm"],"lazar"
+ @@alg_params = "feature_generation_uri="+File.join(@@config[:services]["opentox-algorithm"],"fminer")
+ @@data=File.join @@config[:services]["opentox-dataset"],"1"
+ @@train_data=File.join @@config[:services]["opentox-dataset"],"2"
+ @@test_data=File.join @@config[:services]["opentox-dataset"],"3"
+
+ def self.transform_example
+
+ file = File.new("EXAMPLES", "r")
+ res = ""
+ while (line = file.gets)
+ res += line
+ end
+ file.close
+
+ sub = { "validation_service" => @@config[:services]["opentox-validation"],
+ "validation_id" => "1",
+ "model_uri" => @@model,
+ "dataset_uri" => @@data,
+ "training_dataset_uri" => @@train_data,
+ "test_dataset_uri" => @@test_data,
+ "prediction_feature" => @@feature,
+ "algorithm_uri" => @@alg,
+ "algorithm_params" => @@alg_params,
+ "crossvalidation_id" => "1",}
+
+ sub.each do |k,v|
+ res.gsub!(/<#{k}>/,v)
+ end
+ res
+ end
+
+ def self.delete_all(uri_list_service)
+ uri_list = RestClient.get(uri_list_service)
+ uri_list.split("\n").each do |uri|
+ RestClient.delete(uri)
+ end
+ end
+
+ def self.prepare_example_resources
+
+ delete_all(@@config[:services]["opentox-dataset"])
+ data = File.read(@@file.path)
+ data_uri = RestClient.post @@config[:services]["opentox-dataset"], data, :content_type => "application/rdf+xml"
+ puts "uploaded dataset "+data_uri
+ raise "failed to prepare demo" unless data_uri==@@data
+
+ Lib::Validation.auto_migrate!
+ delete_all(@@config[:services]["opentox-model"])
+ vali_uri = RestClient.post File.join(@@config[:services]["opentox-validation"],'/validation/training_test_split'), { :dataset_uri => data_uri,
+ :algorithm_uri => @@alg,
+ :prediction_feature => @@feature,
+ :algorithm_params => @@alg_params }
+ puts "created validation via training test split "+vali_uri
+ raise "failed to prepare demo" unless vali_uri==File.join(@@config[:services]["opentox-validation"],'/validation/1')
+
+ Lib::Crossvalidation.auto_migrate!
+ cv_uri = RestClient.post File.join(@@config[:services]["opentox-validation"],'/crossvalidation'), { :dataset_uri => data_uri,
+ :algorithm_uri => @@alg,
+ :prediction_feature => @@feature,
+ :algorithm_params => @@alg_params,
+ :num_folds => 5, :stratified => false }
+ puts "created crossvalidation "+cv_uri
+ raise "failed to prepare demo" unless cv_uri==File.join(@@config[:services]["opentox-validation"],'/crossvalidation/1')
+
+ end
+end \ No newline at end of file