{
  "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/05/03/wicked-chemistry-and-unit-testing.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/fwsac-99191",
      "url": "https://chem-bla-ics.linkedchemistry.info/2008/05/03/wicked-chemistry-and-unit-testing.html",
      "title": "Wicked chemistry and unit testing",
      "content_html": "<p>After a discussion on starting development releases for <a href=\"http://cdk.sf.net/\">CDK</a> on <a href=\"https://lists.sourceforge.net/lists/listinfo/cdk-devel\">cdk-devel</a>,\nthe discussion continued on the state of the <a href=\"https://chem-bla-ics.linkedchemistry.info/2007/07/01/atom-typing-in-cdk.html\">CDK atom typer <i class=\"fa-solid fa-recycle fa-xs\"></i></a>.\n<a href=\"http://dtp.nci.nih.gov/branches/itb/itb_index.html\">Dan</a> and <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/\">Rajarshi</a>\nhave done tests in the past against <a href=\"http://pubchem.ncbi.nlm.nih.gov/\">PubChem</a> and its DTP/NCI subset. Rajarshi made his\nanalysis part of <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/\">CDK Nightly</a>,\nand provides but <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/\">a summary</a>\n(which seems broken: zero fails) and a <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/tmp/dtp-atype-report.txt\">detailed list</a>.</p>\n\n<p>Dan, do I understand correctly that those <em>Structure Evaluation:No Comparision - Unparameterized Atom - S.</em> lines in the\n<strong>Depositor-Supplied Comments</strong> section on PubChem are based on CDK trunk? That would be a great honor! Anyways…</p>\n\n<p>The amount of atom types we use to describe the chemistry we observe is overwhelming (even without charged or radical atoms).\nAnd, most atom type lists are quite limited in what they represent. However, having an explicit list allows the computer to\ndecide if it can do reasonable calculations on a structure. <strong>Always filter your data to screen for unrecognized atom types,\nbefore heading of to, for example, QSAR calculations!</strong></p>\n\n<p>Now, many fails are because of the incomplete CDK atom type list (e.g. Au in <a href=\"http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?sid=413374\">SID:413374</a>),\nor because the atom typer code has a bug (e.g. <a href=\"http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?sid=403517\">SID:403517</a>).\nAnd these screenings against PubChem provide a nice priority list. However, others are either because the used SDF format\ncannot represent the chemistry (e.g. <a href=\"http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?sid=420394\">SID:420394</a>), or the\nentry is a plain wrong (e.g. <a href=\"http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?sid=301178\">SID:301178</a>). The latter\ntwo types of fails, I am annotating using <a href=\"http://del.icio.us/egonw/pubchem+check-valency\">del.icio.us/egonw/pubchem+check-valency</a>\nfor others to comment on (just tag the same page using <a href=\"http://del.icio.us/\">del.ici.us</a>, and I’ll see the comments show up.</p>\n\n<h2 id=\"unit-testing\">Unit testing</h2>\n\n<p>For the first two types of fails, basically three things need to be done:</p>\n\n<ul>\n  <li>add the atom type to <a href=\"http://cdk.svn.sourceforge.net/viewvc/*checkout*/cdk/cdk/trunk/src/main/org/openscience/cdk/config/data/cdk_atomtypes.xml?content-type=text%2Fxml\">the ontology</a></li>\n  <li>write a unit test for <a href=\"http://cdk.svn.sourceforge.net/viewvc/cdk/cdk/trunk/src/test/org/openscience/cdk/atomtype/CDKAtomTypeMatcherTest.java?view=log\">CDKAtomTypeMatcherTest</a></li>\n  <li>add perception code to <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/api/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.html\">CDKAtomTypeMatcher</a></li>\n</ul>\n\n<p>Because we cannot use <a href=\"http://www.opensmiles.org/\">SMILES</a> or file readers for writing these tests (than we can confounding\nof error sources), we have to hard code the chemical structure, which may be a bit cumbersome.</p>\n\n<p>Unless you use the <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/api/org/openscience/cdk/io/CDKSourceCodeWriter.html\">CDKSourceCodeWriter</a>!\nThis <a href=\"http://cheminfo.informatics.indiana.edu/~rguha/code/java/nightly/api/org/openscience/cdk/io/IChemObjectWriter.html\">IChemObjectWriter</a>\ncreates CDK source code, staring with a IMolecule. Now, because our bug reports are derived from fails against the PubChem\nscreening, we can simply use this <a href=\"http://www.beanshell.org/\">BeanShell</a> code to download a structure from\nPubChem and convert it to CDK source code:</p>\n\n<div class=\"language-java highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"err\">#</span><span class=\"o\">!/</span><span class=\"n\">usr</span><span class=\"o\">/</span><span class=\"n\">bin</span><span class=\"o\">/</span><span class=\"n\">bsh</span>\n\n<span class=\"kn\">import</span> <span class=\"nn\">org.openscience.cdk.Molecule</span><span class=\"o\">;</span>\n<span class=\"kn\">import</span> <span class=\"nn\">org.openscience.cdk.io.MDLV2000Reader</span><span class=\"o\">;</span>\n<span class=\"kn\">import</span> <span class=\"nn\">org.openscience.cdk.io.CDKSourceCodeWriter</span><span class=\"o\">;</span>\n\n<span class=\"k\">if</span> <span class=\"o\">(</span><span class=\"n\">bsh</span><span class=\"o\">.</span><span class=\"na\">args</span><span class=\"o\">.</span><span class=\"na\">length</span> <span class=\"o\">==</span> <span class=\"mi\">0</span> <span class=\"o\">||</span> <span class=\"n\">bsh</span><span class=\"o\">.</span><span class=\"na\">args</span><span class=\"o\">[</span><span class=\"mi\">0</span><span class=\"o\">]</span> <span class=\"o\">==</span> <span class=\"kc\">null</span><span class=\"o\">)</span> <span class=\"o\">{</span>\n  <span class=\"nc\">System</span><span class=\"o\">.</span><span class=\"na\">out</span><span class=\"o\">.</span><span class=\"na\">println</span><span class=\"o\">(</span><span class=\"s\">\"Syntax: pubchem2unittest.bsh [CID]\\n\"</span><span class=\"o\">);</span>\n  <span class=\"nc\">System</span><span class=\"o\">.</span><span class=\"na\">exit</span><span class=\"o\">(</span><span class=\"mi\">0</span><span class=\"o\">);</span>\n<span class=\"o\">}</span>\n\n<span class=\"nc\">String</span> <span class=\"n\">cid</span> <span class=\"o\">=</span> <span class=\"n\">bsh</span><span class=\"o\">.</span><span class=\"na\">args</span><span class=\"o\">[</span><span class=\"mi\">0</span><span class=\"o\">];</span>\n<span class=\"nc\">String</span> <span class=\"n\">urlString</span> <span class=\"o\">=</span> <span class=\"s\">\"http://pubchem.ncbi.nlm.nih.gov/summary/summary.cgi?disopt=SaveSDF&amp;cid=\"</span> <span class=\"o\">+</span> <span class=\"n\">cid</span><span class=\"o\">;</span>\n\n<span class=\"no\">URL</span> <span class=\"n\">url</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"no\">URL</span><span class=\"o\">(</span><span class=\"n\">urlString</span><span class=\"o\">);</span>\n\n<span class=\"nc\">MDLV2000Reader</span> <span class=\"n\">reader</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">MDLV2000Reader</span><span class=\"o\">(</span><span class=\"n\">url</span><span class=\"o\">.</span><span class=\"na\">openStream</span><span class=\"o\">());</span>\n<span class=\"nc\">Molecule</span> <span class=\"n\">mol</span> <span class=\"o\">=</span> <span class=\"n\">reader</span><span class=\"o\">.</span><span class=\"na\">read</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Molecule</span><span class=\"o\">());</span>\n\n<span class=\"nc\">StringWriter</span> <span class=\"n\">stringWriter</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">StringWriter</span><span class=\"o\">();</span>\n<span class=\"nc\">CDKSourceCodeWriter</span> <span class=\"n\">writer</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">CDKSourceCodeWriter</span><span class=\"o\">(</span><span class=\"n\">stringWriter</span><span class=\"o\">);</span>\n<span class=\"n\">writer</span><span class=\"o\">.</span><span class=\"na\">write</span><span class=\"o\">(</span><span class=\"n\">mol</span><span class=\"o\">);</span>\n<span class=\"n\">writer</span><span class=\"o\">.</span><span class=\"na\">close</span><span class=\"o\">();</span>\n\n<span class=\"nc\">System</span><span class=\"o\">.</span><span class=\"na\">out</span><span class=\"o\">.</span><span class=\"na\">print</span><span class=\"o\">(</span><span class=\"n\">stringWriter</span><span class=\"o\">.</span><span class=\"na\">toString</span><span class=\"o\">());</span>\n</code></pre></div></div>\n\n<p>For example, I am currently debugging a sulphur atom type perception problem, for which the simplest\nsubstructure looks like (<a href=\"https://chem-bla-ics.linkedchemistry.info/2008/05/03/wicked-chemistry-and-unit-testing.html\">sid=12279910 <i class=\"fa-solid fa-recycle fa-xs\"></i></a>,\n<code class=\"language-plaintext highlighter-rouge\">InChI=1/C2H7NS/c1-4(2)3/h3H,1-2H3)</code>:</p>\n\n<p><img src=\"/assets/images/sid12279910.png\" alt=\"\" /></p>\n\n<p>I can convert this PubChem entry to CDK source code with:</p>\n\n<div class=\"language-shell highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nv\">$ </span>bsh <span class=\"nt\">-classpath</span> dist/jar/cdk-svn-20080221.jar tools/pubchem2unittest.bsh 12279910\n</code></pre></div></div>\n\n<p>Resulting in this output which I can copy/paste into my unit test:</p>\n\n<div class=\"language-java highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nc\">IMolecule</span> <span class=\"n\">mol</span> <span class=\"o\">=</span> <span class=\"k\">new</span> <span class=\"nc\">Molecule</span><span class=\"o\">();</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a1</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"S\"</span><span class=\"o\">);</span>\n<span class=\"n\">a1</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">2.866</span><span class=\"o\">,</span> <span class=\"mf\">0.25</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a1</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a2</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"N\"</span><span class=\"o\">);</span>\n<span class=\"n\">a2</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">3.7321</span><span class=\"o\">,</span> <span class=\"mf\">0.75</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a2</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a3</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"C\"</span><span class=\"o\">);</span>\n<span class=\"n\">a3</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">2.0</span><span class=\"o\">,</span> <span class=\"mf\">0.75</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a3</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a4</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"C\"</span><span class=\"o\">);</span>\n<span class=\"n\">a4</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">2.866</span><span class=\"o\">,</span> <span class=\"o\">-</span><span class=\"mf\">0.75</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a4</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a5</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"H\"</span><span class=\"o\">);</span>\n<span class=\"n\">a5</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">2.31</span><span class=\"o\">,</span> <span class=\"mf\">1.2869</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a5</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a6</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"H\"</span><span class=\"o\">);</span>\n<span class=\"n\">a6</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">1.4631</span><span class=\"o\">,</span> <span class=\"mf\">1.06</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a6</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a7</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"H\"</span><span class=\"o\">);</span>\n<span class=\"n\">a7</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">1.69</span><span class=\"o\">,</span> <span class=\"mf\">0.2131</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a7</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a8</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"H\"</span><span class=\"o\">);</span>\n<span class=\"n\">a8</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">2.246</span><span class=\"o\">,</span> <span class=\"o\">-</span><span class=\"mf\">0.75</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a8</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a9</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"H\"</span><span class=\"o\">);</span>\n<span class=\"n\">a9</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">2.866</span><span class=\"o\">,</span> <span class=\"o\">-</span><span class=\"mf\">1.37</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a9</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a10</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"H\"</span><span class=\"o\">);</span>\n<span class=\"n\">a10</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">3.486</span><span class=\"o\">,</span> <span class=\"o\">-</span><span class=\"mf\">0.75</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a10</span><span class=\"o\">);</span>\n<span class=\"nc\">IAtom</span> <span class=\"n\">a11</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newAtom</span><span class=\"o\">(</span><span class=\"s\">\"H\"</span><span class=\"o\">);</span>\n<span class=\"n\">a11</span><span class=\"o\">.</span><span class=\"na\">setPoint2d</span><span class=\"o\">(</span><span class=\"k\">new</span> <span class=\"nc\">Point2d</span><span class=\"o\">(</span><span class=\"mf\">4.269</span><span class=\"o\">,</span> <span class=\"mf\">0.44</span><span class=\"o\">));</span>  <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addAtom</span><span class=\"o\">(</span><span class=\"n\">a11</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b1</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a1</span><span class=\"o\">,</span> <span class=\"n\">a2</span><span class=\"o\">,</span> <span class=\"no\">DOUBLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b1</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b2</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a1</span><span class=\"o\">,</span> <span class=\"n\">a3</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b2</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b3</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a1</span><span class=\"o\">,</span> <span class=\"n\">a4</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b3</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b4</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a2</span><span class=\"o\">,</span> <span class=\"n\">a11</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b4</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b5</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a3</span><span class=\"o\">,</span> <span class=\"n\">a5</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b5</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b6</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a3</span><span class=\"o\">,</span> <span class=\"n\">a6</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b6</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b7</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a3</span><span class=\"o\">,</span> <span class=\"n\">a7</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b7</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b8</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a4</span><span class=\"o\">,</span> <span class=\"n\">a8</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b8</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b9</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a4</span><span class=\"o\">,</span> <span class=\"n\">a9</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b9</span><span class=\"o\">);</span>\n<span class=\"nc\">IBond</span> <span class=\"n\">b10</span> <span class=\"o\">=</span> <span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">getBuilder</span><span class=\"o\">().</span><span class=\"na\">newBond</span><span class=\"o\">(</span><span class=\"n\">a4</span><span class=\"o\">,</span> <span class=\"n\">a10</span><span class=\"o\">,</span> <span class=\"no\">SINGLE</span><span class=\"o\">);</span>\n<span class=\"n\">mol</span><span class=\"o\">.</span><span class=\"na\">addBond</span><span class=\"o\">(</span><span class=\"n\">b10</span><span class=\"o\">);</span>\n</code></pre></div></div>",
      "summary": "After a discussion on starting development releases for CDK on cdk-devel, the discussion continued on the state of the CDK atom typer . Dan and Rajarshi have done tests in the past against PubChem and its DTP/NCI subset. Rajarshi made his analysis part of CDK Nightly, and provides but a summary (which seems broken: zero fails) and a detailed list.",
      "image": "https://chem-bla-ics.linkedchemistry.info/assets/images/sid12279910.png",
      "date_published": "2008-05-03T00:00:00+00:00",
      "date_modified": "2025-10-11T00:00:00+00:00",
      "tags": ["cdk","pubchem"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
