{
  "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/08/20/metware-screenshot-spectrum-support.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/9m75g-4rh11",
      "url": "https://chem-bla-ics.linkedchemistry.info/2008/08/20/metware-screenshot-spectrum-support.html",
      "title": "MetWare screenshot: spectrum support",
      "content_html": "<p>Not visually attractive, but that will be solved when Steffen gets his hands on it. For now, I’m happy with a table formatting.\nReason: it uses XML Schema to define a dataType, which is recognized by our code generators in <a href=\"http://www.metware.org/\">MetWare</a>\n(see also <a href=\"https://chem-bla-ics.linkedchemistry.info/2008/05/16/metware-status-report.html\">this presentation <i class=\"fa-solid fa-recycle fa-xs\"></i></a>), and used to create a easy to use Java API, which, in turn, can be used in this JSF snippet:</p>\n\n<div class=\"language-xml highlighter-rouge\"><div class=\"highlight\"><pre class=\"highlight\"><code><span class=\"nt\">&lt;h:dataTable</span> <span class=\"na\">value=</span><span class=\"s\">\"#{metobservCharacterizationMassspectrum.spectralPoints.points}\"</span> <span class=\"na\">var=</span><span class=\"s\">\"specpoint\"</span><span class=\"nt\">&gt;</span>\n  <span class=\"nt\">&lt;h:column&gt;</span>\n    <span class=\"nt\">&lt;f:facet</span> <span class=\"na\">name=</span><span class=\"s\">\"header\"</span><span class=\"nt\">&gt;&lt;h:outputText</span> <span class=\"na\">value=</span><span class=\"s\">\"m/z's\"</span><span class=\"nt\">/&gt;&lt;/f:facet&gt;</span>\n    <span class=\"nt\">&lt;h:outputText</span> <span class=\"na\">value=</span><span class=\"s\">\"#{specpoint.mz}\"</span><span class=\"nt\">/&gt;</span>\n  <span class=\"nt\">&lt;/h:column&gt;</span>\n  <span class=\"nt\">&lt;h:column&gt;</span>\n    <span class=\"nt\">&lt;f:facet</span> <span class=\"na\">name=</span><span class=\"s\">\"header\"</span><span class=\"nt\">&gt;&lt;h:outputText</span> <span class=\"na\">value=</span><span class=\"s\">\"Intensities\"</span><span class=\"nt\">/&gt;&lt;/f:facet&gt;</span>\n    <span class=\"nt\">&lt;h:outputText</span> <span class=\"na\">value=</span><span class=\"s\">\"#{specpoint.intensity}\"</span><span class=\"nt\">/&gt;</span>\n  <span class=\"nt\">&lt;/h:column&gt;</span>\n<span class=\"nt\">&lt;/h:dataTable&gt;</span>\n</code></pre></div></div>\n\n<p>The <code class=\"language-plaintext highlighter-rouge\">&lt;dataTable&gt; @value</code> points (via the <code class=\"language-plaintext highlighter-rouge\">faces-config.xml</code>) to the <code class=\"language-plaintext highlighter-rouge\">MetobservCharacterizationMassspectrumBean</code>, which has a\n<code class=\"language-plaintext highlighter-rouge\">getSpectralPoints()</code> method (autocreated from the <code class=\"language-plaintext highlighter-rouge\">&lt;skos:Concept&gt;</code> <code class=\"language-plaintext highlighter-rouge\">SpectralPoints</code>, which has a convenience method\n<code class=\"language-plaintext highlighter-rouge\">List&lt;SpectralPoint&gt; getPoints()</code>.</p>\n\n<p><code class=\"language-plaintext highlighter-rouge\">SpectralPoint</code> in turn has the methods <code class=\"language-plaintext highlighter-rouge\">getIntensity()</code> and <code class=\"language-plaintext highlighter-rouge\">getMz()</code> also used in the above JSF snippet. For convenience,\n<code class=\"language-plaintext highlighter-rouge\">SpectralPointArray</code> also has two other methods: <code class=\"language-plaintext highlighter-rouge\">double[] getIntensities()</code> and <code class=\"language-plaintext highlighter-rouge\">double[] getMzs()</code> (which I’ll have to\nrename to reuse the code for NMR support :).</p>\n\n<p>So, here’s the outcome:</p>\n\n<p><img src=\"/assets/images/msTable.png\" alt=\"\" /></p>\n\n<p>Final note, given the dataType, the MetWare bean also has the logic to convert the data back and forth into a SQL serialization,\nwhich may eventually use base64 encoding, but currently looks like <em>61.0,100.0;62.0,1.1</em>, as defined by the regular expression of\nthe XSD dataType for spectralPointArray.</p>",
      "summary": "Not visually attractive, but that will be solved when Steffen gets his hands on it. For now, I’m happy with a table formatting. Reason: it uses XML Schema to define a dataType, which is recognized by our code generators in MetWare (see also this presentation ), and used to create a easy to use Java API, which, in turn, can be used in this JSF snippet:",
      "image": "https://chem-bla-ics.linkedchemistry.info/assets/images/msTable.png",
      "date_published": "2008-08-20T00:00:00+00:00",
      "date_modified": "2025-10-11T00:00:00+00:00",
      "tags": ["metware","xml","java"],
      
      
      
      
      
      
        "authors": [ { "name": "Egon Willighagen", "url": "https://orcid.org/0000-0001-7542-0286" } ]
      
    }

  ]
}
