From 1bc0f0d200cd25102d032dbce85e23c706e6ae72 Mon Sep 17 00:00:00 2001 From: mr Date: Thu, 16 Dec 2010 10:51:36 +0100 Subject: A&A for dataset and lazar --- Rakefile | 13 +++++++++---- dataset.rb | 21 +++++++++++---------- lazar.rb | 27 ++++++++++++++------------- 3 files changed, 34 insertions(+), 27 deletions(-) diff --git a/Rakefile b/Rakefile index d8026a6..eb2d231 100644 --- a/Rakefile +++ b/Rakefile @@ -1,19 +1,24 @@ require 'rubygems' require 'opentox-ruby' +TEST_USER = "guest" +TEST_PW = "guest" + task ARGV[0] do puts ARGV[0]+".rb" require "./"+ARGV[0]+".rb" end task :setup do - @@classification_training_dataset = OpenTox::Dataset.create_from_csv_file("data/hamster_carcinogenicity.csv") - @@regression_training_dataset = OpenTox::Dataset.create_from_csv_file("data/EPAFHM.csv") + @@subjectid = OpenTox::Authorization.authenticate(TEST_USER,TEST_PW) + @@classification_training_dataset = OpenTox::Dataset.create_from_csv_file("data/hamster_carcinogenicity.csv", @@subjectid) + @@regression_training_dataset = OpenTox::Dataset.create_from_csv_file("data/EPAFHM.csv", @@subjectid) end task :teardown do - @@classification_training_dataset.delete - @@regression_training_dataset.delete + @@classification_training_dataset.delete(@@subjectid) + @@regression_training_dataset.delete(@@subjectid) + OpenTox::Authorization.logout(@@subjectid) end [:all, :feature, :dataset, :fminer, :lazar].each do |t| diff --git a/dataset.rb b/dataset.rb index 9cf8e63..812a060 100644 --- a/dataset.rb +++ b/dataset.rb @@ -32,7 +32,7 @@ class DatasetTest < Test::Unit::TestCase @dataset = OpenTox::Dataset.find "http://apps.ideaconsult.net:8080/ambit2/dataset/2698" #File.open("test.rdf","w+"){|f| f.puts @dataset.to_rdfxml} @dataset.uri = "http://apps.ideaconsult.net:8080/ambit2/dataset" - uri = @dataset.save + uri = @dataset.save(@@subjectid) puts uri #@dataset.load_csv(File.open("data/hamster_carcinogenicity.csv").read) #@dataset.save @@ -40,10 +40,10 @@ class DatasetTest < Test::Unit::TestCase =end def test_create - dataset = OpenTox::Dataset.create - dataset.save + dataset = OpenTox::Dataset.create(CONFIG[:services]["opentox-dataset"], @@subjectid) + dataset.save(@@subjectid) assert_kind_of URI::HTTP, URI.parse(dataset.uri) - dataset.delete + dataset.delete(@@subjectid) end def test_all @@ -65,32 +65,33 @@ class DatasetTest < Test::Unit::TestCase end def test_rest_csv - uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/hamster_carcinogenicity.csv")}).to_s.chomp + uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/hamster_carcinogenicity.csv"), :subjectid => @@subjectid}).to_s.chomp @dataset = OpenTox::Dataset.new uri @dataset.load_all hamster_carc? end def test_multicolumn_csv - uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/multicolumn.csv")}).to_s.chomp + uri = OpenTox::RestClientWrapper.post(CONFIG[:services]["opentox-dataset"],{:accept => "text/uri-list"}, {:file => File.new("data/multicolumn.csv"), :subjectid => @@subjectid}).to_s.chomp @dataset = OpenTox::Dataset.new uri @dataset.load_all assert_equal 5, @dataset.features.size assert_equal 4, @dataset.compounds.size + end def test_from_csv @dataset = OpenTox::Dataset.new - @dataset.load_csv(File.open("data/hamster_carcinogenicity.csv").read) + @dataset.load_csv(File.open("data/hamster_carcinogenicity.csv").read, @@subjectid) hamster_carc? - @dataset.delete + @dataset.delete(@@subjectid) end def test_from_excel @dataset = OpenTox::Dataset.new - @dataset.load_spreadsheet(Excel.new("data/hamster_carcinogenicity.xls")) + @dataset.load_spreadsheet(Excel.new("data/hamster_carcinogenicity.xls"), @@subjectid) hamster_carc? - @dataset.delete + @dataset.delete(@@subjectid) end def test_load_metadata diff --git a/lazar.rb b/lazar.rb index e3c6908..6324f3c 100644 --- a/lazar.rb +++ b/lazar.rb @@ -7,48 +7,49 @@ class LazarTest < Test::Unit::TestCase =begin =end def test_create_regression_model - model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@regression_training_dataset.uri}).to_s + model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@regression_training_dataset.uri, :subjectid => @@subjectid}).to_s lazar = OpenTox::Model::Lazar.find model_uri assert_equal lazar.features.size, 222 compound = OpenTox::Compound.from_smiles("c1ccccc1NN") - prediction_uri = lazar.run(:compound_uri => compound.uri) + prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid) prediction = OpenTox::LazarPrediction.find(prediction_uri) assert_equal prediction.value(compound), 0.149480050002539 assert_equal prediction.confidence(compound), 0.615246530364447 assert_equal prediction.neighbors(compound).size, 81 - prediction.delete - lazar.delete + prediction.delete(@@subjectid) + lazar.delete(@@subjectid) end def test_default_classification_model # create model - model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@classification_training_dataset.uri}).to_s + model_uri = OpenTox::Algorithm::Lazar.new.run({:dataset_uri => @@classification_training_dataset.uri, :subjectid => @@subjectid}).to_s lazar = OpenTox::Model::Lazar.find model_uri assert_equal lazar.features.size, 41 # single prediction compound = OpenTox::Compound.from_smiles("c1ccccc1NN") - prediction_uri = lazar.run(:compound_uri => compound.uri) + prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid) prediction = OpenTox::LazarPrediction.find(prediction_uri) assert_equal prediction.value(compound), false assert_equal prediction.confidence(compound), 0.25857114104619 assert_equal prediction.neighbors(compound).size, 15 - prediction.delete + prediction.delete(@@subjectid) # dataset activity compound = OpenTox::Compound.from_smiles("CNN") - prediction = OpenTox::LazarPrediction.find lazar.run(:compound_uri => compound.uri) + prediction_uri = lazar.run(:compound_uri => compound.uri, :subjectid => @@subjectid) + prediction = OpenTox::LazarPrediction.find prediction_uri assert !prediction.measured_activities(compound).empty? puts prediction.measured_activities(compound).first.inspect assert_equal prediction.measured_activities(compound).first, true assert prediction.value(compound).nil? - prediction.delete + prediction.delete(@@subjectid) # dataset prediction - test_dataset = OpenTox::Dataset.create_from_csv_file("data/multicolumn.csv") - prediction = OpenTox::LazarPrediction.find lazar.run(:dataset_uri => test_dataset.uri) + test_dataset = OpenTox::Dataset.create_from_csv_file("data/multicolumn.csv", @@subjectid) + prediction = OpenTox::LazarPrediction.find lazar.run(:dataset_uri => test_dataset.uri, :subjectid => @@subjectid) assert_equal prediction.compounds.size, 4 compound = OpenTox::Compound.new prediction.compounds.first assert_equal prediction.value(compound), false - prediction.delete - lazar.delete + prediction.delete(@@subjectid) + lazar.delete(@@subjectid) end end -- cgit v1.2.3