{
  "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/2026/11/01/creating-preferred-iupac-names.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/v7f5q-e2t67",
      "url": "https://chem-bla-ics.linkedchemistry.info/2026/11/01/creating-preferred-iupac-names.html",
      "title": "Creating Preferred IUPAC names",
      "content_html": "<p>Language models model languages. The simpler the language, the simpler the model. Large language models (LLMs)\ndo more: they do not merely capture a language, but also model what you can say with them. And you can\nmap one model to another, and use that to translate things between langauges. Have a numerical representation,\nand you can have your LLM run on a processing unit (CPU, or more likely, GPU).\nMore and more models are available (mostly proprietary, commercial) to use this. Chat bots, translation\ntools, grammar checkers, generative models. And because of the numerical representation, it is also\neasy enough to combine language with numerical data.</p>\n\n<p>And I guess converting a SMILES to something else should not surprise me. Using SMILES as molecular\ndescriptor has been around for some time. Using a generative model to generate an IUPAC name is another\nexample. STOUT had been doing that for some time (doi:<a href=\"https://doi.org/10.1186/s13321-021-00512-4\">10.1186/s13321-021-00512-4</a>).\nBut based on deep learning, it is based on probabilities. Or recovering SMILES strings from\nMorgan fingerprints (doi:<a href=\"https://doi.org/10.59350/srwee-de037\">10.59350/srwee-de037</a>).</p>\n\n<p>The alternative is to generate IUPAC names using the IUPAC rules. Computational tools that do this have\nbeen around for a long time. The IUPAC naming rules are defined in the blue books, see\n<a href=\"https://iupac.org/what-we-do/books/bluebook/\">this page</a>. At some point in the nineties, based on the\nwork of the <em>Woordenboek Organische Chemie</em>, I proposed to make a HTML version of the Dutch translation.\nThe never happened.</p>\n\n<p>Now, these LLMs have become quite powerful that they can do a ton of things. They can without problem\nuse external tools. That makes a lot of sense: why would you predict something when you can look it up\nor easily computer. That helps with exact validation. For example, Claude is said to validate JSON to\nmake sure it never outputs JSON that is not valid (which it does without that validator).</p>\n\n<p>So, why not translation the IUPAC rules into a program and use that program to deterministically calculate\nIUPAC names? Or even Preferred IUPAC names (PINs)? Wikidata wants those. The lack of a tool to\ndetermine if a name is a PIN or to just calculate it <a href=\"https://www.wikidata.org/wiki/Wikidata:Property_proposal/IUPAC_name\">blocked</a>\nthe addition of a Wikidata property earlier this year.</p>\n\n<p><a href=\"https://www.embl.org/people/person/noel-o-boyle/\">Noel O’Boyle</a> (now EMBL-EBI) found and\n<a href=\"https://baoilleach.blogspot.com/2026/10/assessing-open-source-iupac-name.html\">compared three open source tools</a>,\neach with a matching preprint: <a href=\"https://github.com/oxpig/nispo\">NISPO</a> (doi:<a href=\"https://doi.org/10.48550/arXiv.2607.26113\">10.48550/arXiv.2607.26113</a>),\n<a href=\"https://github.com/lamalab-org/openclatura\">OpenClatura</a> (doi:<a href=\"https://doi.org/10.26434/chemrxiv.15006114/v2\">10.26434/chemrxiv.15006114/v2</a>),\nand <a href=\"https://github.com/Steinbeck-Lab/Orthonym\">Orthonym</a> (doi:<a href=\"https://doi.org/10.26434/chemrxiv.15009769/v1\">10.26434/chemrxiv.15009769/v1</a>).\nThey yield 85-95% valid IUPAC names, as reported in Noel’s blog post. Of these, Orthonym by default\nreturns PINs and then the yield is a good bit lower.</p>\n\n<p>A fourth tool is mentioned in the blog: <a href=\"https://github.com/iwyoo/smiles-to-iupac\">smiles-to-iupac</a>,\nbut no compared. The author of this tool, <a href=\"https://github.com/iwyoo\">Inwan Yoo</a>, has been actively\n<a href=\"https://github.com/dan2097/opsin/pulls?q=is%3Apr+author%3Aiwyoo\">contributing to</a>\n<a href=\"https://github.com/dan2097/opsin/issues?q=is%3Apr+author%3Aiwyoo\">the OPSIN tool</a>.</p>\n\n<p>There is much to like about this, even the “competition”. These projects will be compared.\nWhere the differ, it will highlight where all tools have it wrong, some of the tools,\nand even none of the tools, and the IUPAC rules turn out to be “wrong” (more likely, ambiguous).\nThe same for OPSIN (doi:<a href=\"https://doi.org/10.1021/ci100384d\">10.1021/ci100384d</a>). I think this is a win for the open science chemistry community and\nlooking forward to what will happen in the next few months.</p>\n\n<p>And, I will need to find some time to see how many Wikidata SMILES I can convert into PINs.</p>\n\n<h4>References</h4>\n<div class=\"csl-bib-body\">\n    <div class=\"csl-entry\">Lowe, D. M., Corbett, P. T., Murray-Rust, P., &#38; Glen, R. C. (2011). Chemical Name to Structure: OPSIN, an Open Source Solution. <i>Journal of Chemical Information and Modeling</i>, <i>51</i>(3), 739–753. https://doi.org/10.1021/ci100384d <b>[cito:citesAsAuthority]</b> <a href=\"https://doi.org/10.1021/CI100384D\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.1021/CI100384D\">Scholia</a></div>\n    <div class=\"csl-entry\">Mirza, A., Jablonka, K. M., &#38; Fedorov, R. (2026). <i>Openclatura–an Open-Source Nomenclature Framework for Rule-Based Molecule Naming</i>. American Chemical Society (ACS). https://doi.org/10.26434/chemrxiv.15006114/v2 <b>[cito:citesAsPotentialSolution]</b> <a href=\"https://doi.org/10.26434/chemrxiv.15006114/v2\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.26434/chemrxiv.15006114/v2\">Scholia</a></div>\n    <div class=\"csl-entry\">Rajan, K., Zielesny, A., &#38; Steinbeck, C. (2021). STOUT: SMILES to IUPAC names using neural machine translation. <i>Journal of Cheminformatics</i>, <i>13</i>(1). https://doi.org/10.1186/s13321-021-00512-4 <b>[cito:citesForInformation]</b> <a href=\"https://doi.org/10.1186/s13321-021-00512-4\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.1186/s13321-021-00512-4\">Scholia</a></div>\n    <div class=\"csl-entry\">Rajan, K., Zielesny, A., &#38; Steinbeck, C. (2026). <i>Orthonym: verified IUPAC names for chemical structures in the wild</i>. American Chemical Society (ACS). https://doi.org/10.26434/chemrxiv.15009769/v1 <b>[cito:citesAsPotentialSolution]</b> <a href=\"https://doi.org/10.26434/chemrxiv.15009769/v1\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.26434/chemrxiv.15009769/v1\">Scholia</a></div>\n    <div class=\"csl-entry\">Runcie, N. T., Imrie, F., &#38; Deane, C. M. (2026). <i>NISPO: Open-source IUPAC name generation tool</i> (Version 1). arXiv. https://doi.org/10.48550/ARXIV.2607.26113 <b>[cito:citesAsPotentialSolution]</b> <a href=\"https://doi.org/10.48550/arXiv.2607.26113\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.48550/arXiv.2607.26113\">Scholia</a></div>\n    <div class=\"csl-entry\">Swain, J. (2026). Morg2SMILES: Generative Recovery of SMILES Strings from Morgan Fingerprints. In <i>Front Matter</i>. Front Matter. https://doi.org/10.59350/srwee-de037 <a href=\"https://doi.org/10.59350/srwee-de037\">CrossRef</a> <a href=\"https://qlever.scholia.wiki/doi/10.59350/srwee-de037\">Scholia</a></div>\n  </div>",
      "summary": "Language models model languages. The simpler the language, the simpler the model. Large language models (LLMs) do more: they do not merely capture a language, but also model what you can say with them. And you can map one model to another, and use that to translate things between langauges. Have a numerical representation, and you can have your LLM run on a processing unit (CPU, or more likely, GPU). More and more models are available (mostly proprietary, commercial) to use this. Chat bots, translation tools, grammar checkers, generative models. And because of the numerical representation, it is also easy enough to combine language with numerical data.",
      
      "date_published": "2026-11-01T00:00:00+00:00",
      "date_modified": "2026-11-01T00:00:00+00:00",
      "tags": ["iupac","cheminf","opensource","openscience"],
      "_references": [
        
          
          
            { "url": "https://doi.org/10.1186/s13321-021-00512-4", "doi": "10.1186/s13321-021-00512-4"
            , "cito":
              
              
                [ 
                  "citesForInformation"
                  
                 ]
              
             }
            ,
          
        
          
          
            { "url": "https://doi.org/10.59350/srwee-de037", "doi": "10.59350/srwee-de037"
             }
            ,
          
        
          
          
            { "url": "https://doi.org/10.48550/arXiv.2607.26113", "doi": "10.48550/arXiv.2607.26113"
            , "cito":
              
              
                [ 
                  "citesAsPotentialSolution"
                  
                 ]
              
             }
            ,
          
        
          
          
            { "url": "https://doi.org/10.26434/chemrxiv.15006114/v2", "doi": "10.26434/chemrxiv.15006114/v2"
            , "cito":
              
              
                [ 
                  "citesAsPotentialSolution"
                  
                 ]
              
             }
            ,
          
        
          
          
            { "url": "https://doi.org/10.26434/chemrxiv.15009769/v1", "doi": "10.26434/chemrxiv.15009769/v1"
            , "cito":
              
              
                [ 
                  "citesAsPotentialSolution"
                  
                 ]
              
             }
            ,
          
        
          
          
            { "url": "https://doi.org/10.1021/CI100384D", "doi": "10.1021/CI100384D"
            , "cito":
              
              
                [ 
                  "citesAsAuthority"
                  
                 ]
              
             }
            
          
        ],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
