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:

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.