<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.3.4">Jekyll</generator><link href="https://chem-bla-ics.linkedchemistry.info/feed/by_tag/userscript.xml" rel="self" type="application/atom+xml" /><link href="https://chem-bla-ics.linkedchemistry.info/" rel="alternate" type="text/html" /><updated>2026-05-17T12:12:40+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/feed/by_tag/userscript.xml</id><title type="html">chem-bla-ics</title><subtitle>Chemblaics (pronounced chem-bla-ics) is the science that uses open science and computers to solve problems in chemistry, biochemistry and related fields.</subtitle><author><name>Egon Willighagen</name></author><entry><title type="html">Journal of Cheminformatics: I hope the Instructions to the Authors improve</title><link href="https://chem-bla-ics.linkedchemistry.info/2009/03/22/journal-of-cheminformatics-i-hope.html" rel="alternate" type="text/html" title="Journal of Cheminformatics: I hope the Instructions to the Authors improve" /><published>2009-03-22T00:00:00+00:00</published><updated>2009-03-22T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2009/03/22/journal-of-cheminformatics-i-hope</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2009/03/22/journal-of-cheminformatics-i-hope.html"><![CDATA[<p>Besides <a href="https://chem-bla-ics.linkedchemistry.info/2009/03/19/nature-chemistry-improves-publishing.html">Nature Chemistry <i class="fa-solid fa-recycle fa-xs"></i></a>, another journal was launched last week (see
<a href="http://www.steinbeck-molecular.de/steinblog/index.php/2009/03/17/open-access-journal-of-cheminformatics-now-live/">here</a> and
<a href="http://blogs.openaccesscentral.com/blogs/ccblog/entry/journal_of_cheminformatics_publishes_launch">here</a>): the
<a href="http://www.jcheminf.com/">Journal of Cheminformatics</a>. First of all, congratulations to <a href="http://www.steinbeck-molecular.de/steinblog/">Chris</a>
and David for their efforts! While the journal only published one research paper yet, it already found
<a href="http://cb.openmolecules.net/journal_search.php?journal_id=Journal%20of%20Cheminformatics">its place</a> on
<a href="http://cb.openmolecules.net/">Chemical blogspace</a>. I have two things I want to blog about: <em>data rich publishing</em>, and
<em>starting the scientific communication</em>.</p>

<h2 id="data-rich-publishing">Data Rich Publishing</h2>

<p>Peter had a <a href="http://wwmm.ch.cam.ac.uk/blogs/murrayrust/?p=1326">detailed blog</a> about why he joined the editorial board:</p>

<blockquote>
  <p>I take this position with some trepidation as I have grave reservations about the current practice of cheminformatics.
It suffers from closed data, closed source and closed standards, and thereby generally poor experimental design, poor
metrics and almost always irreproducible results and conclusions which are based on subjective opinions.</p>
</blockquote>

<p>I strongly agree with this observation, and have discussed my view on this in
<a href="https://chem-bla-ics.linkedchemistry.info/2008/03/01/todo-april-2nd-defend-my-phd-work.html">my thesis <i class="fa-solid fa-recycle fa-xs"></i></a> (send me an email if you
want a copy).</p>

<p>So, what has the journal to say about this (see <a href="http://www.jcheminf.com/info/instructions/">Instructions to the Author</a>,
emphasis mine):</p>

<blockquote>
  <p>Journal of Cheminformatics recommends, <strong>but does not require</strong>, that the source code of the software should be made
available under a suitable open-source license that will entitle other researchers to further develop and extend
the software if they wish to do so.</p>
</blockquote>

<p>Regarding data, they even less revolutionary; recommended figures formats (EPS, PDF, PNG) focus on nice graphics instead
of reuse of data. I also note that I cannot upload data in the <a href="http://en.wikipedia.org/wiki/OpenDocument">Open Document Format</a>,
or, hey, let’s really push things, in <a href="http://en.wikipedia.org/wiki/Resource_Description_Framework">RDF</a>. Well, not according to
the Instructions. And surely, I can put the [O|R]DF in the supplementary information, anyway. It would also be nice if I could
use Jmol as an applet to enrich the graphics, and improve data reusability of the paper, like the
<a href="https://chem-bla-ics.linkedchemistry.info/2009/01/19/rsc-now-allows-jmol-in-main-text-of.html">RSC recently started to allow <i class="fa-solid fa-recycle fa-xs"></i></a>.</p>

<p>Regarding the supplementary information, there is a section on <em>additional files</em>, which, unconveniently are capped at
20MB size. No mention of chemical formats at all, neither any recommendation on semantic formats like
<a href="http://en.wikipedia.org/wiki/Chemical_Markup_Language">CML</a> (I wonder when this was discussed with the Editorial Board,
and where Peter was at the time). How am I going to put online my 500 molecular structure CML file now? (Though it’s good
to know it is virus scanned ;)</p>

<p>So, why do I vent my concerns about these limitations? I had not blogged about the launch of the journal earlier, because
I have not made up my mind about it. On one side, I am happy to see a journal that promotes (scientific) use of papers,
and a journal that allows me to keep copyright on the material. However, on the other side, what the current Instructions
suggest, the data I could use from the papers is available only in an old-fashion way. That’s a lost opportunity and could
have killed competition for sure. Instead, the unique selling point is now restricted to using an
<a href="http://www.biomedcentral.com/info/about/openaccess/">open access license</a>. Nature Chemistry, on the other hand, chose
data rich publishing as a selling point (though in competition with things done at the RSC).</p>

