<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Depth-First: Tag groovy</title>
    <link>http://depth-first.com/articles/tag/groovy</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Walking the Web of Chemical Informatics</description>
    <item>
      <title>Eleven Free Cheminformatics Scripting Environments</title>
      <description>&lt;p&gt;A &lt;a href="http://tech.groups.yahoo.com/group/chemoinf/message/235"&gt;recent question&lt;/a&gt; on Yahoo's chemoinf forum got me thinking about free cheminformatics scripting environments. If you've ever wanted to learn an object-oriented scripting language such as Ruby, Python, Perl, or Groovy in the context of cheminformatics, there are many good options to choose from. Few experiences expand a programmer's horizons more than learning one of these &lt;a href="http://www.journalhome.com/codecraft/9003/"&gt;freedom languages&lt;/a&gt;. This is especially true for developers who, like myself, come from a background involving the safety languages C++ and Java.&lt;/p&gt;

&lt;p&gt;Below is a complete roundup of Open Source cheminformatics scripting environments, grouped by language. If closed, commercial offerings were included, this list would, of course, be longer. In the interest of full disclosure, I am the author of RCDK and have worked on OBRuby.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;img src="http://depth-first.com/files/ruby_logo_new.gif" align="right"&gt;&lt;/img&gt;&lt;a href="http://depth-first.com/articles/2006/10/30/agile-chemical-informatics-development-with-cdk-and-ruby-rcdk-0-3-0"&gt;Ruby Chemistry Development Kit (RCDK)&lt;/a&gt;- IUPAC nomenclature translation, 2-D structure layout, 2-D color rendering. RCDK combines the capabilities of three Open Source Java toolkits with the agility of the Ruby platform, all in an easy-to-install package. Parse IUPAC nomenclature. Create 2-D coordinates for SMILES strings and IUPAC names. Render anti-aliased color 2-D molecular images in SVG, PNG, and JPG format.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://depth-first.com/articles/2006/10/31/obruby-a-ruby-interface-to-open-babel"&gt;Ruby/Open Babel: OBRuby&lt;/a&gt;- A recent addition to the growing family of alternative programming interfaces offered by the C++ toolkit &lt;a href="http://openbabel.sf.net"&gt;Open Babel&lt;/a&gt;. Interconvert several molecular languages including SMILES, molfile, CML, PDB, and InChi. Perform sophisticated molecular queries with SMARTS pattern matching.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.chemruby.org/hiki/"&gt;Chemruby&lt;/a&gt; &lt;a href="http://rubyforge.org/projects/chemruby/"&gt;Rubyforge Site&lt;/a&gt; - A pure Ruby toolkit with portions written in C to speed performance. Although I successfully installed Chemruby on my system, I can't use it due to a failed dependency on a library called "dbm".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://rubyforge.org/projects/molruby"&gt;Molruby&lt;/a&gt; - Parse SDFiles in Ruby or on the command line. Molruby is clearly a project in it's early stages. On the other hand, if you're interested in learning Ruby, Molruby's small size may be suited to getting familiar with key concepts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;img src="http://depth-first.com/files/python-logo.gif" align="right"&gt;&lt;a href="http://www.dalkescientific.com/PyDaylight/"&gt;PyDaylight&lt;/a&gt; - A "Pythonic", "thick" interface to the popular &lt;a href="http://www.daylight.com/"&gt;Daylight toolkit&lt;/a&gt;. The author, &lt;a href="http://www.dalkescientific.com/"&gt;Andrew Dalke&lt;/a&gt; has done a great deal to promote the idea of applying scripting languages to cheminformatics. Unfortunately, Daylight's toolkit isn't yet offered under an Open Source license, making it difficult for me to evaluate the PyDaylight interface.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://openbabel.sourceforge.net/wiki/Python"&gt;Python/Open Babel&lt;/a&gt; - Access a good chunk of the impressive Open Babel API through Python. I needed to perform a &lt;a href="http://sourceforge.net/mailarchive/forum.php?thread_id=30886953&amp;amp;forum_id=45398"&gt;a small modification&lt;/a&gt; to get OBPython working on my system. After that this package worked exactly as advertised.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://almost.cubic.uni-koeln.de/cdk/cdk_top/cdk_news/archive/cdknews2.2.article17.pdf"&gt;Python/CDK&lt;/a&gt; - Use &lt;a href="http://www.jython.org/Project/"&gt;Jython&lt;/a&gt; to access the complete CDK API using Python. Jython is a Java implementation of the Python interpreter, and so this use of the CDK lets developers combine their favorite Java and Python software.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://frowns.sourceforge.net/"&gt;FROWNS (Python)&lt;/a&gt; - Loosely based on the PyDaylight API by Andrew Dalke. Read and write SMILES and Molfiles. Perform SMARTS queries, work with fingerprints and enumerate molecular cycles. With optional &lt;a href="http://www.graphviz.org/"&gt;GraphVis&lt;/a&gt; support, render 2-D molecular images.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;img src="http://depth-first.com/files/lcamel.gif" align="right"&gt;&lt;a href="http://openbabel.sourceforge.net/wiki/Perl"&gt;Perl/Open Babel&lt;/a&gt; - Use &lt;a href="http://openbabel.sf.net"&gt;Open Babel&lt;/a&gt; from Perl. I was &lt;a href="http://sourceforge.net/mailarchive/forum.php?thread_id=30895758&amp;amp;forum_id=45398"&gt;unsuccessful&lt;/a&gt; in building OBPerl on my system; your mileage may vary.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.perlmol.org/"&gt;Perlmol&lt;/a&gt;- Read and write a number of common formats including SMILES, molfile, SLN, and PDB. Query by molecular and reaction pattern. Installation on my system went smoothly. One of the best-documented projects on this list.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;img src="http://depth-first.com/files/groovy.png" align="right"&gt; Groovy/CDK - &lt;a href="http://groovy.codehaus.org/"&gt;Groovy&lt;/a&gt; is a relatively new object-oriented scripting language for Java. I found no Internet references on using Groovy with CDK in English, although it should be simple to do. If you read Japanese, try &lt;a href="http://cheminformatics.seesaa.net/article/22870145.html"&gt;this link&lt;/a&gt;. Stay tuned for more on this interesting combination.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;</description>
      <pubDate>Tue, 14 Nov 2006 16:13:00 +0000</pubDate>
      <guid isPermaLink="false">urn:uuid:2f7ed7b3-e129-44e7-a62a-d97b78849b61</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2006/11/14/eleven-free-cheminformatics-scripting-environments</link>
      <category>Tools</category>
      <category>scripting</category>
      <category>opensource</category>
      <category>python</category>
      <category>ruby</category>
      <category>perl</category>
      <category>groovy</category>
    </item>
  </channel>
</rss>
