<?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 web</title>
    <link>http://depth-first.com/articles/tag/web</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Walking the Web of Chemical Informatics</description>
    <item>
      <title>Chemistry, The Web, and Netflix</title>
      <description>&lt;p&gt;&lt;img src="http://depth-first.com/demo/20080611/python.png" align="right"&gt;&lt;/img&gt;If you've ever rented movies from &lt;a href="http://netflix.com"&gt;Netflix&lt;/a&gt;, you've probably noticed the information box that pops up when you hover over a movie image. If you just want a quick peek at what a movie is all about, this simple feature can save a great deal of time and effort in mousing around, clicking, and general navigation annoyance. It turns out that chemical compounds have a lot in common with movies in that they both can be referred to through one or more identifiers and they both have a lot of interesting metadata linked to them. This article shows that what works for Netflix can also work for chemistry.&lt;/p&gt;

&lt;h4&gt;The Problem&lt;/h4&gt;

&lt;p&gt;Interpreting IUPAC nomenclature and references to compound numbers is a major chore when working with chemistry experimental sections. When paper documents are used, this typically involves flipping pages back and forth many times between the narrative and the experimental section. With Web documents, this is usually either impossible or very inconvenient, and so the PDF is printed to paper.&lt;/p&gt;

&lt;h4&gt;A Demonstration&lt;/h4&gt;

&lt;p&gt;The following text is an edited and re-formatted passage taken from &lt;a href="http://www.beilstein-journals.org/bjoc/content/supplementary/1860-5397-4-5-S1.doc"&gt;the experimental section&lt;/a&gt; of &lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5"&gt;a paper&lt;/a&gt; published in &lt;a href="http://www.beilstein-journals.org/bjoc/home/home.htm"&gt;&lt;em&gt;Beilstein Journal of Organic Chemistry&lt;/em&gt;&lt;/a&gt;. If you hover over any hyperlink for half a second or more, a balloon will pop up showing you the chemical structure of the substance being referred to. Mousing away from the link hides the balloon.&lt;/p&gt;

&lt;script type="text/javascript" src="http://depth-first.com/demo/20080611/js/balloon.js"&gt;&lt;/script&gt;

&lt;script type="text/javascript" src="http://depth-first.com/demo/20080611/js/yahoo-dom-event.js"&gt;&lt;/script&gt; 

&lt;script&gt; var balloon = new Balloon;&lt;/script&gt;

&lt;blockquote&gt;
&lt;p&gt;
&lt;strong&gt;&lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5" onmouseover="balloon.showTooltip(event,'load:34')"&gt;1-[(1R)-1-(2- {[tert-Butyl(dimethyl)silyl]oxy}ethylhexyl] -2-piperidinone&lt;/a&gt; (34)&lt;/strong&gt;
&lt;/p&gt;