<p>The other thing I want to mention about the journal is the following. <a href="http://blog.rguha.net/">Rajarshi</a> blogged about
<a href="http://hackberry.chem.trinity.edu/blog/">Bachrach</a>’s paper on <em>Chemistry publication - making the revolution</em>
(DOI:<a href="https://doi.org/10.1186/1758-2946-1-2">10.1186/1758-2946-1-2</a>). Firstly, by adding a link like that for the
DOI I just gave, Chemical blogspace can pick it up; we need this later. Secondly, the paper actually suggests that
<em>“[b]y publishing lots of data, available for ready re-use by all scientists, we can radically change the way science
is communicated and ultimately performed”</em>; this is in strong contrast to what I have seen in the Instructions so far.</p>

<h2 id="starting-the-scientific-communication">Starting the Scientific Communication</h2>
<p><a href="http://depth-first.com/">Rich</a> <a href="http://blog.rguha.net/?p=216#comment-342">replied</a> to Rajarshi about the requirement
to log in before someone could make a comment, which he did not like. He suggested alternative ways to prevent SPAM
and sorts. The choice for this commenting approach may also originate from having an Open discussion, where everyone
takes responsibility for what he says. The use of OpenID, as Rich suggests would only partially address that; on the
other hand, setting up a fake email address is quite common in the blogosphere too.</p>

<p>If Rajarshi would have used the DOI to link to the Steven’s paper, as said, Chemical blogspace would have recognized
it. Instead, he chose to link directly to the PDF. This is a typical case of hamburgers in action. However, others
did when they discussed the first research paper in the journal (DOI:<a href="https://doi.org/10.1186/1758-2946-1-3">10.1186/1758-2946-1-3</a>).
These blogs were picked up by Cb and are listed on <a href="http://cb.openmolecules.net/paper.php?paper_id=1666">this page</a>.</p>

<p>Now, I only need to remind you of <em>Userscripts for the Life Sciences</em> (DOI:<a href="https://doi.org/10.1186/1471-2105-8-487">10.1186/1471-2105-8-487</a>)
that we have the methods to link these comments back to the journal website. The <em>Quotes from Chemical Blogspace and Postgenomic</em>
script in particular, does the hard work (needs GreaseMonkey, the script can be downloaded here; see also
<a href="http://baoilleach.blogspot.com/2007/04/add-quotes-from-postgenomic-and.html">Noel’s original post</a>). This way,
we can read the comments when we visit the <a href="http://www.jcheminf.com/content/1/1/3">papers homepage</a>:</p>

<p><img src="/assets/images/cbStillWorks.png" alt="" /></p>

<p>Now, the script has not yet been updated for the new journal (Noel, can you please upload the revision?), so you need
to edit the source right now and add <code class="language-plaintext highlighter-rouge">http://*.jcheminf.com/*</code> to the list of website the script acts on:</p>

