{
  "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/2013/10/09/programming-in-life-sciences-5.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/7yj2v-4sz07",
      "url": "https://chem-bla-ics.linkedchemistry.info/2013/10/09/programming-in-life-sciences-5.html",
      "title": "Programming in the Life Sciences #5: converting the results into HTML",
      "content_html": "<p>Now that we have <a href=\"http://chem-bla-ics.blogspot.nl/2013/10/programming-in-life-sciences-4.html\">the communication working</a>\nwith the Open PHACTS LDA, it is time to make a nice GUI. I will not go into details, but we can use basic JavaScript to\niterate over the JSON results, and, for example, create a HTML table:</p>\n\n<p><img src=\"/assets/images/mscpils1_output.png\" alt=\"\" /></p>\n\n<p>In fact, I hooked in some HTML <code class=\"language-plaintext highlighter-rouge\">onClick()</code> functionality so that when you click one of the compound names, you get further\ndetails (under <em>Compound Details</em>), though that only outputs the ConceptWiki URI at this moment. A simple for-loop does\nthe heavy work:</p>\n\n<div class=\"language-javascript highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nx\">html</span> <span class=\"o\">=</span> <span class=\"dl\">\"</span><span class=\"s2\">&lt;table&gt;</span><span class=\"dl\">\"</span><span class=\"p\">;</span>\n<span class=\"k\">for </span><span class=\"p\">(</span><span class=\"kd\">var</span> <span class=\"nx\">i</span><span class=\"o\">=</span><span class=\"mi\">0</span><span class=\"p\">;</span> <span class=\"nx\">i</span><span class=\"o\">&lt;</span><span class=\"nx\">response</span><span class=\"p\">.</span><span class=\"nx\">length</span><span class=\"p\">;</span> <span class=\"nx\">i</span><span class=\"o\">++</span><span class=\"p\">)</span> <span class=\"p\">{</span>\n  <span class=\"nx\">html</span> <span class=\"o\">+=</span> <span class=\"dl\">\"</span><span class=\"s2\">&lt;tr&gt;</span><span class=\"dl\">\"</span><span class=\"p\">;</span>\n  <span class=\"nx\">html</span> <span class=\"o\">+=</span> <span class=\"dl\">\"</span><span class=\"s2\">&lt;td&gt;</span><span class=\"dl\">\"</span><span class=\"p\">;</span>\n  <span class=\"nx\">dataJSON</span> <span class=\"o\">=</span> <span class=\"nx\">JSON</span><span class=\"p\">.</span><span class=\"nf\">stringify</span><span class=\"p\">(</span><span class=\"nx\">response</span><span class=\"p\">[</span><span class=\"nx\">i</span><span class=\"p\">]);</span>\n  <span class=\"c1\">//   dataJSON.replace(/\"/g, \"'\");</span>\n  <span class=\"nx\">html</span> <span class=\"o\">+=</span> <span class=\"dl\">\"</span><span class=\"s2\">Name: &lt;span&gt;</span><span class=\"dl\">\"</span> <span class=\"o\">+</span> <span class=\"nx\">response</span><span class=\"p\">[</span><span class=\"nx\">i</span><span class=\"p\">].</span><span class=\"nx\">prefLabel</span> <span class=\"o\">+</span> <span class=\"dl\">\"</span><span class=\"s2\">&lt;/span&gt;</span><span class=\"dl\">\"</span><span class=\"p\">;</span>\n  <span class=\"nx\">html</span> <span class=\"o\">+=</span> <span class=\"dl\">\"</span><span class=\"s2\">&lt;/td&gt;</span><span class=\"dl\">\"</span><span class=\"p\">;</span>\n  <span class=\"nx\">html</span> <span class=\"o\">+=</span> <span class=\"dl\">\"</span><span class=\"s2\">&lt;/tr&gt;</span><span class=\"dl\">\"</span><span class=\"p\">;</span>\n<span class=\"p\">}</span>\n<span class=\"nx\">html</span> <span class=\"o\">+=</span> <span class=\"dl\">\"</span><span class=\"s2\">&lt;/table&gt;</span><span class=\"dl\">\"</span><span class=\"p\">;</span>\n<span class=\"nb\">document</span><span class=\"p\">.</span><span class=\"nf\">getElementById</span><span class=\"p\">(</span><span class=\"dl\">\"</span><span class=\"s2\">table</span><span class=\"dl\">\"</span><span class=\"p\">).</span><span class=\"nx\">innerHTML</span> <span class=\"o\">=</span> <span class=\"nx\">html</span><span class=\"p\">;</span>\n</code></pre></div></div>\n\n<p>So, we’re set to teach the students all the basics of programming: loops, variables, functions, etc.</p>",
      "summary": "Now that we have the communication working with the Open PHACTS LDA, it is time to make a nice GUI. I will not go into details, but we can use basic JavaScript to iterate over the JSON results, and, for example, create a HTML table:",
      "image": "https://chem-bla-ics.linkedchemistry.info/assets/images/mscpils1_output.png",
      "date_published": "2013-10-09T00:00:00+00:00",
      "date_modified": "2025-02-15T00:00:00+00:00",
      "tags": ["pra3006","html","javascript"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