&lt;p&gt;
&lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5" onmouseover="balloon.showTooltip(event,'load:rbr')"&gt;5-Bromopentanoyl chloride&lt;/a&gt; (1.84&amp;nbsp;g, 9.25&amp;nbsp;mmol) was added to a stirred solution of &lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5" onmouseover="balloon.showTooltip(event,'load:32')"&gt;primary amine &lt;strong&gt;32&lt;/strong&gt;&lt;/a&gt; (2.00&amp;nbsp;g, 7.71 mmol) in dry 1,2-dichloroethane (30&amp;nbsp;cm&lt;sup&gt;3&lt;/sup&gt;), followed by anhydrous NaHCO&lt;sub&gt;3&lt;/sub&gt; (0.78&amp;nbsp;g, 9.25&amp;nbsp;mmol). The reaction mixture was left to stir at room temperature for 16&amp;nbsp;h. The resulting mixture was filtered through a pad of celite, which was then washed with CH&lt;sub&gt;2&lt;/sub&gt;Cl&lt;sub&gt;2&lt;/sub&gt;. The combined filtrate and washings were then evaporated in vacuo to yield a crude orange oil (4.06&amp;nbsp;g), which was purified by column chromatography on silica gel with hexane-EtOAc (7:3) as eluent to give the &lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5" onmouseover="balloon.showTooltip(event,'load:33')"&gt;5-bromo-N-[(1R)-1- (2-{[tert-butyl(dimethyl)silyl]oxy}ethyl)hexyl pentanamide&lt;/a&gt; &lt;strong&gt;33&lt;/strong&gt; as an orange oil (2.92&amp;nbsp;g, 89%).
&lt;/p&gt;
&lt;p&gt;
A portion of the &lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5" onmouseover="balloon.showTooltip(event,'load:33')"&gt;bromoamide&lt;/a&gt; &lt;strong&gt;33&lt;/strong&gt; (0.20&amp;nbsp;g, 0.47&amp;nbsp;mmol) was dissolved in dry THF (3&amp;nbsp;cm&lt;sup&gt;3&lt;/sup&gt;) containing a suspension of potassium tert-butoxide (587&amp;nbsp;mg, 0.52&amp;nbsp;mmol), and the mixture was stirred at room temperature for 25&amp;nbsp;min before being diluted with EtOAc (10&amp;nbsp;cm&lt;sup&gt;3&lt;/sup&gt;). The mixture was then washed with saturated aqueous sodium chloride solution (5 x 2&amp;nbsp;cm&lt;sup&gt;3&lt;/sup&gt;). The combined organic extracts were dried (MgSO&lt;sub&gt;4&lt;/sub&gt;), filtered and evaporated in vacuo to yield a crude yellow oil (0.16&amp;nbsp;g), which was purified by column chromatography on silica gel with hexane-EtOAc (85:15) as eluent to give &lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5" onmouseover="balloon.showTooltip(event,'load:34')"&gt;1-[(1R)-1-(2-{[tert- butyl(dimethyl)silyl]oxy}ethylhexyl]-2-piperidinone&lt;/a&gt; &lt;strong&gt;34&lt;/strong&gt; as a pale yellow oil (0.13&amp;nbsp;g, 81%).
&lt;/p&gt;
&lt;cite&gt;-Michael, Accone, Koning, and Westhuyzen, &lt;a href="http://dx.doi.org/10.1186/1860-5397-4-5"&gt;Beilstein J. Org. Chem. &lt;strong&gt;2008&lt;/strong&gt;, 4, 5&lt;/a&gt;&lt;/cite&gt;
&lt;/blockquote&gt;

&lt;p&gt;This demo has been tested on Internet Explorer 6/7, Firefox 2, and Safari 3.&lt;/p&gt;

&lt;h4&gt;Technologies&lt;/h4&gt;

&lt;p&gt;Although this demonstration is built on numerous Web technologies, two are at the top of the stack: the vector graphics rendering engine of &lt;a href="http://metamolecular.com/chemwriter"&gt;ChemWriter&lt;/a&gt; and the open source Javascript library &lt;a href="http://www.gmod.org/wiki/index.php/Popup_Balloons"&gt;Balloon.js&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Chemical structures are displayed as lightweight Adobe Flash SWF files, as described in a &lt;a href="http://depth-first.com/articles/2008/06/10/adobe-flash-for-cheminformatics-fast-scalable-and-attractive-2d-depiction-of-chemical-structures-with-vector-graphics"&gt;previous Depth-First article&lt;/a&gt;. Software based on ChemWriter converts a molecular connection table into vector graphics commands for the Flash runtime with the help of the open source &lt;a href="http://www.flagstonesoftware.com/transform/"&gt;Transform SWF&lt;/a&gt; library.&lt;/p&gt;

&lt;h4&gt;Playing to the Web's Strengths&lt;/h4&gt;

&lt;p&gt;The Web is a new medium with a completely different set of rules compared to print media. One of its biggest strengths is interactivity: the ability to see something of interest and to immediately be able to find out more about it. One of its biggest weaknesses, even today, is technology standards. It's not enough to create interactivity; that interactivity must also fit within the technical constraints imposed by a medium that is still a work in progress.&lt;/p&gt;

&lt;p&gt;As journal publishers and others grapple with &lt;a href="http://depth-first.com/articles/2008/05/08/building-a-unique-chemistry-journal-responses-to-questions-from-nature-chemistry"&gt;how to approach&lt;/a&gt; the inevitable transition to purely Web-based scientific communication, it's important to keep both the strengths and limitations of the Web in mind. To date, nearly all attempts to create Web-based versions of chemistry journals have simply tried to duplicate the form of the print medium. This has resulted, if anything, on an even greater reliance on paper, resulting in valuable information being used well below its full potential.&lt;/p&gt;

&lt;h4&gt;Conclusions&lt;/h4&gt;

&lt;p&gt;This article has demonstrated a simple labor-saving technique in which chemical structures can be visualized by hovering the cursor over specially-designated chemical identifiers. There's quite a bit more that can be done with chemical vector graphics, chemical information, and Web technologies commonly used in consumer services like Netflix. Future articles will discuss some possibilities.&lt;/p&gt;

&lt;div id="32" style="display:none"&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="200" height="200"&gt;
&lt;param name="movie" value="http://depth-first.com/demo/20080611/flash/32.swf"&gt;
&lt;embed src="http://depth-first.com/demo/20080611/flash/32.swf" quality="high" width="200" height="200" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;

&lt;div id="33" style="display:none"&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="200" height="200"&gt;
&lt;param name="movie" value="http://depth-first.com/demo/20080611/flash/33.swf"&gt;
&lt;embed src="http://depth-first.com/demo/20080611/flash/33.swf" quality="high" width="200" height="200" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;

&lt;div id="34" style="display:none"&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="200" height="200"&gt;
&lt;param name="movie" value="http://depth-first.com/demo/20080611/flash/34.swf"&gt;
&lt;embed src="http://depth-first.com/demo/20080611/flash/34.swf" quality="high" width="200" height="200" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;

&lt;div id="rbr" style="display:none"&gt;
&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="150" height="150"&gt;
&lt;param name="movie" value="http://depth-first.com/demo/20080611/flash/rbr.swf"&gt;
&lt;embed src="http://depth-first.com/demo/20080611/flash/rbr.swf" quality="high" width="150" height="150" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"&gt;&lt;/embed&gt;
&lt;/object&gt;
&lt;/div&gt;</description>
      <pubDate>Wed, 11 Jun 2008 21:03:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:7ef7cc4c-8dbe-42f3-b608-23d18c889efe</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2008/06/11/chemistry-the-web-and-netflix</link>
      <category>Tools</category>
      <category>netflix</category>
      <category>popup</category>
      <category>balloon</category>
      <category>tooltip</category>
      <category>chemwriter</category>
      <category>swf</category>
      <category>flash</category>
      <category>vectorgraphics</category>
      <category>2d</category>
      <category>balloonjs</category>
      <category>scientificpublication</category>
      <category>web</category>
    </item>
    <item>
      <title>The Daily Molecule: The Wonders of Chemistry - One Molecule at a Time</title>
      <description>&lt;p&gt;&lt;a href="http://blog.chempedia.com"&gt;&lt;img src="http://depth-first.com/demo/20080513/chempedia.png" align="right"&gt;&lt;/img&gt;&lt;/a&gt;Chemistry is a big field judged by any standard, including the &lt;a href="http://depth-first.com/articles/2008/05/07/1908-and-all-that-the-long-tail-and-chemistry"&gt;proliferation of American Chemical Society (ACS) divisions&lt;/a&gt;. Each subdiscipline in chemistry is in turn so big, that once a chemist becomes 'differentiated' it's easy to lose touch even with neighboring subdisciplines. It doesn't have to be that way. This article introduces a new service, &lt;a href="http://blog.chempedia.com"&gt;&lt;em&gt;The Daily Molecule&lt;/em&gt;&lt;/a&gt; designed to make it just a little bit easier (and hopefully fun) to stay in the chemical loop.&lt;/p&gt;

&lt;h4&gt;What Is It?&lt;/h4&gt;

&lt;p&gt;The idea is simple: every weekday, a new molecule will be featured on &lt;em&gt;The Daily Molecule&lt;/em&gt; with a short write-up and some leading references. Although molecules in the news will get first priority, any molecule is fair game.&lt;/p&gt;

&lt;p&gt;The material for &lt;em&gt;The Daily Molecule&lt;/em&gt; will be drawn from &lt;a href="http://chempedia.com"&gt;Chempedia&lt;/a&gt;, which in turn gets some of its content from &lt;a href="http://wikipedia.org"&gt;Wikipedia&lt;/a&gt;. In other words, the entries on the Daily Molecule will be largeley written by my fellow chemists.&lt;/p&gt;

&lt;p&gt;The process of creating a &lt;em&gt;Daily Molecule&lt;/em&gt; entry is not time-consuming, but much of what is being done manually now could be automated in the future. The technology platform lends itself well to many forms of chemistry-specific modification (see below).&lt;/p&gt;

&lt;p&gt;I hesitate to use the term 'blog' to describe &lt;em&gt;The Daily Molecule&lt;/em&gt;, but the description may be helpful to an extent.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The Daily Molecule&lt;/em&gt; is unlike a blog in that most content will be generated by others, selected by some criteria, reformatted for consistency, and published. In that sense, &lt;em&gt;The Daily Molecule&lt;/em&gt; is a something like a mini scientific journal, but it turns the process of acquiring content on its head.&lt;/p&gt;

&lt;p&gt;If chemistry ever evolves beyond the &lt;a href="http://depth-first.com/articles/2007/07/16/go-west-young-man-does-open-access-really-matter-in-the-long-run"&gt;current model of publication&lt;/a&gt;, which seems inevitable at this point, the journals of the future may resemble &lt;em&gt;The Daily Molecule&lt;/em&gt; in one or more ways.&lt;/p&gt;

&lt;h4&gt;Technology&lt;/h4&gt;

&lt;p&gt;The software running &lt;em&gt;The Daily Molecule&lt;/em&gt; is a modified version of &lt;a href="http://simplelog.net/"&gt;SimpleLog&lt;/a&gt;, a Web application based on &lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;. Unlike most blogging engines, SimpleLog focuses on implementing only the most basic publication features, and doing them to perfection. If you know a little Ruby and can work with Rails, you can do a lot with SimpleLog.&lt;/p&gt;

&lt;p&gt;One of the first items of business will be to implement &lt;a href="http://depth-first.com/articles/2007/09/18/six-reasons-i-like-recaptcha-or-how-to-build-a-web-service-worth-talking-about"&gt;reCAPTCHA&lt;/a&gt; support and activate comments on articles.&lt;/p&gt;

&lt;p&gt;Some ideas for chemically-enabling &lt;em&gt;The Daily Molecule&lt;/em&gt; include a graphical abstract sidebar and (sub)structure search. Currently, the 2D chemical structure images posted to &lt;em&gt;The Daily Molecule&lt;/em&gt; &lt;a href="http://depth-first.com/articles/2007/08/08/never-draw-the-same-molecule-twice-viewing-image-metadata"&gt;have complete connection tables embedded as metadata&lt;/a&gt;, a feature with some interesting possibilities.&lt;/p&gt;

&lt;h4&gt;The Molecule of the Day/Week/Month&lt;/h4&gt;

&lt;p&gt;The basic idea behind &lt;em&gt;The Daily Molecule&lt;/em&gt; is not new. Many other services have sprung up over the last ten years that operate, at least on the surface, similarly. Some examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.moleculeoftheday.com/"&gt;Molecule of the Day&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://portal.acs.org/portal/acs/corg/content?_nfpb=true&amp;amp;_pageLabel=PP_TRANSITIONMAIN&amp;amp;node_id=677&amp;amp;use_sec=false&amp;amp;sec_url_var=region1"&gt;ACS Molecule of the Week&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.drugsandpoisons.com/"&gt;Drugs and Poisons&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://the-half-decent-pharmaceutical-chemistry-blog.chemblogs.org/category/saturday-night-synthesis"&gt;Saturday Night Synthesis&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.chm.bris.ac.uk/motm/motm.htm"&gt;The Molecule of the Month&lt;/a&gt; (may be the oldest continuously-operated MOTM site in existence)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.3dchem.com/motm.asp"&gt;3dchem.com Molecule of the Month&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.expasy.org/spotlight/"&gt;Protein Spotlight&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://mgl.scripps.edu/people/goodsell/illustration/pdb"&gt;PDB Molecule of the Month&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.prous.com/molecules/default.asp"&gt;Prous Molecule of the Month&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Quite a few others don't appear on this list.&lt;/p&gt;

&lt;p&gt;The different idea behind the &lt;em&gt;The Daily Molecule&lt;/em&gt; is that chemical content already exists in on the Web in machine-readable format with licenses that permit its re-use; all that's needed is a way to aggregate, format, and package that information in a form suitable for once-daily scanning and cheminformatics manipulation.&lt;/p&gt;

&lt;h4&gt;Conclusions&lt;/h4&gt;

&lt;p&gt;Like no other medium, the Web blurs artificial distinctions: between work and play; between private and public; between on-topic and off-topic; between fame and obscurity; between mine and yours; between big and small; and between profit and non-profit. Chemistry may be late to the party, but is not immune to its call.&lt;/p&gt;</description>
      <pubDate>Wed, 14 May 2008 11:58:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:804a7467-98a1-47ae-975a-b1fdd172f1c0</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2008/05/14/the-daily-molecule-the-wonders-of-chemistry-one-molecule-at-a-time</link>
      <category>Meta</category>
      <category>dailymolecule</category>
      <category>scientificpublication</category>
      <category>chempedia</category>
      <category>wikipedia</category>
      <category>journal</category>
      <category>web</category>
      <category>rails</category>
      <category>ruby</category>
      <category>simplelog</category>
    </item>
    <item>
      <title>Streamlining Cheminformatics on the Web: Let InChI Do the Heavy Lifting and Get Some REST</title>
      <description>&lt;p&gt;&lt;a href="http://chemspider.com"&gt;&lt;img src="http://depth-first.com/demo/20070917/chemspider.jpg" align="right"&gt;&lt;/img&gt;&lt;/a&gt;A recent Depth-First article discussed the advantages of &lt;a href="http://depth-first.com/articles/2007/08/13/the-best-api-may-be-no-api-at-all-pubchem-and-pdb"&gt;minimal Web APIs in Cheminformatics&lt;/a&gt;. Recently, Antony Williams unveiled some &lt;a href="http://www.chemspider.com/blog/?p=179"&gt;simplified ChemSpider URL schemes&lt;/a&gt;, mainly from the perspective of enabling Google indexing. However, it's possible to take this scheme much, much further. Here I present a proposal for radically simplifying (and unifying) the development of cheminformatics Web APIs and the software that interacts with them.&lt;/p&gt;

&lt;h4&gt;The New ChemSpider URLs&lt;/h4&gt;

&lt;p&gt;ChemSpider now has several new kinds of URLs. For the purposes of this article, the most interesting of these are of the format:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.chemspider.com/InChIKey=DEIYFTQMQPDXOT-RERXVCSDCZ"&gt;http://www.chemspider.com/InChIKey=DEIYFTQMQPDXOT-RERXVCSDCZ &lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.chemspider.com/InChI=1/C6H6/c1-2-4-6-5-3-1/h1-6H"&gt;http://www.chemspider.com/InChI=1/C6H6/c1-2-4-6-5-3-1/h1-6H&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These URLs may seem unremarkable, but there's much more than meets the eye. They let anonymous developers query ChemSpider about specific substances - without needing to know much at all about how ChemSpider itself works. Goodbye API. Goodbye API support. Goodbye API documentation. Goodbye angle brackets. Hello to getting stuff done. It's all very &lt;a href="http://depth-first.com/articles/2007/05/30/restful-cheminformatics"&gt;RESTful&lt;/a&gt;. Well, at least it could be that way with some minor modification.&lt;/p&gt;

&lt;h4&gt;Some Recommendations&lt;/h4&gt;

&lt;p&gt;ChemSpider hasn't quite reached that place where the API &lt;a href="http://wwmm.ch.cam.ac.uk/blogs/downing/?p=128"&gt;just disappears&lt;/a&gt;. The problem is that the ChemSpider URLs listed above point to query results pages, not compound summary pages. Were these URLs to redirect to a summary page, we could construct the following URLs to extract ChemSpider resources (I've replaced the '=' sign with a '/' for simplicity):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;.../InChIKey/DEIYFTQMQPDXOT-RERXVCSDCZ&lt;/strong&gt; Get all resources for the molecule identified by the given InChIKey - i.e., "Compound summary page"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;.../InChIKey/DEIYFTQMQPDXOT-RERXVCSDCZ/molfile.mol&lt;/strong&gt; Get the molfile for the molecule identified by the given InChIKey&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;.../InChIKey/DEIYFTQMQPDXOT-RERXVCSDCZ/small_image.png&lt;/strong&gt; Get the small image for the molecule indentified by the given InChIKey.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;.../InChIKey/DEIYFTQMQPDXOT-RERXVCSDCZ/large_image.png&lt;/strong&gt; Get the large image for the molecule identified by the given InChIKey.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;.../InChIKey/DEIYFTQMQPDXOT-RERXVCSDCZ/citations.xml&lt;/strong&gt; Get the list of citations for the molecule identified by the given InchIKey, in XML format.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Jane, a developer building Web applications on top of this new ChemSpider API, would immediately notice that things just work. Let's say her online database stores IC&lt;sub&gt;50&lt;/sub&gt;s at the dopamine D&lt;sub&gt;2&lt;/sub&gt; receptor. On the summary page for each molecule, she wants to link out to the ChemSpider compound summary page, if available. She would simply construct the InChIKey on her server, build the needed ChemSpider URL and GET it. An HTTP 404 would indicate no molecule with that Key exists on ChemSpider and so no link would be shown. An HTTP 200 would indicate ChemSpider has the molecule, and so the link would appear.&lt;/p&gt;