<p><img src="/assets/images/cbStillWorks1.png" alt="" /></p>]]></content><author><name>Egon Willighagen</name></author><category term="cb" /><category term="cheminf" /><category term="cml" /><category term="userscript" /><category term="publishing" /><category term="rdf" /><category term="jcheminf" /><category term="justdoi:10.1186/1758-2946-1-2" /><category term="justdoi:10.1186/1758-2946-1-3" /><category term="doi:10.1186/1471-2105-8-487" /><summary type="html"><![CDATA[Besides Nature Chemistry , another journal was launched last week (see here and here): the Journal of Cheminformatics. First of all, congratulations to Chris and David for their efforts! While the journal only published one research paper yet, it already found its place on Chemical blogspace. I have two things I want to blog about: data rich publishing, and starting the scientific communication.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/cbStillWorks.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/cbStillWorks.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Christmas presents…</title><link href="https://chem-bla-ics.linkedchemistry.info/2007/12/21/christmas-presents.html" rel="alternate" type="text/html" title="Christmas presents…" /><published>2007-12-21T00:00:00+00:00</published><updated>2007-12-21T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2007/12/21/christmas-presents</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2007/12/21/christmas-presents.html"><![CDATA[<p>Our Christmas tree has not been decorated yet, but the presents are there: the <em>BMC Bioinformatics paper</em> on
userscripts in life sciences, Bioclipse 1.2.0, a long list of blogs to rate, and a very nice overview from
<a href="http://www.warr.com/">Wendy Warr</a> on <a href="http://www.qsarworld.com/qsar-workflow1.php">workflow environments</a>,
discussing and comparing different offerings like <a href="http://www.scitegic.com/products/overview/index.html">Pipeline Pilot</a>,
<a href="http://taverna.sf.net/">Taverna</a>, and <a href="http://www.knime.org/">KNIME</a>.</p>

<h2 id="userscripts">Userscripts</h2>

<p>The paper on userscripts describes how Greasemonkey scripts can be used to combine different information sources
(DOI:<a href="https://doi.org/10.1186/1471-2105-8-487">10.1186/1471-2105-8-487</a>). A trailer:</p>

<blockquote>
  <p><strong>Background</strong> <br />
The web has seen an explosion of chemistry and biology related resources in the last 15 years: thousands of scientific journals,
databases, wikis, blogs and resources are available with a wide variety of types of information. There is a huge need to aggregate
and organise this information. However, the sheer number of resources makes it unrealistic to link them all in a centralised manner.
Instead, search engines to find information in those resources flourish, and formal languages like Resource Description Framework
and Web Ontology Language are increasingly used to allow linking of resources. A recent development is the use of userscripts to
change the appearance of web pages, by on-the-fly modification of the web content. This pens possibilities to aggregate information
and computational results from different web resources into the web page of one of those resources.</p>
</blockquote>

<p><a href="http://wwmm.ch.cam.ac.uk/blogs/murrayrust/">Peter</a> et al. have been using this technology for
<a href="http://wwmm.ch.cam.ac.uk/crystaleye/">CrystalEye</a> too, but the paper was in a finalizing state when the
<a href="https://blogs.ch.cam.ac.uk/pmr/2007/08/15/crystaleye-greasemonkey/">userscript was announced <i class="fa-solid fa-recycle fa-xs"></i></a>, unfortunately.</p>

<h2 id="bioclipse-120">Bioclipse 1.2.0</h2>

<p>The other present is the <a href="http://bioclipse.blogspot.com/2007/12/bioclipse-120-released.html">Bioclipse 1.2.0</a> release, for which
the QSAR feature is a great new feature addition (see my blog the other day with an overview of blog items detailing
<a href="https://chem-bla-ics.linkedchemistry.info/2007/12/20/molecular-qsar-descriptors-in-cdk.html">my participation in that feature <i class="fa-solid fa-recycle fa-xs"></i></a>).
<a href="http://bioclipse.blogspot.com/">Ola</a> et al. have done a great job with <a href="http://wiki.bioclipse.net/index.php?title=Charting_plugin">the plot functionality</a>,
which is very nice to scatter plot calculated descriptors. This release is likely going to be the last one in the Bioclipse 1
series, except for bug fix releases, so, this release also means I can start contributing to the Bioclipse 2 series. Recent
items in the Bioclipse blog show a bright future, with project based resource handling, better scripting (R, ruby,
JavaScript, BeanShell?).</p>

<p>BTW, we never have presents under the tree; we have <a href="http://en.wikipedia.org/wiki/Sinterklaas">Sinterklaas</a>.</p>]]></content><author><name>Egon Willighagen</name></author><category term="bioclipse" /><category term="userscript" /><category term="doi:10.1186/1471-2105-8-487" /><summary type="html"><![CDATA[Our Christmas tree has not been decorated yet, but the presents are there: the BMC Bioinformatics paper on userscripts in life sciences, Bioclipse 1.2.0, a long list of blogs to rate, and a very nice overview from Wendy Warr on workflow environments, discussing and comparing different offerings like Pipeline Pilot, Taverna, and KNIME.]]></summary></entry><entry><title type="html">Chemical RDFa with Operator in the Firefox toolbar</title><link href="https://chem-bla-ics.linkedchemistry.info/2007/06/27/chemical-rdfa-with-operator-in-firefox.html" rel="alternate" type="text/html" title="Chemical RDFa with Operator in the Firefox toolbar" /><published>2007-06-27T00:10:00+00:00</published><updated>2007-06-27T00:10:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2007/06/27/chemical-rdfa-with-operator-in-firefox</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2007/06/27/chemical-rdfa-with-operator-in-firefox.html"><![CDATA[<p>December last year <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/10/including-smiles-cml-and-inchi-in.html">I proposed the use of microformats and RDFa <i class="fa-solid fa-recycle fa-xs"></i></a>
for simple semantic markup of molecular information. I linked that with the <a href="https://chem-bla-ics.linkedchemistry.info/2006/02/25/hacking-inchi-support-into.html">InChI extension for the Postgenomic.com software <i class="fa-solid fa-recycle fa-xs"></i></a>
for <a href="http://cb.openmolecules.net/">Chemical blogspace</a> and wrote these tools to work with the markup:</p>

<ul>
  <li><a href="https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs.html">wrote a Greasemonkey script to automatically link to webservices <i class="fa-solid fa-recycle fa-xs"></i></a>,</li>
  <li><a href="https://chem-bla-ics.linkedchemistry.info/2007/01/02/chemistry-in-html-javascript-from.html">explained how that script can be used on the server <i class="fa-solid fa-recycle fa-xs"></i></a>, and</li>
  <li><a href="https://chem-bla-ics.linkedchemistry.info/2007/05/05/cb-comments-for-inchis.html">adapted a Greasemonkey script to show blog items related to molecules <i class="fa-solid fa-recycle fa-xs"></i></a>.</li>
</ul>

<p>All using the new semantic markup.</p>

<p>Of the two, I think RDFa has the best future. Then I <a href="https://chem-bla-ics.linkedchemistry.info/2007/05/11/added-my-hcard-to-my-blog.html">discovered Operator <i class="fa-solid fa-recycle fa-xs"></i></a>,
written by <a href="http://www.kaply.com/weblog/">Mike</a>. While the Greasemonkey scripts already allow me to link to, for example, PubChem and eMolecules,
the <a href="https://addons.mozilla.org/en-US/firefox/addon/4106">Operator Firefox Addon</a> allowed me to open vCards incorporated in HTML pages directly
to my address book client. Thus, I could open chemistry directly in <a href="http://bioclipse.net/">Bioclipse</a> too!</p>

<p>That was the idea, at least. I contacted Mike, and he asked me to wait until the first 0.8 releases, which he
<a href="http://www.kaply.com/weblog/2007/06/04/operator-08a-is-available/">announced earlier this month</a>.
This version allows user scripts to be written, which define how RDFa should be handled. And with his patience and help, this was the result:</p>

<p><img src="/assets/images/pubchemRDFa.png" alt="" /></p>

