Zippity - Ruby scripts for compression-based similarity searching
Last updated: 2nd February 2007.
These are the Ruby scripts written to produce the results in:
"Similarity by Compression",
James L. Melville, Jenna F. Riley and Jonathan D. Hirst
Journal of Chemical Information and Modeling
2007,
47
(1),
25-33.
link to JCIM page
For many NCD-based needs, you should take a look at CompLearn, but for cheminformatics similarity searching, you may find the scripts in Zippity useful.
If you'd like to have a play with the NCD over the web, try The Zip-o-tron 3000.
Installing Zippity
To use Zippity, you will need:
- Ruby - an Object Oriented dynamic language
- Ruby Gems - the Ruby package manager
- The latest version of Zippity
- The gzip compressor - although this might already be installed on your computer
- The bzip2 compressor - again, you might well already have this
Once you've downloaded the gem, change into the directory you downloaded the gem into and type:
gem install zippity-0.1
Useful scripts are in the /bin subdirectory, some documentation is in /doc, and for the very brave, the actual libraries used to build the scripts are in /lib.
Most of what you need to know can be found in Getting started with zippity
Problems with Ri?
If you get an error message when running the zippity scripts, that looks a bit like:
/usr/local/lib/ruby/1.8/rdoc/ri/ri_options.rb:53: uninitialized constant RI::Paths (NameError)
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/local/lib/ruby/1.8/rdoc/usage.rb:72
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require'
from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/local/lib/ruby/gems/1.8/gems/zippity-0.1/bin/simsearch.rb:60
go into the directory where you installed ruby (probably /usr/local/lib/ruby) and then in to the 1.8/rdoc/ri subdirectory. Edit the file ri_options.rb
The start of the file should look like:
# We handle the parsing of options, and subsequently as a singleton # object to be queried for option values module RI require 'rdoc/ri/ri_display' VERSION_STRING = "ri v1.0.1 - 20041108
Add the following line, in bold, between the first require statement and the VERSION_STRING definition:
require 'rdoc/ri/ri_display' require 'rdoc/ri/ri_paths' VERSION_STRING = "ri v1.0.1 - 20041108
Currently, I'm not sure whether this is a problem with ri, or (more likely), the way I'm using the gems. I'll try and get this fixed. Sorry for the inconvenience.