&lt;h4&gt;Conclusions&lt;/h4&gt;

&lt;p&gt;It would be interesting enough if ChemSpider adopted a system like that described here. But the real power of this approach would emerge if multiple Web services were to adopt it. By following a simple set of conventions, these services would enable third party developers to elegantly &lt;a href="http://depth-first.com/articles/2006/09/23/mashups-for-fun-and-profit"&gt;mashup&lt;/a&gt; all manner of cheminformatics resources into applications unimaginable today.&lt;/p&gt;

&lt;p&gt;Technically, there's nothing that prevents this system from being implemented on every &lt;a href="http://depth-first.com/articles/2007/01/24/thirty-two-free-chemistry-databases"&gt;free chemistry database&lt;/a&gt; in existence today. However, doing so would transfer a significant degree of control from service operators to third-party developers. Not all providers will be comfortable with that idea.&lt;/p&gt;

&lt;p&gt;Cheminformatics Web service providers need to carefully consider whether they're trying to develop a &lt;a href="http://depth-first.com/articles/2007/07/04/pubchem-is-a-platform"&gt;platform or an integrated service&lt;/a&gt;. As history has shown, the strategies, and upside potential, for each approach can differ dramatically.&lt;/p&gt;</description>
      <pubDate>Mon, 01 Oct 2007 10:53:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:e3caeb1b-58a7-4a3a-b215-131825ee9f2e</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/10/01/streamlining-cheminformatics-on-the-web-let-inchi-do-the-heavy-lifting-and-get-some-rest</link>
      <category>Meta</category>
      <category>chemspider</category>
      <category>rest</category>
      <category>inchi</category>
      <category>inchikey</category>
      <category>web</category>
    </item>
    <item>
      <title>Free Chemistry Databases on the Web: Creating a Comprehensive Guide</title>
      <description>&lt;p&gt;&lt;a href="http://flickr.com/photos/kateanddave/378962428/"&gt;&lt;img src="http://depth-first.com/demo/20070505/list.jpg" align="right" border="0"&gt;&lt;/img&gt;&lt;/a&gt;One of Depth-First's more popular articles is a summary of free databases titled &lt;a href="http://depth-first.com/articles/2007/01/24/thirty-two-free-chemistry-databases"&gt;&lt;em&gt;Thirty-Two Free Chemistry Databases&lt;/em&gt;&lt;/a&gt;. Clearly there is a need to link the producers of free chemical databases (developers) with the potential users of these services (chemists). Chemistry is slowly emerging from a decades-long period of over-reliance on a &lt;a href="http://www.cas.org/"&gt;single supplier&lt;/a&gt; of information. As new players enter, they'll need some way to have their message heard.&lt;/p&gt;

