{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "chem-bla-ics",
  "description": "Chemblaics (pronounced chem-bla-ics) is the science that uses open science and computers to solve problems in chemistry, biochemistry and related fields.",
  "home_page_url": "https://chem-bla-ics.linkedchemistry.info/",
  "feed_url": "https://chem-bla-ics.linkedchemistry.info/2010/11/18/oscar4-command-line-utilities.json",
  "icon": "https://chem-bla-ics.linkedchemistry.info/assets/images/chem-bla-ics_logo.png",
  "language": "en",
  "authors": [
    {
      "name": "Egon Willighagen",
      "url": "https://orcid.org/0000-0001-7542-0286",
      "_orcid": "0000-0001-7542-0286"
    }
  ],
  "items": [

    {
      "id": "https://doi.org/10.59350/jsfck-t351",
      "url": "https://chem-bla-ics.linkedchemistry.info/2010/11/18/oscar4-command-line-utilities.html",
      "title": "Oscar4 command line utilities",
      "content_html": "<p>One goal of my three month project is to take Oscar4 to the community. We want to get it used more, and we need\na larger development community. Oscar4 and the related technologies do a good, sometimes excellent, job, but\nhave to be maintained, just like any other piece of code. To make using it easier, we are developing new APIs,\nas well as two user-oriented applications: <a href=\"https://chem-bla-ics.linkedchemistry.info/2010/10/21/oscar-text-mining-in-taverna.html\">a Taverna 2 plugin <i class=\"fa-solid fa-recycle fa-xs\"></i></a>,\nand command line utilities. The <a href=\"https://chem-bla-ics.linkedchemistry.info/2010/10/28/oscar4-java-api-chemical-name.html\">Oscar4 Java API <i class=\"fa-solid fa-recycle fa-xs\"></i></a>\nhas slightly evolved in the last three weeks, removing some complexity. In this post, I will introduce the command\nline utilities.</p>\n\n<h2 id=\"oscar4\">Oscar4</h2>\n\n<p>Most people will be mostly interested into the full Oscar4 program, to extract chemical entities. Oscar3 was\nalso capable of extracting data (like <a href=\"https://chem-bla-ics.linkedchemistry.info/2006/09/08/chemical-archeology-oscar3-to.html\">NMR spectra <i class=\"fa-solid fa-recycle fa-xs\"></i></a>),\nbut that is not yet being ported. The OscarCLI program takes input, extracts chemicals, and where possible resolves\nthem into connection tables (viz. InChI).</p>\n\n<p>To extract chemicals from a line of text (e.g. <em>“This is propane.”</em>, you do:</p>\n\n<div class=\"language-shell highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nv\">$ </span>java <span class=\"nt\">-cp</span> oscar4-cli-4.0-SNAPSHOT.jar <span class=\"se\">\\</span>\n  uk.ac.cam.ch.wwmm.oscar.oscarcli.OscarCLI <span class=\"se\">\\</span>\n  This is propane.\npropane: <span class=\"nv\">InChI</span><span class=\"o\">=</span>1/C3H8/c1-3-2/h3H2,1-2H3\n</code></pre></div></div>\n\n<p>For larger chunks of texts it is easier to route it via <a href=\"http://en.wikipedia.org/wiki/Standard_streams\">stdin</a>,\nfor which we can use the <code class=\"language-plaintext highlighter-rouge\">-stdin</code> option:</p>\n\n<div class=\"language-shell highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nv\">$ </span><span class=\"nb\">echo</span> <span class=\"s2\">\"This is propane.\"</span> | <span class=\"se\">\\</span>\n  java <span class=\"nt\">-cp</span> oscar4-cli-4.0-SNAPSHOT.jar <span class=\"se\">\\</span>\n  uk.ac.cam.ch.wwmm.oscar.oscarcli.OscarCLI <span class=\"se\">\\</span>\n  <span class=\"nt\">-stdin</span>\npropane: <span class=\"nv\">InChI</span><span class=\"o\">=</span>1/C3H8/c1-3-2/h3H2,1-2H3\n</code></pre></div></div>\n\n<p>That way, we can easily process large plain text files (output omitted):</p>\n\n<div class=\"language-shell highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nv\">$ </span><span class=\"nb\">cat </span>largeFile.txt | <span class=\"se\">\\</span>\n  java <span class=\"nt\">-cp</span> oscar4-cli-4.0-SNAPSHOT.jar <span class=\"se\">\\</span>\n  uk.ac.cam.ch.wwmm.oscar.oscarcli.OscarCLI <span class=\"se\">\\</span>\n  <span class=\"nt\">-stdin</span>\n</code></pre></div></div>\n\n<p>If you prefer RDF output, for further integration, use the <code class=\"language-plaintext highlighter-rouge\">-output text/turtle</code>:</p>\n\n<div class=\"language-shell highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nv\">$ </span><span class=\"nb\">cat </span>largeFile.txt | <span class=\"se\">\\</span>\n  java <span class=\"nt\">-cp</span> oscar4-cli-4.0-SNAPSHOT.jar <span class=\"se\">\\</span>\n  uk.ac.cam.ch.wwmm.oscar.oscarcli.OscarCLI <span class=\"se\">\\</span>\n  <span class=\"nt\">-stdin</span> <span class=\"nt\">-output</span> text/turtle\n</code></pre></div></div>\n\n<p>This returns RDF using the <a href=\"http://code.google.com/p/semanticchemistry/\">CHEMINF</a> ontology like:</p>\n\n<div class=\"language-turtle highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"kd\">@prefix</span><span class=\"w\"> </span><span class=\"nn\">dc:</span><span class=\"w\">  </span><span class=\"p\">.</span><span class=\"w\">\n</span><span class=\"kd\">@prefix</span><span class=\"w\"> </span><span class=\"nn\">rdfs:</span><span class=\"w\">  </span><span class=\"p\">.</span><span class=\"w\">\n</span><span class=\"kd\">@prefix</span><span class=\"w\"> </span><span class=\"nn\">ex:</span><span class=\"w\">  </span><span class=\"p\">.</span><span class=\"w\">\n</span><span class=\"kd\">@prefix</span><span class=\"w\"> </span><span class=\"nn\">cheminf:</span><span class=\"w\">  </span><span class=\"p\">.</span><span class=\"w\">\n</span><span class=\"kd\">@prefix</span><span class=\"w\"> </span><span class=\"nn\">sio:</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n\n</span><span class=\"nn\">ex:</span><span class=\"n\">entity0\n</span><span class=\"w\">  </span><span class=\"nn\">rdfs:</span><span class=\"n\">subClassOf</span><span class=\"w\"> </span><span class=\"nn\">cheminf:</span><span class=\"n\">CHEMINF_000000</span><span class=\"w\"> </span><span class=\"p\">;</span><span class=\"w\">\n  </span><span class=\"nn\">dc:</span><span class=\"n\">label</span><span class=\"w\"> </span><span class=\"s\">\"propane\"</span><span class=\"w\"> </span><span class=\"p\">;</span><span class=\"w\">\n  </span><span class=\"nn\">cheminf:</span><span class=\"n\">CHEMINF_000200</span><span class=\"w\"> </span><span class=\"p\">[</span><span class=\"w\">\n    </span><span class=\"k\">a</span><span class=\"w\"> </span><span class=\"nn\">cheminf:</span><span class=\"n\">CHEMINF_000113</span><span class=\"w\"> </span><span class=\"p\">;</span><span class=\"w\">\n    </span><span class=\"nn\">sio:</span><span class=\"n\">SIO_000300</span><span class=\"w\"> </span><span class=\"s\">\"InChI=1/C3H8/c1-3-2/h3H2,1-2H3\"</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n  </span><span class=\"p\">]</span><span class=\"w\"> </span><span class=\"p\">.</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>We can, however, also use <a href=\"http://jericho.htmlparser.net/docs/index.html\">Jericho</a> to extract text from HTML pages, made\navailable with the <code class=\"language-plaintext highlighter-rouge\">-html</code> option, and pulling in a <a href=\"http://www.beilstein-journals.org/bjoc/\">Beilstein Journal of Organic Chemistry</a>\npaper with <a href=\"http://en.wikipedia.org/wiki/Wget\">wget</a>:</p>\n\n<div class=\"language-shell highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nv\">$ </span>wget <span class=\"nt\">-qO-</span> https://doi.org/10.3762/bjoc.6.122 | <span class=\"se\">\\</span>\n  java <span class=\"nt\">-cp</span> oscar4-cli-4.0-SNAPSHOT.jar <span class=\"se\">\\</span>\n  uk.ac.cam.ch.wwmm.oscar.oscarcli.OscarCLI <span class=\"se\">\\</span>\n  <span class=\"nt\">-stdin</span> <span class=\"nt\">-html</span>\n</code></pre></div></div>\n\n<p>This will return 271 chemical entities recognized in the text, matching 48 unique chemical structures.</p>",
      "summary": "One goal of my three month project is to take Oscar4 to the community. We want to get it used more, and we need a larger development community. Oscar4 and the related technologies do a good, sometimes excellent, job, but have to be maintained, just like any other piece of code. To make using it easier, we are developing new APIs, as well as two user-oriented applications: a Taverna 2 plugin , and command line utilities. The Oscar4 Java API has slightly evolved in the last three weeks, removing some complexity. In this post, I will introduce the command line utilities.",
      
      "date_published": "2010-11-18T00:00:00+00:00",
      "date_modified": "2025-03-05T00:00:00+00:00",
      "tags": ["oscar","textmining","beilstein"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
