{
  "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/06/20/qspr-modeling-with-signatures.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/8d6w8-avm05",
      "url": "https://chem-bla-ics.linkedchemistry.info/2010/06/20/qspr-modeling-with-signatures.html",
      "title": "QSPR modeling with signatures",
      "content_html": "<p>I had to dig deep to find posts on QSAR modeling. There are quite a few on <a href=\"http://chem-bla-ics.blogspot.com/search?q=qsar+bioclipse\">QSAR in Bioclipse</a>,\nbut that focuses on the descriptor calculation. In a quick scan, I could only spot two modeling posts:</p>\n\n<ul>\n  <li><a href=\"https://chem-bla-ics.linkedchemistry.info/2008/04/07/cdkmetabolomicschemometrics.html\">The CDK/Metabolomics/Chemometrics Unconference results <i class=\"fa-solid fa-recycle fa-xs\"></i></a></li>\n  <li><a href=\"https://chem-bla-ics.linkedchemistry.info/2005/11/08/when-to-stop-including-qsar-model.html\">When to stop including QSAR model variables… <i class=\"fa-solid fa-recycle fa-xs\"></i></a></li>\n</ul>\n\n<p>Given the prominent place <a href=\"https://chem-bla-ics.linkedchemistry.info/2008/03/01/todo-april-2nd-defend-my-phd-work.html\">QSAR has in my thesis <i class=\"fa-solid fa-recycle fa-xs\"></i></a>,\nthis is somewhat surprising. Anyway, here is some more QSAR modeling talk.</p>\n\n<p><a href=\"http://gilleain.blogspot.com/\">Gilleain</a> <a href=\"http://www.blogger.com/github.com/gilleain/signatures\">implemented</a> the signature descriptors developed by Faulon et al.\n(see doi:<a href=\"https://doi.org/10.1021/ci020345w\">10.1021/ci020345w</a>; I <a href=\"http://chem-bla-ics.blogspot.com/2006/02/novel-qsar-and-qspr-descriptors_24.html\">mentioned the paper in 2006</a>),\nand the <a href=\"http://sourceforge.net/tracker/?func=detail&amp;aid=3017759&amp;group_id=20024&amp;atid=320024\">CDK patch</a> is currently being reviewed.\nWith some transformations, the atomic signatures for a molecule can be transformed into a fixed-length numerical representation:\n<code class=\"language-plaintext highlighter-rouge\">[70:1, 54:1, 23:1, 22:1, 9:9, 45:2]</code>. This string means that atomic signature 70 occurs once in this molecule and signature 9 occurs\nnine times. At this moment, I am not yet concerned about the actual signature, but just checking how well these signature can be used\nin QSPR modeling.</p>\n\n<p><a href=\"http://blog.rguha.net/\">Rajarshi</a>’s <a href=\"http://cran.r-project.org/web/packages/fingerprint/index.html\">fingerprint</a> code provides a good\ntemplate to parse this into a X matrix in <a href=\"http://www.r-project.org/\">R</a>:</p>\n\n<p>For my test case, I have used the boiling point data I used in my thesis paper <em>On the Use of 1H and 13C 1D NMR Spectra as QSPR Descriptors</em>\n(see doi:<a href=\"https://doi.org/10.1021/ci050282s\">10.1021/ci050282s</a>). Some of this data is actually <a href=\"http://www.chemspider.com/blog/gathering-physicochemical-data-onto-chemspider.html\">available from ChemSpider</a>,\nbut I do not think I ever uploaded the boiling point data. This constitutes a data set with 277 molecules, and my paper provides\nsome reference model quality statistics; that way, I have something to compare against. Moreover, I can use my previous scripts\nto do the PLS modeling (there are many <a href=\"http://www.google.se/search?q=tutorial+partial+least+squares\">tutorials online</a>, but you\ncan always buy an expensive book like the one shown on the right, if you really have to), (10-fold) cross-validation (CV), and\n5 repeats of random sampling.</p>\n\n<p>I strongly suggest people interested in statistical modeling to read this\n<a href=\"http://baoilleach.blogspot.com/2010/06/non-random-method-to-improve-your-qsar.html\">interesting post from Noel</a>: whatever test\nset sampling method you use, you <strong><em>must</em></strong> do some repeats to learn about the sensitivity of your modeling approach to changes\nin the data set. Depending on the actual sampling approach, you might see different sizes of variance, but until you measure it,\nyou will not know. For my application, these are the numbers:</p>\n\n<div class=\"language-R highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"c1\"># source(\"pls.R\")</span><span class=\"w\">\n</span><span class=\"n\">Read</span><span class=\"w\"> </span><span class=\"m\">277</span><span class=\"w\"> </span><span class=\"n\">items</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">66</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.987</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.921</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">31.37</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">66</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.983</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.924</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">12.405</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">65</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.985</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.949</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">38.503</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">63</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.983</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.948</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">36.981</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">65</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.986</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.923</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">21.49</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">64</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.983</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.91</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">17.759</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">64</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.983</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.921</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">17.062</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">66</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.986</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.94</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">40.311</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">66</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.982</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.927</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">13</span><span class=\"w\">\n   </span><span class=\"n\">rank</span><span class=\"o\">=</span><span class=\"m\">68</span><span class=\"w\">     </span><span class=\"n\">LV</span><span class=\"o\">=</span><span class=\"m\">42</span><span class=\"w\">     </span><span class=\"n\">R2</span><span class=\"o\">=</span><span class=\"m\">0.986</span><span class=\"w\">     </span><span class=\"n\">Q2</span><span class=\"o\">=</span><span class=\"m\">0.929</span><span class=\"w\">  </span><span class=\"n\">RMSEP</span><span class=\"o\">=</span><span class=\"m\">16.23</span><span class=\"w\">\n</span></code></pre></div></div>\n\n<p>I know 42 is the answer to the universe, but 42 latent variables (LVs)?!? Well, it’s just a start. A more accurate number of LVs\nseems to be around 15, but my script had to make the transition from the old pls.pcr package to the newer pls package. And I have\nyet to discover how I can get the new package to return me the lowest number of LVs for which the CV statistic is no longer\nsignificantly different from the best (see my paper how that works). Actually, I have set the maximum LVs to consider to 1/5th of\nthe number of objects (which is about the accepted ratio in the QSAR community); otherwise, it would have happily increased.</p>\n\n<p>However, the five repeats nicely show the variance in the quality statistics, R², Q², and root mean square error of prediction\n(RMSEP). From the numbers, a model with Q² = 0.94 is <strong>not</strong> better than one with Q² = 0.93 (and I have seen the variance quite some\nlarger). Bottom line: just measure that variability, and put it in the publication, will you??</p>\n\n<p>Anyway, what we all have been waiting for: the prediction results visualized (in black the CV predictions; in red the test set\npredictions):</p>\n\n<p><img src=\"/assets/images/signaturePrediction.png\" alt=\"\" /></p>\n\n<p>Well, there is still much work to do, and you can expect the result to get better. Part of statistical modeling is to find\nthe source of variance, and I have yet to explore a few of them. For example, what are the effects of:</p>\n\n<ul>\n  <li>creating signature from the hydrogen-depleted graph</li>\n  <li>effect of tautomerism (see <a href=\"http://www.springerlink.com/content/l3p3t7066645/?p=bff6cd9b91bd40c59aa0d7afe11cf78a&amp;pi=0\">this special issue</a>)</li>\n  <li>effect of the height of the signature</li>\n</ul>\n\n<p>And there are so many other things I like to do. But this will do for now.</p>\n\n<h4>References</h4>\n<div class=\"csl-bib-body\">\n    <div class=\"csl-entry\">Faulon, J.-L., Visco, D. P., &#38; Pophale, R. S. (2003). The Signature Molecular Descriptor. 1. Using Extended Valence Sequences in QSAR and QSPR Studies. <i>Journal of Chemical Information and Computer Sciences</i>, <i>43</i>(3), 707–720. https://doi.org/10.1021/ci020345w <a href=\"https://doi.org/10.1021/ci020345w\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.1021/ci020345w\">Scholia</a></div>\n    <div class=\"csl-entry\">Willighagen, E. L., Denissen, H. M. G. W., Wehrens, R., &#38; Buydens, L. M. C. (2006). On the Use of <sup>1</sup>H and <sup>13</sup>C 1D NMR Spectra as QSPR Descriptors. <i>Journal of Chemical Information and Modeling</i>, <i>46</i>(2), 487–494. https://doi.org/10.1021/ci050282s <a href=\"https://doi.org/10.1021/ci050282s\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.1021/ci050282s\">Scholia</a></div>\n  </div>",
      "summary": "I had to dig deep to find posts on QSAR modeling. There are quite a few on QSAR in Bioclipse, but that focuses on the descriptor calculation. In a quick scan, I could only spot two modeling posts:",
      "image": "https://chem-bla-ics.linkedchemistry.info/assets/images/signaturePrediction.png",
      "date_published": "2010-06-20T00:00:00+00:00",
      "date_modified": "2026-09-27T00:00:00+00:00",
      "tags": ["cdk","chemometrics"],
      "_references": [
        
          
          
            { "url": "https://doi.org/10.1021/ci020345w", "doi": "10.1021/ci020345w"
             }
            ,
          
        
          
          
            { "url": "https://doi.org/10.1021/ci050282s", "doi": "10.1021/ci050282s"
             }
            
          
        ],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