&lt;h4&gt;The Problem&lt;/h4&gt;

&lt;p&gt;As evidence of this need, I'm getting more requests to list additional services on the Thirty-Two Databases article - or to provide an updated review of a service already there. This is wonderful!&lt;/p&gt;

&lt;p&gt;One approach would be for me to simply research and write an updated article reviewing the new additions myself. The problem is that thirty-two is already a very large number to deal with. My guess is that there must now be well over sixty or seventy free chemistry databases. That's far too many for one person to research properly on their own.&lt;/p&gt;

&lt;p&gt;On the other hand, the Web is all about &lt;a href="http://depth-first.com/articles/2007/01/18/collective-intelligence-and-the-dumbness-of-crowds"&gt;collaboration&lt;/a&gt;, so why no try to use it that way?&lt;/p&gt;

&lt;h4&gt;An Idea&lt;/h4&gt;

&lt;p&gt;Here's the idea: if you run a &lt;strong&gt;free&lt;/strong&gt; database or other online chemistry service and would like to promote it, post a comment to this article containing a link and brief description of what makes your service different/useful. If you've used a free chemistry database, feel free to provide your thoughts on it. If there's a free database you wish existed but doesn't yet, feel free to write about that. Unlike the other articles on this site for which comments are closed after two weeks, this article's comments will remain open indefinitely.&lt;/p&gt;

&lt;p&gt;After some period of time, I'll use these comments to write a new article highlighting the new material.&lt;/p&gt;