<p>The HTML is almost <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs.html">as explained before <i class="fa-solid fa-recycle fa-xs"></i></a>, and looks like:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;html</span> <span class="na">xmlns=</span><span class="s">"http://www.w3.org/2002/06/xhtml2/"</span><span class="nt">&gt;</span>

<span class="nt">&lt;h1&gt;</span>Chemical RDFa with Operator<span class="nt">&lt;/h1&gt;</span>

<span class="nt">&lt;div</span> <span class="na">about=</span><span class="s">"#chem_123"</span> <span class="na">xmlns:chem=</span><span class="s">"http://www.blueobelisk.org/chemistryblogs/"</span><span class="nt">&gt;</span>
  Methane has the following identifier: <span class="nt">&lt;span</span> <span class="na">property=</span><span class="s">"chem:inchi"</span><span class="nt">&gt;</span>InChI=1/CH4/h1H4<span class="nt">&lt;/span&gt;</span>
<span class="nt">&lt;/div&gt;</span>

<span class="nt">&lt;/html&gt;</span>
</code></pre></div></div>

<p>It is important here to wrap the statement in a <code class="language-plaintext highlighter-rouge">&lt;div&gt;</code> element and to add the <code class="language-plaintext highlighter-rouge">@about</code> attribute to it, defining the Subject. Moreover,
you need to use the <code class="language-plaintext highlighter-rouge">@property</code> attributes instead of <code class="language-plaintext highlighter-rouge">@class</code>. The content of this attribute defined the Predicate, and the content of the
<code class="language-plaintext highlighter-rouge">&lt;span&gt;</code> element is the Object, completing the RDF triple.</p>

<p>Operator detects these RDFa statements from the HTML, and creates a new menu item <em>Search in Pubchem</em> using this piece of code:</p>

<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">var</span> <span class="nx">pubchem_inchi</span> <span class="o">=</span> <span class="p">{</span>
  <span class="na">description</span><span class="p">:</span> <span class="dl">"</span><span class="s2">Search in PubChem</span><span class="dl">"</span><span class="p">,</span>
  <span class="na">short</span><span class="p">:</span> <span class="dl">"</span><span class="s2">PubChem</span><span class="dl">"</span><span class="p">,</span>
  <span class="na">scope</span><span class="p">:</span> <span class="p">{</span>
    <span class="na">semantic</span><span class="p">:</span> <span class="p">{</span>
      <span class="dl">"</span><span class="s2">RDFa</span><span class="dl">"</span> <span class="p">:</span>  <span class="p">{</span>
        <span class="na">property</span> <span class="p">:</span> <span class="dl">"</span><span class="s2">http://www.blueobelisk.org/chemistryblogs/inchi</span><span class="dl">"</span><span class="p">,</span>
        <span class="na">defaultNS</span> <span class="p">:</span> <span class="dl">"</span><span class="s2">http://www.blueobelisk.org/chemistryblogs/</span><span class="dl">"</span>
      <span class="p">}</span>
    <span class="p">}</span>
  <span class="p">},</span>
  <span class="na">doAction</span><span class="p">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">semanticObject</span><span class="p">,</span> <span class="nx">semanticObjectType</span><span class="p">)</span> <span class="p">{</span>
    <span class="k">if </span><span class="p">(</span><span class="nx">semanticObjectType</span> <span class="o">==</span> <span class="dl">"</span><span class="s2">RDFa</span><span class="dl">"</span><span class="p">)</span> <span class="p">{</span>
      <span class="k">return</span> <span class="dl">"</span><span class="s2">http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?CMD=search&amp;DB=pccompound&amp;term=%22</span><span class="dl">"</span> <span class="o">+</span> <span class="nx">semanticObject</span><span class="p">.</span><span class="nx">inchi</span> <span class="o">+</span> <span class="dl">"</span><span class="s2">%22[InChI]</span><span class="dl">"</span><span class="p">;</span>
    <span class="p">}</span>
  <span class="p">}</span>
<span class="p">};</span>

<span class="nx">SemanticActions</span><span class="p">.</span><span class="nf">add</span><span class="p">(</span><span class="dl">"</span><span class="s2">pubchem_inchi</span><span class="dl">"</span><span class="p">,</span> <span class="nx">pubchem_inchi</span><span class="p">);</span>
</code></pre></div></div>

<p>You can reproduce this by installing Operator 0.8a in Firefox, saving the script to a file in your home directory, and
reading it via the Operator “Options” dialog. Make sure to also set the <em>Display Style</em> in the <em>General</em> tab of the dialog to
<em>Data formats</em>. Only then will the RDFa magic kick in.</p>

