From 2a5c8216aafdd4d5451b1ac6afd193b5fbf5e4da Mon Sep 17 00:00:00 2001 From: mguetlein Date: Thu, 30 Oct 2014 13:38:34 +0100 Subject: provide descriptor values --- descriptor.rb | 5 +++++ lib/descriptor.rb | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/descriptor.rb b/descriptor.rb index 5a7717e..d2b4825 100644 --- a/descriptor.rb +++ b/descriptor.rb @@ -64,6 +64,11 @@ module OpenTox OpenTox::Algorithm::Descriptor::DESCRIPTORS.collect{|k,v| "#{k}\t#{v}"}.join "\n" end + get '/descriptor/physchem/list_values/?' do + response['Content-Type'] = 'text/plain' + OpenTox::Algorithm::Descriptor::DESCRIPTOR_VALUES.join "\n" + end + get '/descriptor/physchem/unique/?' do response['Content-Type'] = 'text/plain' OpenTox::Algorithm::Descriptor::UNIQUEDESCRIPTORS.collect{|d| "#{d}\t#{OpenTox::Algorithm::Descriptor::DESCRIPTORS[d]}"}.join "\n" diff --git a/lib/descriptor.rb b/lib/descriptor.rb index 0e190e5..a8f5123 100644 --- a/lib/descriptor.rb +++ b/lib/descriptor.rb @@ -20,7 +20,9 @@ module OpenTox ["Openbabel."+name,description] unless obexclude.include? name end.compact.sort{|a,b| a[0] <=> b[0]}] - CDKDESCRIPTORS = Hash[YAML.load(`java -classpath #{CDK_JAR}:#{JAVA_DIR} CdkDescriptorInfo`).collect { |d| ["Cdk."+d[:java_class].split('.').last.sub(/Descriptor/,''), d[:description]] }.sort{|a,b| a[0] <=> b[0]}] + cdk_desc = YAML.load(`java -classpath #{CDK_JAR}:#{JAVA_DIR} CdkDescriptorInfo`) + CDKDESCRIPTORS = Hash[cdk_desc.collect { |d| ["Cdk."+d[:java_class].split('.').last.sub(/Descriptor/,''), d[:description]] }.sort{|a,b| a[0] <=> b[0]}] + CDKDESCRIPTOR_VALUES = cdk_desc.collect { |d| prefix="Cdk."+d[:java_class].split('.').last.sub(/Descriptor/,''); d[:names].collect{ |name| prefix+"."+name } }.flatten # exclude Hashcode (not a physchem property) and GlobalTopologicalChargeIndex (Joelib bug) joelibexclude = ["MoleculeHashcode","GlobalTopologicalChargeIndex"] @@ -32,6 +34,7 @@ module OpenTox end.compact.sort{|a,b| a[0] <=> b[0]}] DESCRIPTORS = OBDESCRIPTORS.merge(CDKDESCRIPTORS.merge(JOELIBDESCRIPTORS)) + DESCRIPTOR_VALUES = OBDESCRIPTORS.keys + CDKDESCRIPTOR_VALUES + JOELIBDESCRIPTORS.keys require_relative "unique_descriptors.rb" def self.description descriptor -- cgit v1.2.3