diff options
author | Christoph Helma <helma@in-silico.ch> | 2010-07-19 11:39:07 +0200 |
---|---|---|
committer | Christoph Helma <helma@in-silico.ch> | 2010-07-19 11:39:07 +0200 |
commit | 25f2fb2e55f8a0db9f3b22781a5bcfb3fbb1bf0e (patch) | |
tree | e9f401f74c1ed71d9768a2ac71a7118416bda4c0 /application.rb | |
parent | e910d126b452f3d9ca8a20107aee04ceece9bb11 (diff) |
initial cdk structure visualizer added
Diffstat (limited to 'application.rb')
-rw-r--r-- | application.rb | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/application.rb b/application.rb index 6a7e4c6..cc0279b 100644 --- a/application.rb +++ b/application.rb @@ -1,9 +1,25 @@ +# Java environment +ENV["JAVA_HOME"] = "/usr/lib/jvm/java-6-sun" unless ENV["JAVA_HOME"] +java_dir = File.join File.expand_path(File.dirname(__FILE__)),"public/java" +cdk = File.join java_dir, "cdk-1.3.5.jar" +jchempaint = File.join java_dir, "cdk-jchempaint-15.jar" +ENV["CLASSPATH"] = "#{ENV["CLASSPATH"]}:#{java_dir}:#{cdk}:#{jchempaint}" + require 'rubygems' +require 'rjb' gem "opentox-ruby-api-wrapper", "= 1.5.7" require 'opentox-ruby-api-wrapper' -set :lock, true -CACTUS_URI="http://cactus.nci.nih.gov/chemical/structure/" +#set :lock, true + +get %r{/(.+)/image} do |inchi| # catches all remaining get requests + + smiles = OpenTox::Compound.new(:inchi => inchi).smiles + content_type "image/png" + attachment "#{smiles}.png" + Rjb::import('Display').new(smiles,600).image + +end get %r{/(.+)} do |inchi| # catches all remaining get requests inchi = URI.unescape request.env['REQUEST_URI'].sub(/^\//,'').sub(/.*compound\//,'') # hack to avoid sinatra's URI/CGI unescaping, splitting, ..." @@ -28,7 +44,7 @@ get %r{/(.+)} do |inchi| # catches all remaining get requests OpenTox::Compound.new(:inchi => inchi).png when "text/plain" response['Content-Type'] = "text/plain" - uri = File.join CACTUS_URI,inchi,"names" + uri = File.join @@cactus_uri,inchi,"names" RestClient.get(uri).body else halt 400, "Unsupported MIME type '#{request.env['HTTP_ACCEPT']}'" |