diff options
author | mr <mr@mrautenberg.de> | 2010-12-16 10:59:46 +0100 |
---|---|---|
committer | mr <mr@mrautenberg.de> | 2010-12-16 10:59:46 +0100 |
commit | b22110ae0d8e902d700e0a3dc629ebfde1edfe10 (patch) | |
tree | 483e8f1eab6b68324b8cd0f9c1f3cb6def6226dd | |
parent | 2fb2f4cd34f499f8c9def5e4091cb5998794c595 (diff) |
A&A
-rw-r--r-- | lib/dataset.rb | 18 | ||||
-rw-r--r-- | lib/helper.rb | 2 | ||||
-rw-r--r-- | lib/model.rb | 18 |
3 files changed, 19 insertions, 19 deletions
diff --git a/lib/dataset.rb b/lib/dataset.rb index 7c70c9d..aba7754 100644 --- a/lib/dataset.rb +++ b/lib/dataset.rb @@ -38,12 +38,12 @@ module OpenTox # - you will have to set remaining metadata manually # @param [String] file CSV file path # @return [OpenTox::Dataset] Dataset object with CSV data - def self.create_from_csv_file(file) - dataset = Dataset.create + def self.create_from_csv_file(file, subjectid=nil) + dataset = Dataset.create(CONFIG[:services]["opentox-dataset"], subjectid) parser = Parser::Spreadsheets.new parser.dataset = dataset parser.load_csv(File.open(file).read) - dataset.save + dataset.save(subjectid) dataset end @@ -89,8 +89,8 @@ module OpenTox # - you will have to set remaining metadata manually # @param [String] csv CSV representation of the dataset # @return [OpenTox::Dataset] Dataset object with CSV data - def load_csv(csv) - save unless @uri # get a uri for creating features + def load_csv(csv, subjectid=nil) + save(subjectid) unless @uri # get a uri for creating features parser = Parser::Spreadsheets.new parser.dataset = self parser.load_csv(csv) @@ -102,8 +102,8 @@ module OpenTox # - you will have to set remaining metadata manually # @param [Excel] book Excel workbook object (created with roo gem) # @return [OpenTox::Dataset] Dataset object with Excel data - def load_spreadsheet(book) - save unless @uri # get a uri for creating features + def load_spreadsheet(book, subjectid=nil) + save(subjectid) unless @uri # get a uri for creating features parser = Parser::Spreadsheets.new parser.dataset = self parser.load_spreadsheet(book) @@ -268,8 +268,8 @@ module OpenTox end # Delete dataset at the dataset service - def delete - RestClientWrapper.delete @uri + def delete(subjectid=nil) + RestClientWrapper.delete(@uri, :subjectid => subjectid) end private diff --git a/lib/helper.rb b/lib/helper.rb index 6b616bc..965b4ad 100644 --- a/lib/helper.rb +++ b/lib/helper.rb @@ -57,7 +57,7 @@ before do # see http://rack.rubyforge.org/doc/SPEC.html subjectid = CGI.unescape(subjectid) if subjectid.include?("%23") rescue - LOGGER.debug "OpenTox ruby api wrapper: helper before filter: NO subjectid." + LOGGER.debug "OpenTox ruby api wrapper: helper before filter: NO subjectid for URI: #{request.env['rack.url_scheme']}://#{request.env['HTTP_HOST']}#{request.env['REQUEST_URI']}" subjectid = "" end protected!(subjectid) if AA_SERVER diff --git a/lib/model.rb b/lib/model.rb index 953bb6c..c645bdc 100644 --- a/lib/model.rb +++ b/lib/model.rb @@ -90,8 +90,8 @@ module OpenTox # Predict a dataset # @param [String] dataset_uri Dataset URI # @return [OpenTox::Dataset] Dataset with predictions - def predict_dataset(dataset_uri) - @prediction_dataset = Dataset.create + def predict_dataset(dataset_uri, subjectid=nil) + @prediction_dataset = Dataset.create(CONFIG[:services]["opentox-dataset"], subjectid) @prediction_dataset.add_metadata({ OT.hasSource => @uri, DC.creator => @uri, @@ -101,9 +101,9 @@ module OpenTox d = Dataset.new(dataset_uri) d.load_compounds d.compounds.each do |compound_uri| - predict(compound_uri,false) + predict(compound_uri,false,subjectid) end - @prediction_dataset.save + @prediction_dataset.save(subjectid) @prediction_dataset end @@ -129,7 +129,7 @@ module OpenTox } ) end - return @prediction_dataset if database_activity + return @prediction_dataset if database_activity(subjectid) neighbors prediction = eval("#{@prediction_algorithm}(@neighbors,{:similarity_algorithm => @similarity_algorithm, :p_values => @p_values})") @@ -245,11 +245,11 @@ module OpenTox # Find database activities and store them in @prediction_dataset # @return [Boolean] true if compound has databasse activities, false if not - def database_activity + def database_activity(subjectid) if @activities[@compound.uri] @activities[@compound.uri].each { |act| @prediction_dataset.add @compound.uri, @metadata[OT.dependentVariables], act } @prediction_dataset.add_metadata(OT.hasSource => @metadata[OT.trainingDataset]) - @prediction_dataset.save + @prediction_dataset.save(subjectid) true else false @@ -262,8 +262,8 @@ module OpenTox end # Delete model at model service - def delete - RestClientWrapper.delete @uri unless @uri == CONFIG[:services]["opentox-model"] + def delete(subjectid) + RestClientWrapper.delete(@uri, :subjectid => subjectid) unless @uri == CONFIG[:services]["opentox-model"] end end |