&lt;p&gt;Notice the use of the word "free". A free database can be used by any member of the general public without fees or a lengthy registration process. This includes both &lt;a href="http://depth-first.com/articles/2006/09/27/hacking-pubchem-free-speech-or-free-beer"&gt;free speech and free beer&lt;/a&gt; services. There are &lt;a href="http://wwmm.ch.cam.ac.uk/blogs/murrayrust/?p=286"&gt;more restrictive definitions&lt;/a&gt; that could be applied, but let's not worry about those just yet. Free beer is better than no beer at all.&lt;/p&gt;

&lt;p&gt;Links can either be in HTML or &lt;a href="http://daringfireball.net/projects/markdown/"&gt;Markdown&lt;/a&gt;. Here's one example of each:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_xml "&gt;&lt;span class="punct"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;a&lt;/span&gt; &lt;span class="attribute"&gt;href&lt;/span&gt;&lt;span class="punct"&gt;=&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;http://megamolecules.com&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;&amp;gt;&lt;/span&gt;MegaMolecules&lt;span class="punct"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;a&lt;/span&gt;&lt;span class="punct"&gt;&amp;gt;&lt;/span&gt; (HTML)

[MegaMolecules](http://megamolecules.com) (Markdown)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h4&gt;The Outcome&lt;/h4&gt;

&lt;p&gt;I have no idea what kind of response this experiment will generate. But if past experience is any guide, large numbers of chemists are keenly interested in free chemistry databases. All they need is a link.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Image Credit: &lt;a href="http://flickr.com/photos/kateanddave/"&gt;Kate and Dave Hugh&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 07 May 2007 09:32:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:2e979d74-b484-48e2-a4ca-594e772a1cd1</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/05/07/free-chemistry-databases-on-the-web-creating-a-comprehensive-guide</link>
      <category>Databases</category>
      <category>database</category>
      <category>web</category>
      <category>chemistry</category>
      <category>free</category>
    </item>
    <item>
      <title>Update: Four Free 2-D Structure Editors for Web Applications</title>
      <description>&lt;p&gt;A &lt;a href="http://depth-first.com/articles/2006/08/21/four-free-2-d-structure-editors-for-web-applications"&gt;previous article&lt;/a&gt; discussing the deployment of four free 2D structure editors has been fixed. The sample pages demonstrating how to obtain a molfile from each have also been restored.&lt;/p&gt;</description>
      <pubDate>Sun, 22 Apr 2007 11:26:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:f4d38cf0-6401-4c13-8ecb-6440764c7a05</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/04/22/update-four-free-2-d-structure-editors-for-web-applications</link>
      <category>Tools</category>
      <category>2d</category>
      <category>editor</category>
      <category>jchempaint</category>
      <category>jme</category>
      <category>jmoldraw</category>
      <category>mcdl</category>
      <category>web</category>
      <category>webapp</category>
    </item>
    <item>
      <title>A 2D Chemical Structure Editor for the Web: Embracing Constraints in Firefly</title>
      <description>&lt;p&gt;&lt;a href="http://flickr.com/photos/39598051@N00/115905048/"&gt;&lt;img src="http://depth-first.com/demo/20070417/firefly.jpg" align="right" border="0"&gt;&lt;/img&gt;&lt;/a&gt;A &lt;a href="http://depth-first.com/articles/2007/04/16/the-structure-editor-forgotten-link-between-chemistry-and-cheminformatics"&gt;previous article&lt;/a&gt; outlined the major concepts behind Firefly, a new 2D structure editor for the Web. Structure editors are unique in that they require solutions to problems in so many different areas: graphical user interface design; &lt;a href="http://depth-first.com/articles/2007/03/30/the-aesthetics-of-chemical-structure-diagrams"&gt;chemical structure aesthetics&lt;/a&gt;; 2D graphics and geometry; molecular representation; and graph theory, to name a few.&lt;/p&gt;

&lt;p&gt;These are important considerations, but they pale in comparison to the biggest design challenge: Firefly must be deployed and run in a heterogeneous network environment. This one constraint frames all of the basic design questions involving platform, programming language, footprint, and mode of deployment. And this is a &lt;a href="http://depth-first.com/articles/2007/02/15/woz-on-design-and-constraints"&gt;Good Thing&lt;/a&gt;.&lt;/p&gt;

&lt;h4&gt;Platform, Programming Language, and Deployment&lt;/h4&gt;

&lt;p&gt;Considering the diverse array of hardware and operating systems on the Internet, it's amazing that anything works at all. Although standards save the day in most cases, there is no all-purpose solution when it comes to interactive Web technologies. Today, there are essentially three options for Firefly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flash&lt;/strong&gt; To my knowledge, no 2D structure editor has ever been implemented in Flash. (This alone sounds like a good reason to try it sometime.) As a platform, Flash has a lot going for it, including a large installed base, and the abstraction layer &lt;a href="http://www.openlaszlo.org/"&gt;OpenLaszlo&lt;/a&gt;. On the down side, Flash support on platforms such as Linux has not been what it could be. As Flash continues to mature, this problem may become less important.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ajax&lt;/strong&gt; Essentially nothing more than HTML and JavaScript - and no plug-ins of any kind. At least two editors have been written in Ajax: &lt;a href="http://depth-first.com/articles/2006/11/09/look-ma-no-applets"&gt;WebME&lt;/a&gt; and &lt;a href="http://pubchem.ncbi.nlm.nih.gov/search/"&gt;PubChem's editor&lt;/a&gt;. Ajax works in a lot of situations, but in my opinion it still isn't up to the job of creating a responsive, interactive structure editor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Java Applet&lt;/strong&gt; A massive installed base, support for just about every kind of hardware in use, a robust object-oriented language with a powerful 2D graphics and GUI libraries, and it's even &lt;a href="https://openjdk.dev.java.net/"&gt;Open Source&lt;/a&gt;. Although Flash and Ajax have their advantages, Java is the best option for the foreseeable future. There are several &lt;a href="http://depth-first.com/articles/2006/08/21/four-free-2-d-structure-editors-for-web-applications"&gt;Java structure editors&lt;/a&gt; to choose from, and for good reason. (Future articles will discuss what makes Firefly different.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What about a Java application? Unfortunately, not even a user's ability to install software on their own machines can be taken for granted in the context in which Firefly will be running. For example, many companies enforce prohibitions against employee-installation of non-approved software. Machines found in libraries or other public places may face similar limitations. Given these real possibilties, an applet is the only option that makes sense.&lt;/p&gt;

&lt;p&gt;As to the version of Java that Firefly is built on, JDK 1.4.2 seems to have become the unwritten standard. It's mature enough the have most of what Java has today, but is old enough to be on most machines. Even with this compromise, Firefly will have an impressive array of functionality to work with: Java2D, Swing, and many performance optimizations relative to earlier Java versions.&lt;/p&gt;

&lt;h4&gt;Footprint&lt;/h4&gt;

&lt;p&gt;High-speed Internet access is ubiquitous. Bandwidth is now a commodity. Memory is practically free and processors - don't get me started on processors these days. But developers who take massive bandwidth and staggering processor power for granted are setting themselves and their users up for many unpleasant interactions. Firefly must be lightweight, responsive, and fast to deploy under any network load and on 80% of the hardware on the Web. Limiting its footprint to 150K will increase the chances of success.&lt;/p&gt;

&lt;p&gt;With such a small footprint, none of the currently-available open source Java cheminformatics libraries (e.g. &lt;a href="http://cdk.sf.net"&gt;CDK&lt;/a&gt;, &lt;a href="http://joelib.sf.net"&gt;JOELib&lt;/a&gt;, &lt;a href="http://depth-first.com/articles/tag/octet"&gt;Octet&lt;/a&gt;) will be of much use. They are simply too big. Even the smallest of them (Octet) weighs in at about 300K. Of course, it's possible to strip out unnecessary features from these libraries. But even then, a great deal of unused functionality would remain. This is the unavoidable downside of general-purpose libraries. By developing a small cheminformatics library specifically designed to power a 2D structure editor, Firefly should be able to meet the 150K target.&lt;/p&gt;

&lt;p&gt;Is 150K a realistic goal? My previous experience in developing &lt;a href="http://depth-first.com/articles/2006/08/28/drawing-2-d-structures-with-structure-cdk"&gt;Structure and Structure-CDK&lt;/a&gt; taught me that with &lt;a href="http://java.sun.com/products/java-media/2D/"&gt;Java2D&lt;/a&gt;, very lightweight structure-rendering code is well within reach. For example, the Structure-CDK jarfile is an unoptimized 39K. (But even Structure-CDK faces the same problem as other general-purpose libraries - it's much bigger than it needs to be. In other words, some Structure-CDK concepts may be applicable to Firefly, but the code itself must be completely re-written.)&lt;/p&gt;

&lt;p&gt;When combined with the fact that a lot of cheminformatics functionality, such as structure clean-up, can be &lt;a href="http://depth-first.com/articles/2006/12/18/anatomy-of-a-cheminformatics-web-application-structure-cleanup-in-java-molecular-editor"&gt;offloaded to a server&lt;/a&gt;, 150K begins to look like a very reasonable target.&lt;/p&gt;

&lt;p&gt;As a final encouragement, consider that everything &lt;a href="http://www.molinspiration.com/jme/"&gt;Java Molecular Editor&lt;/a&gt; does, including SMILES canonicalization, is contained in a jarfile no larger than 40K.&lt;/p&gt;

&lt;h4&gt;Wrap-Up&lt;/h4&gt;

&lt;p&gt;As you can see, even before a single line of code was written, Firefly's design was constrained in some very important ways. &lt;a href="http://gettingreal.37signals.com/ch03_Embrace_Constraints.php"&gt;Identifying and embracing these constraints&lt;/a&gt; doesn't ensure success, but it greatly increases its chances. In articles to follow, I'll show how Firefly was designed to thrive within these constraints.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Image Credit: &lt;a href="http://flickr.com/photos/39598051@N00/"&gt;frogmuseum2&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 18 Apr 2007 10:09:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:4c50028a-6447-4812-8795-e8881a6671f5</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/04/18/a-2d-chemical-structure-editor-for-the-web-embracing-constraints-in-firefly</link>
      <category>Meta</category>
      <category>editor</category>
      <category>2d</category>
      <category>firefly</category>
      <category>constraints</category>
      <category>web</category>
    </item>
    <item>
      <title>Roll Your Own Chemical Database With Free Components</title>
      <description>&lt;p&gt;Are you thinking of building a &lt;a href="http://depth-first.com/articles/2007/01/24/thirty-two-free-chemistry-databases"&gt;free chemical database&lt;/a&gt; but would rather not rent and maintain a bunch of proprietary software components? &lt;a href="http://merian.pch.univie.ac.at/pch/nh_info.html"&gt;Norbert Haider&lt;/a&gt; has thought a lot about this problem and offers some helpful resources to get you started:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://merian.pch.univie.ac.at/%7Enhaider/cheminf/moldb.html"&gt;Creating a web-based, searchable molecular structure database using free software&lt;/a&gt; Step-by step case study&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://merian.pch.univie.ac.at/%7Enhaider/cheminf/moldb.pdf"&gt;How to create a web-based molecular structure database with free software&lt;/a&gt; A presentation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://merian.pch.univie.ac.at/%7Enhaider/cheminf/cmmm.html"&gt;checkmol/matchmol&lt;/a&gt; Open source command-line utility for 2D (sub)structure matching&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://merian.pch.univie.ac.at/%7Enhaider/cheminf/mol2ps.html"&gt;mol2ps&lt;/a&gt; Command-line utility for converting molfiles into Postscript files&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Haider's system can be deployed on commodity hardware running open source operating systems. In other words, the cost of setting up a system like the one he describes is practically zero.&lt;/p&gt;

&lt;p&gt;Creating and open sourcing your own custom components is one way to go. Building on top of existing open source tools like &lt;a href="http://cdk.sf.net"&gt;CDK&lt;/a&gt;, &lt;a href="http://openbabel.sf.net"&gt;Open Babel&lt;/a&gt;, &lt;a href="http://depth-first.com/articles/tag/octet"&gt;Octet&lt;/a&gt; and &lt;a href="http://joelib.sf.net"&gt;JOELib&lt;/a&gt; is another.&lt;/p&gt;

&lt;p&gt;Haider's work raises an interesting question. Has anyone assembled a complete, ready to install general purpose chemical database package built from open source components? It for no other reason, such an exercise would give an excellent idea of what &lt;a href="http://depth-first.com/articles/2007/01/03/open-source-and-open-data-why-we-should-eat-our-own-dogfood"&gt;the dogfood tastes like&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Fri, 13 Apr 2007 10:27:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:a017a4e0-d8a0-48c2-87a3-5554b99b7373</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/04/13/roll-your-own-chemical-database-with-free-components</link>
      <category>Tools</category>
      <category>database</category>
      <category>2d</category>
      <category>web</category>
      <category>cdk</category>
      <category>openbabel</category>
      <category>opensource</category>
      <category>joelib</category>
    </item>
    <item>
      <title>Eleven Qualities of The Perfect Line Notation for the Web</title>
      <description>&lt;p&gt;&lt;a href="http://flickr.com/photos/wenwennie/396170719/"&gt;&lt;img src="http://depth-first.com/demo/20070314/line.jpg" align="right" border="0"&gt;&lt;/img&gt;&lt;/a&gt;If you had to design the perfect line notation for the Web, what would it look like? This is hardly an academic exercise given the central role played by line notations in information systems. For a variety of reasons, existing line notations may not be the right match for the Web. This article explores this question and outlines the main qualities needed by a Web-friendly line notation.&lt;/p&gt;

&lt;h4&gt;A Few Lines About Line Notations&lt;/h4&gt;

&lt;p&gt;A line notation is any system that converts a molecular structure into a single line of text. Chemists have been using line notations for over 140 years - long before the advent of computers. Because of their versatility, line notations are frequently used in situations they were not designed for. When this happens, limitations become apparent, resulting in renewed efforts to build a better system.&lt;/p&gt;

&lt;p&gt;As &lt;a href="http://depth-first.com/articles/2006/08/18/107-years-of-line-formula-notations-1861-1968"&gt;noted previously&lt;/a&gt;, the invention of new line notations is a field whose popularity ebbs and flows over time. Currently, the three most important line notations are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;IUPAC Nomenclature&lt;/li&gt;
&lt;li&gt;Simplified Molecular Input Line Entry System (SMILES)&lt;/li&gt;
&lt;li&gt;IUPAC International Chemical Identifier (InChI)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each of these systems has its own unique characteristics. &lt;a href="http://www.acdlabs.com/iupac/nomenclature/"&gt;IUPAC nomenclature&lt;/a&gt; is the oldest and most widely-used line notation. It appears in numerous contexts, including Web pages, peer-reviewed journals, reports, patents, MSDS sheets, catalogs, and reagent bottles. By comparison, &lt;a href="http://www.daylight.com/smiles/index.html"&gt;SMILES&lt;/a&gt; is a distant second in popularity. It's main role has been to facilitate machine entry of structural information by humans, &lt;a href="http://www.emolecules.com/"&gt;like this&lt;/a&gt;. &lt;a href="http://en.wikipedia.org/wiki/International_Chemical_Identifier"&gt;InChI&lt;/a&gt; is the newest of the bunch. It serves both as a line notation and as a unique identifier requiring no central authority.&lt;/p&gt;

&lt;h4&gt;The Perfect Line Notation for the Web&lt;/h4&gt;

&lt;p&gt;The emergence of the Web as a standard information delivery platform has refocused the attention of many developers on the line notation problem. With this idea in mind, here are some guesses about the qualities of the ideal Web-friendly line notation.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Readily Encodable and Decodable by Humans.&lt;/strong&gt; There's something unnerving about a line notation that can't easily be deciphered by humans. Is this really the right string? Did I copy it completely? This problem surfaces with every line notation, but some fare better than others. IUPAC nomenclature, for example, is one of the first things taught in many beginning organic chemistry classes. It's complicated, but still understandable by non-experts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Readily Encodable and Decodable by Machines.&lt;/strong&gt; It may be relatively simple for humans to read and write IUPAC nomenclature, but not so for machines. Software that reads and writes SMILES, on the other hand, is by comparison easy to write. This explains the abundance of software packages that handle SMILES and the &lt;a href="http://depth-first.com/articles/tag/opsin"&gt;scarcity&lt;/a&gt; of those that handle IUPAC nomenclature.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Uses URI-Safe Characters Only.&lt;/strong&gt; A &lt;a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier"&gt;URI&lt;/a&gt; uniquely identifies every document on the Internet. Why can't a line notation be used in combination with a URI to uniquely identify every molecule? One reason is that every line notation currently in use contains &lt;a href="http://www.freesoft.org/CIE/RFC/1738/4.htm"&gt;characters unsafe for use in URIs&lt;/a&gt;. Any line notation designed for use on the Web needs to avoid these characters in its syntax. &lt;em&gt;Update: InChI doesn't use unsafe characters, but it does use the reserved characters "=", "?", and "/". These characters may therefore &lt;a href="http://info-uri.info/registry/OAIHandler?verb=GetRecord&amp;amp;metadataPrefix=reg&amp;amp;identifier=info:inchi/"&gt;need to be escaped&lt;/a&gt;, depending on the context.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Encodes All Molecules.&lt;/strong&gt; Buried within every line notation is an opinion on what chemistry is really about. To operate on the Web, these opinions need to be as closely aligned as possible with those of chemists themselves. &lt;a href="http://depth-first.com/articles/tag/flexmol"&gt;Several Depth-First articles&lt;/a&gt; have discussed the limitations of existing line notations as molecular languages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Compact.&lt;/strong&gt; Nobody wants to look at or manipulate a line of text that's longer than it needs to be. Of course, the more expressive a line notation is, the more verbose it will be. In other words, qualities 4 and 5 will always be in conflict.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Canonicalizable.&lt;/strong&gt; A line notation supports canonicalization when it specifies rules that can be guaranteed to always generate the same line notation for a given molecule. This feature enables many labor-saving assumptions. For example, a canonical representation makes a great identifier in a database, reducing the cost of storing and retrieving structural information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Explicit Hydrogen Atom Encoding.&lt;/strong&gt; SMILES makes few requirements regarding hydrogen atom encoding. As a result, each software implementation is left to its own devices. The resulting confusion is the price paid for the convenience (Quality 1) of a compact notation (Quality 5).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hierarchical Structure.&lt;/strong&gt; One of InChI's innovations was the introduction of a hierarchical encoding system. This system, also referred to as InChI "layers", enables a molecule to be viewed at several levels of resolution: as a molecular formula; as a network of atoms; as a network of atoms containing hydrogen atoms; as an atomic network with stereochemistry; and so on. I'm unaware of any reports in which this feature has been exploited in a practical way, although they aren't difficult to imagine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flat Structure.&lt;/strong&gt; By grouping structural features into layers (Quality 8), InChI introduces a lot of complexity that is absent in SMILES and even IUPAC nomenclature. This complexity, in part, makes it difficult for both humans and machines to properly encode InChIs (Qualities 1 and 2). Given this complexity, and the fact that the utility of hierarchical encoding has yet to be conclusively demonstrated, it may be better to avoid it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Open Source Software Implementation.&lt;/strong&gt; No encoding standard in today's world stands a chance of gaining acceptance without an open source reference implementation. InChI broke new ground in this area and should serve as a model for any system that follows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Unencumbered by Patents.&lt;/strong&gt; The success of molfile and SMILES as de facto standards derives partly from the decision made by their authors to refrain from patenting their languages. As a result, developers are motivated build their own implementations, rather than invent yet another language.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;Conclusions&lt;/h4&gt;

&lt;p&gt;A robust and modern line notation system is a key technology for chemically enabling the Web. Existing line notations, although useful in many contexts, were not designed with this particular role in mind. The time has come to consider whether a new line notation system, designed specifically with the Web and modern chemistry in mind, might offer a better solution.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Photo credit: &lt;a href="http://flickr.com/photos/wenwennie/"&gt;Wenwen&lt;/a&gt;  - &lt;a href="http://flickr.com"&gt;Flickr&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 14 Mar 2007 10:18:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:81f8ab71-4155-406b-adfa-2d1fde0c4f6b</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/03/14/eleven-qualities-of-the-perfect-line-notation-for-the-web</link>
      <category>Web</category>
      <category>inchi</category>
      <category>smiles</category>
      <category>iupac</category>
      <category>linenotation</category>
      <category>web</category>
      <category>uri</category>
    </item>
    <item>
      <title>Web 2.0 and Chemistry</title>
      <description>&lt;blockquote&gt;
    &lt;p&gt;Chemistry on the World Wide Web is picking up speed like a runaway train. A remarkable number of groups are devoting considerable time, effort, and money to a wide variety of chemical web applications.&lt;/p&gt;
    
    &lt;p&gt;-&lt;cite&gt;Stu Borman, &lt;a href="http://pubs.acs.org/hotartcl/cenear/960916/explode.html"&gt;Chemical &amp;amp; Engineering News, September 16, 1996&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Whatever happened to chemistry and the Web? Stu Borman's article is a wonderful read, if for no other reason than to illustrate what makes technology predictions so tricky. Borman cites these developments, among others, as evidence of the rise of chemistry on the Web circa 1996:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;An &lt;a href="http://altavista.com"&gt;AltaVista&lt;/a&gt; search for the word "chemistry" returned 400,000 documents. (Remember AltaVista? Google now lists over &lt;em&gt;115 million&lt;/em&gt; documents containing the word "chemistry").&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Popular Web browsers such as Navigator 3.0 and Explorer 3.0 support Greek characters, an important characteristic of chemical information. (Support for chemistry in Web browsers has barely improved in the meantime.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A Java browser for &lt;a href="http://www.xml-cml.org/"&gt;Chemical Markup Language&lt;/a&gt; (CML) was soon to be released. (CML is still in use and supported by many software packages, although it has not been widely adopted. For example, the builders of &lt;a href="http://pubchem.ncbi.nlm.nih.gov/"&gt;PubChem&lt;/a&gt; opted for a custom XML format over CML.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.ch.ic.ac.uk/rzepa/vrml/"&gt;Virtual Reality Markup Language&lt;/a&gt; (VRML) could be used display molecules in three-dimensions. (&lt;a href="http://en.wikipedia.org/wiki/VRML"&gt;This article&lt;/a&gt; gives a brief overview of the rise and fall of VRML.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.mdl.com/products/framework/chime/"&gt;Chemscape Chime&lt;/a&gt;, a Navigator plugin that interprets chemical information, could be freely downloaded. (&lt;del&gt;MDL has apparently since discontinued free distribution of Chime.&lt;/del&gt; The &lt;a href="http://depth-first.com/articles/2006/09/27/hacking-pubchem-free-speech-or-free-beer"&gt;free as in beer&lt;/a&gt; plugin is &lt;a href="http://www.orgsyn.org/"&gt;rarely&lt;/a&gt; seen in use on the public Web.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Chemically oriented Java applets such as "WebSketch" are proliferating. (Java has had a difficult time making it as a browser technology. Security has had little to do with it, though.)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stu Borman's article serves as a clear reminder that chemistry on the Web is almost as awkward today as it was at the dawn of the Internet age. The problem isn't lack of content; it's the lack of robust, widely-adopted, open standards that take the &lt;a href="http://depth-first.com/articles/2006/09/03/peculiarities-of-chemical-information"&gt;peculiarities of chemical information&lt;/a&gt; into account, and the free software to support them. Coming to terms with past failures in this area is one way to increase the chances of future success.&lt;/p&gt;</description>
      <pubDate>Mon, 12 Mar 2007 10:23:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:8c8362ba-993e-438a-bb75-8d2627aeefe6</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/03/12/web-2-0-and-chemistry</link>
      <category>Meta</category>
      <category>web20</category>
      <category>opensource</category>
      <category>openstandards</category>
      <category>cml</category>
      <category>java</category>
      <category>web</category>
    </item>
    <item>
      <title>Yet Another Free Chemistry Database: FooDB</title>
      <description>&lt;p&gt;&lt;a href="http://hmdb.med.ualberta.ca/foodb/"&gt;&lt;img src="http://depth-first.com/demo/20070306/foodb.png" align="right" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;a href="http://hmdb.med.ualberta.ca/foodb/"&gt;FooDB&lt;/a&gt; contains over 1,900 structures used as food additives in the United States. The data in FooDB are provided by the &lt;a href="http://vm.cfsan.fda.gov/~dms/eafus.html"&gt;FDA EAFUS site&lt;/a&gt;. You can search by CAS number, IUPAC name, or molecular formula. And in what is likely to be a trend to watch closely, FooDB is powered by the Web application framework &lt;a href="http://www.rubyonrails.org/"&gt;Ruby on Rails&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;FooDB is not alone: the number of &lt;a href="http://depth-first.com/articles/2007/01/24/thirty-two-free-chemistry-databases"&gt;free chemistry databases on the Web&lt;/a&gt; just keeps growing. How this trend ultimately plays out is anybody's guess.&lt;/p&gt;

&lt;p&gt;One thing is clear: the point is rapidly approaching at which database aggregation technologies will start to matter. No chemist wants to search through over thirty databases to find the information they need on a molecule. They want it delivered in one quick, intuitive, user-friendly package. Here's another example of something that's &lt;a href="http://depth-first.com/articles/tag/broken"&gt;broken&lt;/a&gt; in cheminformatics. Like all broken things, it's the source of great frustration for users and great opportunity for developers.&lt;/p&gt;</description>
      <pubDate>Tue, 06 Mar 2007 11:09:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e506dc14-5608-42b8-97aa-8f040a3f527c</guid>
      <author>Rich Apodaca</author>
      <link>http://depth-first.com/articles/2007/03/06/yet-another-free-chemistry-database-foodb</link>
      <category>Databases</category>
      <category>broken</category>
      <category>foodb</category>
      <category>web</category>
      <category>fda</category>
      <category>rails</category>
      <category>ruby</category>
    </item>
  </channel>
</rss>
