{
  "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/2008/06/01/finding-differences-between.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/e0rrq-d0863",
      "url": "https://chem-bla-ics.linkedchemistry.info/2008/06/01/finding-differences-between.html",
      "title": "Finding differences between IChemObjects",
      "content_html": "<p><a href=\"http://cdk.sf.net/\">CDK</a> <a href=\"http://cdk.svn.sourceforge.net/viewvc/cdk/cdk/trunk/\">trunk</a> is getting into shape, thanx to the many people\nwho contribute to this, and special thanx to Miguel for cleaning up his code related to charge, resonance, and ionization potential\ncalculations!</p>\n\n<p>At the moment, I am focusing at two issues:</p>\n\n<ol>\n  <li>QSAR descriptors that change the input (causing other descriptors to randomly fail)</li>\n  <li>Cloning of IChemObject (for which last week a rather serious bug was found)</li>\n</ol>\n\n<p>Until some days ago, the CDK had one main method to introspect <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/api/org/openscience/cdk/interfaces/IChemObject.html\">IChemObject</a>s:\ntheir <code class=\"language-plaintext highlighter-rouge\">toString()</code> results. However, finding the difference between <code class=\"language-plaintext highlighter-rouge\">IChemObjects</code> using this approach is not trivial, particularly if\nthere are several differences.</p>\n\n<p>So, I started a new module called diff. If two objects are identical, it returns a zero-length <code class=\"language-plaintext highlighter-rouge\">String</code>. If not, it lists the changes\nbetween the two classes, in a way much like that of the IChemObjects <code class=\"language-plaintext highlighter-rouge\">toString()</code> methods.</p>\n\n<p>For example, consider this bit of code:</p>\n\n<div class=\"language-java highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nc\">IChemObject</span> <span class=\"n\">atom1</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">ChemObject</span><span class=\"o\">();</span>\n<span class=\"nc\">IChemObject</span> <span class=\"n\">atom2</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">ChemObject</span><span class=\"o\">();</span>\n<span class=\"n\">atom2</span><span class=\"o\">.</span><span class=\"na\">setFlag</span><span class=\"o\">(</span><span class=\"nc\">CDKConstants</span><span class=\"o\">.</span><span class=\"na\">ISAROMATIC</span><span class=\"o\">,</span> <span class=\"kc\">true</span><span class=\"o\">);</span>\n<span class=\"nc\">String</span> <span class=\"n\">result</span> <span class=\"o\">=</span> <span class=\"nc\">ChemObjectDiff</span><span class=\"o\">.</span><span class=\"na\">diff</span><span class=\"o\">(</span> <span class=\"n\">atom1</span><span class=\"o\">,</span> <span class=\"n\">atom2</span> <span class=\"o\">);</span>\n</code></pre></div></div>\n\n<p>The result value then looks like:</p>\n\n<div class=\"language-plaintext highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code>ChemObjectDiff(, flag5:F/T)\n</code></pre></div></div>\n\n<p>Now, output will likely change a bit over time. But at least, I now have a easier to use approach for debugging and writing\nunit tests. Don’t be suprised to see <code class=\"language-plaintext highlighter-rouge\">test-*</code> modules start depending on the new <code class=\"language-plaintext highlighter-rouge\">diff</code> module.</p>",
      "summary": "CDK trunk is getting into shape, thanx to the many people who contribute to this, and special thanx to Miguel for cleaning up his code related to charge, resonance, and ionization potential calculations!",
      
      "date_published": "2008-06-01T00:00:00+00:00",
      "date_modified": "2008-06-01T00:00:00+00:00",
      "tags": ["cdk"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
