summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormr <mr@mrautenberg.de>2011-05-23 13:29:57 +0200
committermr <mr@mrautenberg.de>2011-05-23 13:29:57 +0200
commita05a704a18772c96bc805bf827102684afe25286 (patch)
tree23e41f17187256c8f22d243a0048133ae5f74fad
parent456fec2da427489e06cc98f24eb4916808ae07b9 (diff)
parent904a954b7c8ad21a2f0944055763c078946ad385 (diff)
Merge branch 'release/2.0.0'v2.0.0
-rw-r--r--application.rb23
1 files changed, 14 insertions, 9 deletions
diff --git a/application.rb b/application.rb
index 0a3794a..eba06a4 100644
--- a/application.rb
+++ b/application.rb
@@ -7,11 +7,12 @@ ENV["CLASSPATH"] = "#{ENV["CLASSPATH"]}:#{java_dir}:#{cdk}:#{jchempaint}"
require 'rubygems'
require 'rjb'
-gem "opentox-ruby", "~> 1"
+gem "opentox-ruby", "~> 2"
require 'opentox-ruby'
before do
- @inchi = URI.unescape request.env['REQUEST_URI'].sub(/^\//,'').sub(/.*compound\//,'').sub(/\/smarts.*$/,'').sub(/\/image/,'') # hack to avoid sinatra's URI/CGI unescaping, splitting, ..."
+ @inchi = URI.unescape request.env['REQUEST_URI'].sub(/^\//,'').sub(/.*compound\//,'').sub(/\/smarts.*$/,'').sub(/\/image/,'').sub(/\?.*$/,'') # hack to avoid sinatra's URI/CGI unescaping, splitting, ..."
+ puts @inchi
end
# Display activating (red) and deactivating (green) substructures. Overlaps betwen activating and deactivating structures are marked in yellow.
@@ -35,12 +36,7 @@ get %r{/(.+)/smarts/activating/(.*)/deactivating/(.*)$} do |inchi,activating,dea
end
end
-# Get png image
-# @return [image/png] Image data
-get %r{/(.+)/image} do |inchi| # catches all remaining get requests
- smiles = OpenTox::Compound.from_inchi(@inchi).to_smiles
- content_type "image/png"
- attachment "#{smiles}.png"
+def png_from_smiles(smiles)
begin
Rjb.load(nil,["-Xmx64m"])# avoid JVM memory allocation problems
Rjb::import('Structure').new(smiles,150).show
@@ -49,6 +45,15 @@ get %r{/(.+)/image} do |inchi| # catches all remaining get requests
end
end
+# Get png image
+# @return [image/png] Image data
+get %r{/(.+)/image} do |inchi| # catches all remaining get requests
+ smiles = OpenTox::Compound.from_inchi(@inchi).to_smiles
+ content_type "image/png"
+ attachment "#{smiles}.png"
+ png_from_smiles(smiles)
+end
+
# Get compound representation
# @param [optinal, HEADER] Accept one of `chemical/x-daylight-smiles, chemical/x-inchi, chemical/x-mdl-sdfile, chemical/x-mdl-molfile, text/plain, image/gif, image/png`, defaults to chemical/x-daylight-smiles
# @example Get smiles
@@ -76,7 +81,7 @@ get %r{/(.+)} do |inchi| # catches all remaining get requests
OpenTox::Compound.from_inchi(@inchi).to_gif
when "image/png"
response['Content-Type'] = "image/png"
- OpenTox::Compound.from_inchi(@inchi).to_png
+ png_from_smiles(OpenTox::Compound.from_inchi(@inchi).to_smiles)
when "text/plain"
response['Content-Type'] = "text/plain"
uri = File.join @@cactus_uri,@inchi,"names"