<p>Adding support for eMolecules, ChemSpider and whatever else we like is easy now. What I still need to explore (or ask Mike),
is how I can trigger the <em>Open With/Save As</em> dialog of Firefox.</p>]]></content><author><name>Egon Willighagen</name></author><category term="pubchem" /><category term="rdf" /><category term="userscript" /><category term="inchi" /><summary type="html"><![CDATA[December last year I proposed the use of microformats and RDFa for simple semantic markup of molecular information. I linked that with the InChI extension for the Postgenomic.com software for Chemical blogspace and wrote these tools to work with the markup:]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/pubchemRDFa.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/pubchemRDFa.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Cb comments for InChI’s</title><link href="https://chem-bla-ics.linkedchemistry.info/2007/05/05/cb-comments-for-inchis.html" rel="alternate" type="text/html" title="Cb comments for InChI’s" /><published>2007-05-05T00:00:00+00:00</published><updated>2007-05-05T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2007/05/05/cb-comments-for-inchis</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2007/05/05/cb-comments-for-inchis.html"><![CDATA[<p>About a year ago <a href="http://pbeltrao.blogspot.com/2006/05/postgenomics-script-for-firefox-i-am.html">Pedro wrote a Greasemonkey script</a>
to add comments from <a href="http://www.postgenomic.com/">PostGenomic.com</a> to table of contents of scientific journals.
<a href="http://baoilleach.blogspot.com/2007/04/add-quotes-from-postgenomic-and.html">Noel extended</a> it with support for
<a href="http://wiki.cubic.uni-koeln.de/cb/">Chemical blogspace</a> (see also <a href="http://chemicalblogspace.blogspot.com/2007/03/jacs-toc-featuring-your-review.html">this earlier item</a>).
Now, the later website is maintained by me, and I
<a href="http://chemicalblogspace.blogspot.com/2006/12/hacking-inchi-support-into-cb.html">extended the aggregator software with molecule support</a>,
for example to show <em>hot</em> <a href="http://chemicalblogspace.blogspot.com/2007/02/latest-blogged-molecules-on-front-page.html">molecules on the frontpage</a>
(at some point <a href="http://www.ghastlyfop.com/blog/2007/05/quick-notices.html">my patches will be backported into mainstream</a>.
Euan, why not invite me to London HQ in, say, June?).</p>

<p>So, when we can show comments from blogosphere for journal articles, why can’t we do that for molecules too? Sure we can.
Just needs some hacking. Right, and done that today. The scripts works for <a href="http://pubchem.ncbi.nlm.nih.gov/">PubChem</a>:</p>

<p><img src="/assets/images/cb_inchi_greasemonkey1.png" alt="" /></p>

<p>Works for any <code class="language-plaintext highlighter-rouge">&lt;a href&gt;</code> element with an URL to PubChem like <em>http://www.ncbi.nlm.nih.gov/entrez/query.fcgi?CMD=search&amp;DB=pccompound&amp;term=%22InChI=1/CH4/h1H4%22[InChI]</em>.
BTW, while the URL is not very readable, this might actually be a good way to <a href="https://chem-bla-ics.linkedchemistry.info/2007/02/20/invisible-inchis.html">hide InChIs <i class="fa-solid fa-recycle fa-xs"></i></a>,
though I am sure Google will not index this InChI either.</p>

<p>And it also works for <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/10/including-smiles-cml-and-inchi-in.html">semantically marked up InChI’s (using either microformats or RDFa) <i class="fa-solid fa-recycle fa-xs"></i></a>:</p>

<p><img src="/assets/images/cb_inchi_greasemonkey.png" alt="" /></p>

<p>You’ll notice here that it is friendly with my
<a href="https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs.html">Sechemtic script to make links to Google and PubChem <i class="fa-solid fa-recycle fa-xs"></i></a>.</p>

<p>The tools to make this happen involves a new Greasemonkey script (based on Noels code), and a few patches to the Postgenomic.com software.
The user script can be downloaded <a href="http://userscripts.org/scripts/show/9002">here</a>. An entry on the
<a href="http://wiki.cubic.uni-koeln.de/bowiki/index.php/Using_Javascript_and_Greasemonkey_for_Chemistry">Blue Obelisk userscript page</a>
will follow; check that page for more goodies.</p>]]></content><author><name>Egon Willighagen</name></author><category term="cb" /><category term="inchi" /><category term="userscript" /><category term="rdf" /><summary type="html"><![CDATA[About a year ago Pedro wrote a Greasemonkey script to add comments from PostGenomic.com to table of contents of scientific journals. Noel extended it with support for Chemical blogspace (see also this earlier item). Now, the later website is maintained by me, and I extended the aggregator software with molecule support, for example to show hot molecules on the frontpage (at some point my patches will be backported into mainstream. Euan, why not invite me to London HQ in, say, June?).]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/cb_inchi_greasemonkey1.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/cb_inchi_greasemonkey1.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Chemistry in HTML: JavaScript from the server</title><link href="https://chem-bla-ics.linkedchemistry.info/2007/01/02/chemistry-in-html-javascript-from.html" rel="alternate" type="text/html" title="Chemistry in HTML: JavaScript from the server" /><published>2007-01-02T00:00:00+00:00</published><updated>2007-01-02T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2007/01/02/chemistry-in-html-javascript-from</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2007/01/02/chemistry-in-html-javascript-from.html"><![CDATA[<p>Recently I blogged about <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs.html">a Greasemonkey script <i class="fa-solid fa-recycle fa-xs"></i></a>
to take advantage of <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/10/including-smiles-cml-and-inchi-in.html">semantic markup of chemistry in blogs <i class="fa-solid fa-recycle fa-xs"></i></a>
(and HTML in general), and later made <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/19/chemistry-in-html-greasemonkey-again.html">some plans how this can be
extended <i class="fa-solid fa-recycle fa-xs"></i></a>.
One of the ideas was to make this userscript available from the server, instead
of having people need to install <a href="http://greasemonkey.mozdev.org/">Greasemonkey</a>
and the script separately. So, here it is.</p>

<h2 id="sechemticjs">sechemtic.js</h2>

<p>Consider this (X)HTML:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;html</span> <span class="na">xmlns=</span><span class="s">"http://www.w3.org/1999/xhtml"</span>
      <span class="na">xmlns:chem=</span><span class="s">"http://www.blueobelisk.org/chemistryblogs/"</span><span class="nt">&gt;</span>

<span class="nt">&lt;head&gt;</span>
 <span class="nt">&lt;title&gt;</span>m1<span class="nt">&lt;/title&gt;</span>
 <span class="nt">&lt;script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"sechemtic.js"</span> <span class="nt">/&gt;</span>
<span class="o">&lt;</span><span class="sr">/head</span><span class="err">&gt;
</span>
<span class="o">&lt;</span><span class="nx">body</span> <span class="nx">onload</span><span class="o">=</span><span class="dl">"</span><span class="s2">addGoogleAndPubChemLinks(1,1)</span><span class="dl">"</span><span class="o">&gt;</span>
  <span class="o">&lt;</span><span class="nx">h1</span><span class="o">&gt;</span><span class="nx">The</span> <span class="nx">Output</span><span class="o">&lt;</span><span class="sr">/h1</span><span class="err">&gt;
</span>  <span class="o">&lt;</span><span class="nx">p</span><span class="o">&gt;</span><span class="nx">This</span> <span class="nx">article</span> <span class="nx">is</span> <span class="nx">about</span> <span class="o">&lt;</span><span class="nx">span</span> <span class="kd">class</span><span class="o">=</span><span class="dl">"</span><span class="s2">chem:compound</span><span class="dl">"</span><span class="o">&gt;</span><span class="nx">m1</span><span class="o">&lt;</span><span class="sr">/span&gt;</span><span class="err"> 
</span>  <span class="p">(</span><span class="nx">SMILES</span><span class="p">:</span><span class="o">&lt;</span><span class="nx">span</span> <span class="kd">class</span><span class="o">=</span><span class="dl">"</span><span class="s2">chem:smiles</span><span class="dl">"</span><span class="o">&gt;</span><span class="nx">CCCOC</span><span class="o">&lt;</span><span class="sr">/span&gt;</span><span class="se">)</span><span class="sr">.&lt;/</span><span class="nx">p</span><span class="o">&gt;</span>

<span class="o">&lt;</span><span class="sr">/body</span><span class="err">&gt;
</span>
<span class="o">&lt;</span><span class="sr">/html</span><span class="err">&gt;
</span></code></pre></div></div>

<p><img src="/assets/images/sechemticJSOutput.png" alt="" /></p>

<p>I think the above example shows the simple setup of the Sechemtic Web script (please
forgive me my habit to use bad linguistic mashups ;). Just load the script in the
HTML <code class="language-plaintext highlighter-rouge">&lt;head&gt;</code>, and add in the <code class="language-plaintext highlighter-rouge">onload="addGoogleAndPubChemLinks(1,1)"</code> attribute to
the <code class="language-plaintext highlighter-rouge">&lt;body&gt;</code> element. With blogs these bits would be part of the template, and,
therefore, need to be installed once. From then on, just use the <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/10/including-smiles-cml-and-inchi-in.html">semantic markup as
explained earlier <i class="fa-solid fa-recycle fa-xs"></i></a>.
Both the microformat and the RDFa method are supported. In
case of the latter, I recommend to define the chem namespace in the template of
webpages too, instead of in the <code class="language-plaintext highlighter-rouge">&lt;span&gt;</code> elements.</p>

<p>Currently, the Sechemtic Web script only has one functionality: to add links to
<a href="http://pubchem.ncbi.nlm.nih.gov/">PubChem</a> and <a href="http://www.google.com/">Google</a>,
with the <code class="language-plaintext highlighter-rouge">addGoogleAndPubChemLinks(int, int)</code> method. The
first parameter determines (0 or 1) if links to Google should be made, and the
second parameter does the same for links to PubChem.</p>

<h2 id="download">Download</h2>

<p>For now, the script can be downloaded <a href="http://wiki.cubic.uni-koeln.de/cb/sechemtic.js">here</a>.
It is licensed with the GPL version 2.0.</p>

<h2 id="microformats">Microformats</h2>

<p>Here’s the same example using <a href="http://microformats.org/">microformats</a>
instead of RDFa:</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;html&gt;</span>

<span class="nt">&lt;head&gt;</span>
 <span class="nt">&lt;title&gt;</span>m1<span class="nt">&lt;/title&gt;</span>
 <span class="nt">&lt;script </span><span class="na">type=</span><span class="s">"text/javascript"</span> <span class="na">src=</span><span class="s">"sechemtic.js"</span> <span class="nt">/&gt;</span>
<span class="o">&lt;</span><span class="sr">/head</span><span class="err">&gt;
</span>
<span class="o">&lt;</span><span class="nx">body</span> <span class="nx">onload</span><span class="o">=</span><span class="dl">"</span><span class="s2">addGoogleAndPubChemLinks(1,1)</span><span class="dl">"</span><span class="o">&gt;</span>
  <span class="o">&lt;</span><span class="nx">h1</span><span class="o">&gt;</span><span class="nx">The</span> <span class="nx">Output</span><span class="o">&lt;</span><span class="sr">/h1</span><span class="err">&gt;
</span>  <span class="o">&lt;</span><span class="nx">p</span><span class="o">&gt;</span><span class="nx">This</span> <span class="nx">article</span> <span class="nx">is</span> <span class="nx">about</span> <span class="o">&lt;</span><span class="nx">span</span> <span class="kd">class</span><span class="o">=</span><span class="dl">"</span><span class="s2">compound</span><span class="dl">"</span><span class="o">&gt;</span><span class="nx">m1</span><span class="o">&lt;</span><span class="sr">/span&gt;</span><span class="err"> 
</span>  <span class="p">(</span><span class="nx">SMILES</span><span class="p">:</span><span class="o">&lt;</span><span class="nx">span</span> <span class="kd">class</span><span class="o">=</span><span class="dl">"</span><span class="s2">smiles</span><span class="dl">"</span><span class="o">&gt;</span><span class="nx">CCCOC</span><span class="o">&lt;</span><span class="sr">/span&gt;</span><span class="se">)</span><span class="sr">.&lt;/</span><span class="nx">p</span><span class="o">&gt;</span>

<span class="o">&lt;</span><span class="sr">/body</span><span class="err">&gt;
</span>
<span class="o">&lt;</span><span class="sr">/html</span><span class="err">&gt;
</span></code></pre></div></div>]]></content><author><name>Egon Willighagen</name></author><category term="html" /><category term="javascript" /><category term="userscript" /><summary type="html"><![CDATA[Recently I blogged about a Greasemonkey script to take advantage of semantic markup of chemistry in blogs (and HTML in general), and later made some plans how this can be extended . One of the ideas was to make this userscript available from the server, instead of having people need to install Greasemonkey and the script separately. So, here it is.]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/sechemticJSOutput.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/sechemticJSOutput.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry><entry><title type="html">Chemistry in HTML: Greasemonkey again</title><link href="https://chem-bla-ics.linkedchemistry.info/2006/12/19/chemistry-in-html-greasemonkey-again.html" rel="alternate" type="text/html" title="Chemistry in HTML: Greasemonkey again" /><published>2006-12-19T00:00:00+00:00</published><updated>2006-12-19T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2006/12/19/chemistry-in-html-greasemonkey-again</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2006/12/19/chemistry-in-html-greasemonkey-again.html"><![CDATA[<p>Here’s a quick update on my blog about <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs.html">SMILES, CAS and InChI in blogs: Greasemonkey <i class="fa-solid fa-recycle fa-xs"></i></a>
last sunday. The original download was messed up :( You can download a new version at <a href="http://userscripts.org/scripts/show/6807">userscripts.org</a>.</p>

<p>This new version also supports <code class="language-plaintext highlighter-rouge">chem:compound</code>, for any chemical. For example:</p>

<ul>
  <li><span class="chem:compound">isopropyl alcohol</span></li>
</ul>

<p>Remember that it only works for properly marked up content, as described in <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/10/including-smiles-cml-and-inchi-in.html">Including SMILES, CML and InChI in blogs <i class="fa-solid fa-recycle fa-xs"></i></a>.
The HTML source code of the above example looks like (in RDFa):</p>

<div class="language-html highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt">&lt;ul&gt;&lt;li&gt;</span>
<span class="nt">&lt;span</span> <span class="na">xmlns:chem=</span><span class="s">"http://www.blueobelisk.org/chemistryblogs/"</span>
      <span class="na">class=</span><span class="s">"chem:compound"</span><span class="nt">&gt;</span>isopropyl alcohol<span class="nt">&lt;/span&gt;</span>
<span class="nt">&lt;/li&gt;&lt;/ul&gt;</span>
</code></pre></div></div>

<p>The current script only adds search links to <a href="http://pubchem.ncbi.nlm.nih.gov/">PubChem</a> and
<a href="http://google.com/">Google</a>, but the possibilities are endless, and potentially very powerfull.
Here are some future ideas.</p>

<h2 id="a-link-to-predict-nmr-spectra-using-nmrshiftdborg">A link to predict NMR spectra using NMRShiftDB.org:</h2>

<p>Making a link to the <a href="http://www.nmrshiftdb.org/">NMRShiftDB.org</a> website to predict <sup>13</sup>C or
<sup>1</sup>H NMR from a SMILES, and InChI likely too, is easy, if the website provides a URL to do this.
(I will discuss this with Stefan.)</p>

<h2 id="a-popup-window-with-the-3d-structure-in-jmol">A popup window with the 3D structure in Jmol:</h2>

<p>This would involve some more work, but this most certainly possible too, given that we actually have
a website around which allows downloading 3D coordinates given a SMILES or InChI. While a simple approach
would be to make a popup with <a href="http://www.jmol.org/">Jmol</a> that takes the URL to that 3D coordinate website,
it could be extended using Ajax to query the 3D structure first, and depending on success, show
Jmol or a message “Could not find 3D coordinates”.</p>

<h2 id="summarize-molecular-details-hidden-in-cml">Summarize molecular details hidden in CML:</h2>

<p>This is likely the most exiting possibility. I blogged about CMLRSS <a href="http://search.blogger.com/?as_q=CMLRSS&amp;ie=UTF-8&amp;ui=blg&amp;bl_url=chem-bla-ics.blogspot.com&amp;x=0&amp;y=0">many times</a> <!-- keep link -->
now (check the AVI, the <a href="https://doi.org/10.1021/ci034244p">article</a>, etc), and combining these two
technologies will take the semantic, chemistry internet to the next level. CMLRSS describes how CML
can be embedded in blog items (e.g. <a href="https://chem-bla-ics.linkedchemistry.info/2006/02/18/blogging-chemistry-on-blogspotcom.html">Blogging chemistry on blogspot.com <i class="fa-solid fa-recycle fa-xs"></i></a>),
but really works for any <a href="http://www.w3.org/TR/xhtml1/">XHTML</a>.</p>

<p>Consider this mockup: add CML content to your blog item, containing molecular properties, such as its
NMR peaks, elemental analysis, etc. This will not show up in your blog item, so that the user is not
bothered with implementation details. Now, a userscript will now about the CML content, as it has access
to the whole content of the page. The visible text will mention the molecule for which CML contains
experimental or other details. Using the <code class="language-plaintext highlighter-rouge">&lt;span class="chem:compound"/&gt;</code> technology shown above, it is
possible to link that compound to this CML bit (details to follow in this blog in January 2007). The
userscript will then on the fly create a popup for the compound name in the visible text to show those
experimental details.</p>

<p>How about that? Comments and other ideas are more than welcome!</p>

<h2 id="server-side-scripts">Server side scripts:</h2>

<p>Greasemonkey allows users to decide which scripts to run on a website, and which not. If you, as blogger
or XHTML editor, want to force a script like the above to be run, that should be possible too.
Greasemonkey scripts are written in JavaScript, so including them on the server side should be
possible too. I might explore this option soon too.</p>]]></content><author><name>Egon Willighagen</name></author><category term="userscript" /><category term="html" /><category term="rdf" /><category term="doi:10.1021/CI034244P" /><category term="nmrshiftdb" /><summary type="html"><![CDATA[Here’s a quick update on my blog about SMILES, CAS and InChI in blogs: Greasemonkey last sunday. The original download was messed up :( You can download a new version at userscripts.org.]]></summary></entry><entry><title type="html">SMILES, CAS and InChI in blogs: Greasemonkey</title><link href="https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs.html" rel="alternate" type="text/html" title="SMILES, CAS and InChI in blogs: Greasemonkey" /><published>2006-12-17T00:00:00+00:00</published><updated>2006-12-17T00:00:00+00:00</updated><id>https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs</id><content type="html" xml:base="https://chem-bla-ics.linkedchemistry.info/2006/12/17/smiles-cas-and-inchi-in-blogs.html"><![CDATA[<p>As follow up on my <a href="https://chem-bla-ics.linkedchemistry.info/2006/12/10/including-smiles-cml-and-inchi-in.html">Including SMILES, CML and InChI in blogs <i class="fa-solid fa-recycle fa-xs"></i></a>
blog last week, I had a go at <a href="http://en.wikipedia.org/wiki/Greasemonkey">Greasemonkey</a>. Some time ago already,
<a href="http://www.ghastlyfop.com/blog/2006/09/postgenomic-pubmed-mashup.html">Flags and Lollipops</a> and
<a href="http://www.nodalpoint.org/2006/05/16/postgenomic_greasemonkey_script">Nodalpoint</a> showed with two cool mashups (one Connotea/Postgenomic
and one Pubmed/Postgenomic) that userscripts are rather useful in science too. I can very much recommend the PubMed/Postgenomic mashup,
as PubMed has several organic chemistry journals indexed too!</p>

<p>So, how does this relate to my blog of last week? Well, would it not be nice that if your blog uses the markup as suggested in that
<a href="https://chem-bla-ics.linkedchemistry.info/2006/12/10/including-smiles-cml-and-inchi-in.html">blog <i class="fa-solid fa-recycle fa-xs"></i></a>, that you automatically get links to
<a href="http://pubchem.ncbi.nlm.nih.gov/">PubChem</a> and <a href="http://google.com/">Google</a>? That is now possible with a small GPL-ed Greasemonkey script
called <a href="http://www.woc.science.ru.nl/devel/egonw/blogchemistry.user.js">blogchemistry.user.js</a>.</p>

<p>The <a href="http://greasemonkey.mozdev.org/">Greasemonkey plugin</a> requires <a href="http://getfirefox.com/">Firefox</a> to be installed. If ready, install
the script by cli·cking this link earlier, and the Greasemonkey will ask you if you want to install the script. After, check the output
for this RDFa markup content:</p>

<ul>
  <li>a SMILES: <span xmlns:chem="http://www.blueobelisk.org/chemistryblogs/" class="chem:smiles">CCO</span></li>
  <li>a CAS registry number: <span xmlns:chem="http://www.blueobelisk.org/chemistryblogs/" class="chem:casnumber">50-00-0</span></li>
  <li>and an InChI: <span xmlns:chem="http://www.blueobelisk.org/chemistryblogs/" class="chem:inchi">InChI=1/CH4/h1H4</span></li>
</ul>

<p>It should look like the output for this blog item:</p>

<p><img src="/assets/images/sechemticWebScript.png" alt="" /></p>

<p>Note the superscript PubChem and Google links.</p>]]></content><author><name>Egon Willighagen</name></author><category term="chemistry" /><category term="userscript" /><category term="smiles" /><category term="pubchem" /><category term="inchi" /><summary type="html"><![CDATA[As follow up on my Including SMILES, CML and InChI in blogs blog last week, I had a go at Greasemonkey. Some time ago already, Flags and Lollipops and Nodalpoint showed with two cool mashups (one Connotea/Postgenomic and one Pubmed/Postgenomic) that userscripts are rather useful in science too. I can very much recommend the PubMed/Postgenomic mashup, as PubMed has several organic chemistry journals indexed too!]]></summary><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://chem-bla-ics.linkedchemistry.info/assets/images/sechemticWebScript.png" /><media:content medium="image" url="https://chem-bla-ics.linkedchemistry.info/assets/images/sechemticWebScript.png" xmlns:media="http://search.yahoo.com/mrss/" /></entry></feed>