<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="other" dtd-version="1.2" xml:lang="en">
    <front>
        <journal-meta>
            <journal-id journal-id-type="pmc">F1000Research</journal-id>
            <journal-title-group>
                <journal-title>F1000Research</journal-title>
            </journal-title-group>
            <issn pub-type="epub">2046-1402</issn>
            <publisher>
                <publisher-name>F1000 Research Limited</publisher-name>
                <publisher-loc>London, UK</publisher-loc>
            </publisher>
        </journal-meta>
        <article-meta>
            <article-id pub-id-type="doi">10.12688/f1000research.9618.2</article-id>
            <article-categories>
                <subj-group subj-group-type="heading">
                    <subject>Software Tool Article</subject>
                </subj-group>
                <subj-group>
                    <subject>Articles</subject>
                    <subj-group>
                        <subject>Bioinformatics</subject>
                    </subj-group>
                </subj-group>
            </article-categories>
            <title-group>
                <article-title>biojs-io-biom, a BioJS component for handling data in Biological Observation Matrix (BIOM) format</article-title>
                <fn-group content-type="pub-status">
                    <fn>
                        <p>[version 2; peer review: 2 approved, 1 approved with reservations]</p>
                    </fn>
                </fn-group>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>Ankenbrand</surname>
                        <given-names>Markus J.</given-names>
                    </name>
                    <uri content-type="orcid">https://orcid.org/0000-0002-6620-807X</uri>
                    <xref ref-type="corresp" rid="c1">a</xref>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Terhoeven</surname>
                        <given-names>Niklas</given-names>
                    </name>
                    <xref ref-type="aff" rid="a2">2</xref>
                    <xref ref-type="aff" rid="a3">3</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Hohlfeld</surname>
                        <given-names>Sonja</given-names>
                    </name>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>F&#x00f6;rster</surname>
                        <given-names>Frank</given-names>
                    </name>
                    <xref ref-type="aff" rid="a3">3</xref>
                    <xref ref-type="aff" rid="a4">4</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Keller</surname>
                        <given-names>Alexander</given-names>
                    </name>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <aff id="a1">
                    <label>1</label>Department of Animal Ecology and Tropical Biology (Zoology III), University of W&#x00fc;rzburg, W&#x00fc;rzburg, Germany</aff>
                <aff id="a2">
                    <label>2</label>Department of Plant Physiology and Biophysics (Botany I), University of W&#x00fc;rzburg, W&#x00fc;rzburg, Germany</aff>
                <aff id="a3">
                    <label>3</label>Center for Computational and Theoretical Biology (CCTB), University of W&#x00fc;rzburg, W&#x00fc;rzburg, Germany</aff>
                <aff id="a4">
                    <label>4</label>Department of Bioinformatics, University of W&#x00fc;rzburg, W&#x00fc;rzburg, Germany</aff>
            </contrib-group>
            <author-notes>
                <corresp id="c1">
                    <label>a</label>
                    <email xlink:href="mailto:markus.ankenbrand@uni-wuerzburg.de">markus.ankenbrand@uni-wuerzburg.de</email>
                </corresp>
                <fn fn-type="con">
                    <p>Methodology: MJA and SH. Investigation: MJA and NT. Software: MJA. Supervision: AK and FF. Writing - original draft: MJA. Writing - review and editing: All authors.</p>
                </fn>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>9</day>
                <month>1</month>
                <year>2017</year>
            </pub-date>
            <pub-date pub-type="collection">
                <year>2016</year>
            </pub-date>
            <volume>5</volume>
            <elocation-id>2348</elocation-id>
            <history>
                <date date-type="accepted">
                    <day>9</day>
                    <month>1</month>
                    <year>2017</year>
                </date>
            </history>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2017 Ankenbrand MJ et al.</copyright-statement>
                <copyright-year>2017</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <self-uri content-type="pdf" xlink:href="https://f1000research.com/articles/5-2348/pdf"/>
            <abstract>
                <p>
                    <bold>Summary</bold> The Biological Observation Matrix (BIOM) format is widely used to store data from high-throughput studies. It aims at increasing interoperability of bioinformatic tools that process this data. However, due to multiple versions and implementation details, working with this format can be tricky. Currently, libraries in python, R and Perl are available, whilst such for JavaScript are lacking. Here, we present a BioJS component for parsing BIOM data in all format versions. It supports import, modification, and export via a unified interface. This module aims to facilitate the development of web applications that use BIOM data. Finally, we demonstrate its usefulness by two applications that already use this component.</p>
                <p>
                    <bold>Availability</bold> 
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/molbiodiv/biojs-io-biom">https://github.com/molbiodiv/biojs-io-biom</ext-link>, 
                    <ext-link ext-link-type="uri" xlink:href="https://dx. doi.org/10.5281/zenodo.218277">https://dx. doi.org/10.5281/zenodo.218277</ext-link>
                </p>
            </abstract>
            <kwd-group kwd-group-type="author">
                <kwd>biom-format</kwd>
                <kwd>ecology</kwd>
                <kwd>meta-genomics</kwd>
                <kwd>biojs</kwd>
                <kwd>parser</kwd>
                <kwd>meta-barcoding</kwd>
            </kwd-group>
            <funding-group>
                <funding-statement>MJA was supported by a grant of the German Excellence Initiative to the Graduate School of Life Sciences, University of W&#x00fc;rzburg (Grant Number GSC 106/3). This publication was supported by the Open Access Publication Fund of the University of W&#x00fc;rzburg.</funding-statement>
                <funding-statement>
                    <italic>The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.</italic>
                </funding-statement>
            </funding-group>
        </article-meta>
        <notes>
            <sec sec-type="version-changes">
                <label>Revised</label>
                <title>Amendments from Version 1</title>
                <p>We added the historical context to the introduction. Further the drawbacks of relying on JSON as well as the complications with HDF5 are discussed in more detail. The application of our module to enhance Phinch now refers to a pull request into the original project rather than a fork of that. Thanks to referees comments we were able to make many small improvements (e.g. phrasing, version numbers, references).</p>
            </sec>
        </notes>
    </front>
    <body>
        <sec sec-type="intro">
            <title>Introduction</title>
            <p>In recent years, there has been an enormous increase in biological data available from high-throughput studies. Complications arise from the enlarged size of the resulting data tables. This is the case for transcriptomic and marker-gene community data, where the central matrix consists of counts for each observation (e.g. gene or taxon) in each sample, plus a second and third matrix for metadata of both taxa and samples, respectively.</p>
            <p>Early on there have been efforts to define data formats that capture all relevant information for an experiment like the Minimum Information About a Microarray Experiment (MIAME) project
                <sup>
                    <xref ref-type="bibr" rid="ref-1">1</xref>
                </sup>. In 2005 the Genomic Standards Consortium (GSC) formed with the mission of enabling genomic data integration, discovery and comparison through international community-driven standards
                <sup>
                    <xref ref-type="bibr" rid="ref-2">2</xref>
                </sup>. The Biological Observation Matrix (BIOM) Format was developed to standardize the storage of observation counts together with all relevant metadata and it is a member project of the GSC
                <sup>
                    <xref ref-type="bibr" rid="ref-3">3</xref>
                </sup>. One main purpose of the BIOM format is to enhance interoperability between different software suits. Many current leading tools in community ecology and metagenomics support the BIOM format, e.g. QIIME
                <sup>
                    <xref ref-type="bibr" rid="ref-4">4</xref>
                </sup>, MG-RAST
                <sup>
                    <xref ref-type="bibr" rid="ref-5">5</xref>
                </sup>, PICRUSt
                <sup>
                    <xref ref-type="bibr" rid="ref-6">6</xref>
                </sup>, phyloseq
                <sup>
                    <xref ref-type="bibr" rid="ref-7">7</xref>
                </sup>, VAMPS
                <sup>
                    <xref ref-type="bibr" rid="ref-8">8</xref>
                </sup> and Phinch
                <sup>
                    <xref ref-type="bibr" rid="ref-9">9</xref>
                </sup>. Additionally, libraries exist in Python
                <sup>
                    <xref ref-type="bibr" rid="ref-3">3</xref>
                </sup>, R
                <sup>
                    <xref ref-type="bibr" rid="ref-10">10</xref>
                </sup> and Perl
                <sup>
                    <xref ref-type="bibr" rid="ref-11">11</xref>
                </sup> to propagate the standardized use of the format.</p>
            <p>Interactive visualization of biological data in a web browser is becoming more and more popular
                <sup>
                    <xref ref-type="bibr" rid="ref-12">12</xref>,
                    <xref ref-type="bibr" rid="ref-13">13</xref>
                </sup>. For the development of web applications that support BIOM data, a corresponding library is currently lacking and would be very useful, since several challenges arise when trying to handle BIOM data. While BIOM format version 1.0 builds on the JSON format and thus is natively supported by JavaScript, the more recent BIOM format version 2.1 uses HDF5 and can therefore not be handled natively in web browsers. Also the internal data storage can be either dense or sparse so applications have to handle both cases. Furthermore application developers need to be very careful when modifying BIOM data as changes that do not abide to the specification will break interoperability with other tools. Here we present biojs-io-biom, a JavaScript module that provides a unified interface to read, modify, and write BIOM data. It can be readily used as a library by applications that need to handle BIOM data for import or export directly in the browser. To demonstrate the utility of our module it has been used to implement a simple user interface for the biom-conversion-server
                <sup>
                    <xref ref-type="bibr" rid="ref-14">14</xref>
                </sup>. Additionally, the popular BIOM visualization tool Phinch
                <sup>
                    <xref ref-type="bibr" rid="ref-9">9</xref>
                </sup> has been extended with new features, in particular support for BIOM version 2.1 by integrating biojs-io-biom
                <sup>
                    <xref ref-type="bibr" rid="ref-15">15</xref>
                </sup>.</p>
        </sec>
        <sec>
            <title>The biojs-io-biom component</title>
            <p>The biojs-io-biom library can be used to create new objects (called 
                <monospace>Biom</monospace> objects for brevity) by either loading file content directly via the static 
                <monospace>parse</monospace> function or by initialization with a JSON object:</p>
            <p>
                <preformat orientation="portrait" position="float" preformat-type="computer code" xml:space="preserve">
                    <styled-content style="font-size:15px;">var biom = new Biom({
    id: &#x2019;My Biom&#x2019;,
    matrix_type: &#x2019;dense&#x2019;,
    shape: [2,2],
    rows: [
        {id: &#x2019;row1&#x2019;, metadata: {}},
        {id: &#x2019;row2&#x2019;, metadata: {}}
    ],
    columns: [
        {id: &#x2019;col1&#x2019;, metadata: {}},
        {id: &#x2019;col2&#x2019;, metadata: {}}
	],
    data: [
        [0,1],
        [2,3]
    ]
});</styled-content>
                </preformat>
            </p>
            <p>The data is checked for integrity and compliance with the BIOM specification. Missing fields are created with default content. All operations that set attributes of the 
                <monospace>Biom</monospace> object with the dot notation are also checked and prompt an error if they are not allowed.</p>
            <p>
                <preformat orientation="portrait" position="float" preformat-type="computer code" xml:space="preserve">
                    <styled-content style="font-size:15px;">var biom = new Biom({});
biom.id = [];
// Will throw a TypeError as id has to be a string or null</styled-content>
                </preformat>
            </p>
            <p>Beside checking and maintaining integrity the biojs-io-biom library implements convenience functions. This includes getter and setter for metadata as well as data accessor functions that are agnostic to internal representation (dense or sparse). But one of the main features of this library is the capability of handling BIOM data in both versions 1.0 and 2.1 by interfacing with the biom-conversion-server
                <sup>
                    <xref ref-type="bibr" rid="ref-14">14</xref>
                </sup>. Handling of BIOM version 2.1 in JavaScript directly is not possible due to its HDF5 binary format. The only reference implementation of the format is in C and trying to transpile the library to JavaScript using emscripten
                <sup>
                    <xref ref-type="bibr" rid="ref-16">16</xref>
                </sup> failed due to strong reliance on file operations (see discussions in
                <sup>
                    <xref ref-type="bibr" rid="ref-17">17</xref>,
                    <xref ref-type="bibr" rid="ref-18">18</xref>
                </sup>). Using the conversion server allows developers to use BIOM of both versions transparently. 
                <monospace>Biom</monospace> objects also expose the function 
                <monospace>write</monospace> which exports it as version 1.0 or version 2.1. In contrast to the existing 
                <monospace>biom_convert</monospace> module for the Galaxy platform which has a rich set of options the biom-conversion-server exhibits its functionality both via an API and a simple user interface that does not need any kind of setup or login
                <sup>
                    <xref ref-type="bibr" rid="ref-19">19</xref>,
                    <xref ref-type="bibr" rid="ref-20">20</xref>
                </sup>.</p>
        </sec>
        <sec>
            <title>Application</title>
            <p>To demonstrate the utility of this module it has been used to implement a user interface for the biom-conversion-server
                <sup>
                    <xref ref-type="bibr" rid="ref-14">14</xref>
                </sup>. Besides providing an API it is now also possible to upload files using a file dialog. The uploaded file is checked using our module and converted to version 1.0 on the fly if necessary. It can then be downloaded in both version 1.0 and 2.1. As most of the functionality is provided by the biojs-io-biom module the whole interface is simply implemented with a few additional lines of code.</p>
            <p>As a second example the Phinch framework
                <sup>
                    <xref ref-type="bibr" rid="ref-9">9</xref>
                </sup> has been enhanced to allow BIOM version 2.1. Phinch visualizes the content of BIOM files using a variety of interactive plots. However due to the difficulties of handling HDF5 data only BIOM version 1.0 is supported. This is unfortunate as most tools nowadays return BIOM version 2.1 (e.g. QIIME from version 1.9,1
                <sup>
                    <xref ref-type="bibr" rid="ref-4">4</xref>
                </sup> and Qiita
                <sup>
                    <xref ref-type="bibr" rid="ref-21">21</xref>
                </sup>). It is possible to convert from version 2.1 to version 1.0 without loss of information but that requires an extra step using the command line. By including our biojs-io-biom module and the biom-conversion-server into Phinch it was possible to add support for BIOM version 2.1 along with some other improvements
                <sup>
                    <xref ref-type="bibr" rid="ref-15">15</xref>
                </sup>.</p>
            <p>As the biojs-io-biom module resolves the import and export challenges, one of the next steps is the development of a further BioJS module to present BIOM data as a set of data tables. In order to do that for large datasets sophisticated, accessor functions capitalizing on the sparse data representation have to be implemented.</p>
            <p>A drawback of the internal storage of BIOM version 1.0 is that it suffers of those shortcomings that are solved in version 2.1, specifically efficient handling of huge datasets. However even with a more efficient data storage huge amounts of data will still cause problems with current web browsers. Therefore, we plan on extending the biom-conversion-server with a light communication API that allows a client to request only the subsets of the full data set that it requires.</p>
        </sec>
        <sec sec-type="conclusions">
            <title>Conclusion</title>
            <p>The module biojs-io-biom was developed to enhance the import and export of BIOM data into JavaScript. Its utility and versatility has been demonstrated in two example applications. It is implemented using latest web technologies, well tested and well documented. It provides a unified interface and abstracts from details like version or internal data representation. Therefore, it will facilitate the development of web applications that rely on the BIOM format.</p>
        </sec>
        <sec>
            <title>Software availability</title>
            <sec>
                <title>biojs-io-biom</title>
                <p>Latest source code 
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/molbiodiv/biojs-io-biom">https://github.com/molbiodiv/biojs-io-biom</ext-link>
                </p>
                <p>Archived source code as at the time of publication 
                    <ext-link ext-link-type="uri" xlink:href="https://zenodo.org/record/218277">https://zenodo.org/record/218277</ext-link>
                </p>
                <p>License MIT</p>
            </sec>
            <sec>
                <title>biom-conversion-server</title>
                <p>Latest source code 
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/molbiodiv/biom-conversion-server">https://github.com/molbiodiv/biom-conversion-server</ext-link>
                </p>
                <p>Archived source code as at the time of publication 
                    <ext-link ext-link-type="uri" xlink:href="https://zenodo.org/record/218396">https://zenodo.org/record/218396</ext-link>
                </p>
                <p>Public instance 
                    <ext-link ext-link-type="uri" xlink:href="https://biomcs.iimog.org">https://biomcs.iimog.org</ext-link>
                </p>
                <p>License MIT</p>
            </sec>
        </sec>
    </body>
    <back>
        <ack>
            <title>Acknowledgments</title>
            <p>We are grateful to Franziska Saul for fruitful discussions on user interface design. We further thank members of the biom-format, Phinch and hdf5.node projects for quick, kind and helpful responses to our requests.</p>
        </ack>
        <ref-list>
            <ref id="ref-1">
                <label>1</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Brazma</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Hingamp</surname>
                            <given-names>P</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Quackenbush</surname>
                            <given-names>J</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Minimum information about a microarray experiment (MIAME)-toward standards for microarray data.</article-title>
                    <source>

                        <italic toggle="yes">Nat Genet.</italic>
</source>
                    <year>2001</year>;<volume>29</volume>(<issue>4</issue>):<fpage>365</fpage>&#x2013;<lpage>371</lpage>.
                    <pub-id pub-id-type="pmid">11726920</pub-id>
                    <pub-id pub-id-type="doi">10.1038/ng1201-365</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-2">
                <label>2</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Field</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Amaral-Zettler</surname>
                            <given-names>L</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Cochrane</surname>
                            <given-names>G</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>The Genomic Standards Consortium.</article-title>
                    <source>

                        <italic toggle="yes">PLoS Biol.</italic>
</source>
                    <year>2011</year>;<volume>9</volume>(<issue>6</issue>):<fpage>e1001088</fpage>.
                    <pub-id pub-id-type="pmid">21713030</pub-id>
                    <pub-id pub-id-type="doi">10.1371/journal.pbio.1001088</pub-id>
                    <pub-id pub-id-type="pmcid">3119656</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-3">
                <label>3</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>McDonald</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Clemente</surname>
                            <given-names>JC</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kuczynski</surname>
                            <given-names>J</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>The Biological Observation Matrix (BIOM) format or: how I learned to stop worrying and love the ome-ome.</article-title>
                    <source>

                        <italic toggle="yes">Gigascience.</italic>
</source>
                    <year>2012</year>;<volume>1</volume>(<issue>1</issue>):<lpage>7</lpage>.
                    <pub-id pub-id-type="pmid">23587224</pub-id>
                    <pub-id pub-id-type="doi">10.1186/2047-217X-1-7</pub-id>
                    <pub-id pub-id-type="pmcid">3626512</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-4">
                <label>4</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Caporaso</surname>
                            <given-names>JG</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kuczynski</surname>
                            <given-names>J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Stombaugh</surname>
                            <given-names>J</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>QIIME allows analysis of high-throughput community sequencing data.</article-title>
                    <source>

                        <italic toggle="yes">Nat Methods.</italic>
</source>
                    <year>2010</year>;<volume>7</volume>(<issue>5</issue>):<fpage>335</fpage>&#x2013;<lpage>336</lpage>.
                    <pub-id pub-id-type="pmid">20383131</pub-id>
                    <pub-id pub-id-type="doi">10.1038/nmeth.f.303</pub-id>
                    <pub-id pub-id-type="pmcid">3156573</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-5">
                <label>5</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Meyer</surname>
                            <given-names>F</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Paarmann</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>D&#x2019;Souza</surname>
                            <given-names>M</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>The metagenomics RAST server -  a public resource for the automatic phylogenetic and functional analysis of metagenomes.</article-title>
                    <source>

                        <italic toggle="yes">BMC Bioinformatics.</italic>
</source>
                    <year>2008</year>;<volume>9</volume>:<fpage>386</fpage>.
                    <pub-id pub-id-type="pmid">18803844</pub-id>
                    <pub-id pub-id-type="doi">10.1186/1471-2105-9-386</pub-id>
                    <pub-id pub-id-type="pmcid">2563014</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-6">
                <label>6</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Langille</surname>
                            <given-names>MG</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Zaneveld</surname>
                            <given-names>J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Caporaso</surname>
                            <given-names>JG</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Predictive functional profiling of microbial communities using 16S rRNA marker gene sequences.</article-title>
                    <source>

                        <italic toggle="yes">Nat Biotechnol.</italic>
</source>
                    <year>2013</year>;<volume>31</volume>(<issue>9</issue>):<fpage>814</fpage>&#x2013;<lpage>821</lpage>.
                    <pub-id pub-id-type="pmid">23975157</pub-id>
                    <pub-id pub-id-type="doi">10.1038/nbt.2676</pub-id>
                    <pub-id pub-id-type="pmcid">3819121</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-7">
                <label>7</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>McMurdie</surname>
                            <given-names>PJ</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Holmes</surname>
                            <given-names>S</given-names>
                        </name>
</person-group>:
                    <article-title>Phyloseq: an R package for reproducible interactive analysis and graphics of microbiome census data.</article-title>
                    <source>

                        <italic toggle="yes">PLoS One.</italic>
</source>
                    <year>2013</year>;<volume>8</volume>(<issue>4</issue>):<fpage>e61217</fpage>.
                    <pub-id pub-id-type="pmid">23630581</pub-id>
                    <pub-id pub-id-type="doi">10.1371/journal.pone.0061217</pub-id>
                    <pub-id pub-id-type="pmcid">3632530</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-8">
                <label>8</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Huse</surname>
                            <given-names>SM</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Mark Welch</surname>
                            <given-names>DB</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Voorhis</surname>
                            <given-names>A</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>VAMPS: a website for visualization and analysis of microbial population structures.</article-title>
                    <source>

                        <italic toggle="yes">BMC Bioinformatics.</italic>
</source>
                    <year>2014</year>;<volume>15</volume>:<fpage>41</fpage>.
                    <pub-id pub-id-type="pmid">24499292</pub-id>
                    <pub-id pub-id-type="doi">10.1186/1471-2105-15-41</pub-id>
                    <pub-id pub-id-type="pmcid">3922339</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-9">
                <label>9</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Bik</surname>
                            <given-names>HM</given-names>
                        </name>

                        <collab>Pitch Interactive</collab>
</person-group>:
                    <article-title>Phinch: An interactive, exploratory data visualization framework for &#x2013;Omic datasets.</article-title>
                    <source>

                        <italic toggle="yes">bioRxiv.</italic>
</source>
                    <year>2014</year>;<fpage>009944</fpage>.
                    <pub-id pub-id-type="doi">10.1101/009944</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-10">
                <label>10</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>McMurdie</surname>
                            <given-names>PJ</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Paulson</surname>
                            <given-names>JN</given-names>
                        </name>
</person-group>:
                    <article-title>biomformat: An interface package for the BIOM file format.</article-title>R/Bioconductor package version 1.0.0.<year>2015</year>.</mixed-citation>
            </ref>
            <ref id="ref-11">
                <label>11</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Angly</surname>
                            <given-names>FE</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Fields</surname>
                            <given-names>CJ</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Tyson</surname>
                            <given-names>GW</given-names>
                        </name>
</person-group>:
                    <article-title>The Bio-Community Perl toolkit for microbial ecology.</article-title>
                    <source>

                        <italic toggle="yes">Bioinformatics.</italic>
</source>
                    <year>2014</year>;<volume>30</volume>(<issue>13</issue>):<fpage>1926</fpage>&#x2013;<lpage>1927</lpage>.
                    <pub-id pub-id-type="pmid">24618462</pub-id>
                    <pub-id pub-id-type="doi">10.1093/bioinformatics/btu130</pub-id>
                    <pub-id pub-id-type="pmcid">4071200</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-12">
                <label>12</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Corpas</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Jimenez</surname>
                            <given-names>R</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Carbon</surname>
                            <given-names>SJ</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>BioJS: an open source standard for biological visualisation - its status in 2014 [version 1; referees: 2 approved].</article-title>
                    <source>

                        <italic toggle="yes">F1000Res.</italic>
</source>
                    <year>2014</year>;<volume>3</volume>:<fpage>55</fpage>.
                    <pub-id pub-id-type="pmid">25075290</pub-id>
                    <pub-id pub-id-type="doi">10.12688/f1000research.3-55.v1</pub-id>
                    <pub-id pub-id-type="pmcid">4103492</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-13">
                <label>13</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Corpas</surname>
                            <given-names>M</given-names>
                        </name>
</person-group>:
                    <article-title>The BioJS article collection of open source components for biological data visualisation [version 1; referees: not peer reviewed].</article-title>
                    <source>

                        <italic toggle="yes">F1000Res.</italic>
</source>
                    <year>2014</year>;<volume>3</volume>:<fpage>56</fpage>.
                    <pub-id pub-id-type="pmid">25580221</pub-id>
                    <pub-id pub-id-type="doi">10.12688/f1000research.3-56.v1</pub-id>
                    <pub-id pub-id-type="pmcid">4288408</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-14">
                <label>14</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Ankenbrand</surname>
                            <given-names>MJ</given-names>
                        </name>
</person-group>:
                    <article-title>molbiodiv/biom-conversion-server: Version 1.0.2</article-title>.<year>2016</year>.
                    <pub-id pub-id-type="doi">10.5281/zenodo.218396</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-15">
                <label>15</label>
                <mixed-citation publication-type="journal">
                    <article-title>Pull request #67&#x00b7; PitchInteractiveInc/Phinch</article-title>. preview version online at
                    <ext-link ext-link-type="uri" xlink:href="https://blackbird.iimog.org">https://blackbird.iimog.org</ext-link>. Accessed: 2016-12-22.
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/PitchInteractiveInc/Phinch/pull/67">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref-16">
                <label>16</label>
                <mixed-citation publication-type="journal">
                    <collab>Kripken/emscripten</collab>:
                    <article-title>Emscripten: An LLVM-to-JavaScript Compiler</article-title>. Accessed: 2016-09-08.
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/kripken/emscripten">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref-17">
                <label>17</label>
                <mixed-citation publication-type="journal">
                    <article-title>Biom javascript module&#x00b7; Issue #699&#x00b7; biocore/biom-format</article-title>. Accessed: 2016-09-08.
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/biocore/biom-format/issues/699">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref-18">
                <label>18</label>
                <mixed-citation publication-type="journal">
                    <article-title>hdf5 javascript in a webbrowser&#x00b7; Issue #29&#x00b7; HDF-NI/hdf5.node</article-title>. Accessed: 2016-09-08.
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/HDF-NI/hdf5.node/issues/29">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref-19">
                <label>19</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Afgan</surname>
                            <given-names>E</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Baker</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>van den Beek</surname>
                            <given-names>M</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>The Galaxy platform for accessible, reproducible and collaborative biomedical analyses: 2016 update.</article-title>
                    <source>

                        <italic toggle="yes">Nucleic Acids Res.</italic>
</source>
                    <year>2016</year>;<volume>44</volume>(<issue>W1</issue>):<fpage>W3</fpage>&#x2013;<lpage>W10</lpage>.
                    <pub-id pub-id-type="pmid">27137889</pub-id>
                    <pub-id pub-id-type="doi">10.1093/nar/gkw343</pub-id>
                    <pub-id pub-id-type="pmcid">4987906</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref-20">
                <label>20</label>
                <mixed-citation publication-type="journal">
                    <article-title>biom convert galaxy module</article-title>. Accessed: 2016-12-15.
                    <ext-link ext-link-type="uri" xlink:href="https://toolshed.g2.bx.psu.edu/repository/view_repository?changeset_revision=501c21cce614&amp;id=b3ae8ca9317b000e">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref-21">
                <label>21</label>
                <mixed-citation publication-type="journal">
                    <article-title>Qiita</article-title>. Accessed: 2016-09-08.
                    <ext-link ext-link-type="uri" xlink:href="https://qiita.ucsd.edu/">Reference Source</ext-link>
                </mixed-citation>
            </ref>
        </ref-list>
    </back>
    <sub-article article-type="reviewer-report" id="report19078">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.11389.r19078</article-id>
            <title-group>
                <article-title>Reviewer response for version 2</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Bik</surname>
                        <given-names>Holly M.</given-names>
                    </name>
                    <xref ref-type="aff" rid="r19078a1">1</xref>
                    <role>Referee</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-4356-3837</uri>
                </contrib>
                <aff id="r19078a1">
                    <label>1</label>Department of Nematology, University of California Riverside, Riverside, CA, USA</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>I am the Principal Investigator on the Phinch framework (http://phinch.org), and our codebase was used as a case study in this manuscript.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>19</day>
                <month>4</month>
                <year>2018</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2018 Bik HM</copyright-statement>
                <copyright-year>2018</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport19078" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.9618.2"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>The authors have made significant changes and the revised manuscript is much improved over the original version. The focus on the&#x00a0;biojs-io-biom tool provides a much better rationale and manuscript structure. I am satisfied with the author responses to my previous comments and now happy to give final approval to this manuscript.</p>
            <p>Reviewer Expertise:</p>
            <p>NA</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.</p>
        </body>
    </sub-article>
    <sub-article article-type="reviewer-report" id="report19077">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.11389.r19077</article-id>
            <title-group>
                <article-title>Reviewer response for version 2</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Paulson</surname>
                        <given-names>Joseph Nathaniel</given-names>
                    </name>
                    <xref ref-type="aff" rid="r19077a1">1</xref>
                    <role>Referee</role>
                </contrib>
                <aff id="r19077a1">
                    <label>1</label>Department of Biostatistics, Harvard T.H. Chan School of Public Health, Boston, MA, USA</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>9</day>
                <month>1</month>
                <year>2017</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2017 Paulson JN</copyright-statement>
                <copyright-year>2017</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport19077" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.9618.2"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>The authors addressed my main concerns and I have noticed that the documentation is much better on the github page. Good job</p>
            <p>Reviewer Expertise:</p>
            <p>NA</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.</p>
        </body>
    </sub-article>
    <sub-article article-type="reviewer-report" id="report16545">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.10362.r16545</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Paulson</surname>
                        <given-names>Joseph Nathaniel</given-names>
                    </name>
                    <xref ref-type="aff" rid="r16545a1">1</xref>
                    <role>Referee</role>
                </contrib>
                <aff id="r16545a1">
                    <label>1</label>Department of Biostatistics, Harvard T.H. Chan School of Public Health, Boston, MA, USA</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>25</day>
                <month>10</month>
                <year>2016</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2016 Paulson JN</copyright-statement>
                <copyright-year>2016</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport16545" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.9618.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve-with-reservations</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>Ankenbrand&#x00a0;
                <italic>et al.</italic> provide a javascript library to interact with the microbial consortia BIOM format version 1 class. As the authors note, a javascript library could be a great benefit to the community as many commonly used tools like QIIME and Mothur produce BIOM formatted objects. However, the article and software are missing a few key components for a fully positive review.</p>
            <p> Major comments:</p>
            <p> There is a historical context that Ankenbrand
                <italic>&#x00a0;et al.</italic> miss in discussing biom-format and subsequently imply that the biom-format is more widely adopted than being field specific format. If the authors leave the introduction more general, then I would suggest they include more background on the history of high-throughput data storage and reproducibility in programmatic languages, perhaps starting with the Minimum Information About a Microarray Experiment - MIAME format 
                <sup>
                    <xref ref-type="bibr" rid="rep-ref-16545-1">1</xref>
                </sup> and exprSet classes developed in R about 15 years ago before the genomics standards consortium (formed in 2005), for which biom-format is a member.</p>
            <p> The authors posit that the BIOM format version 2 / 2.1 that moved to HDF5 made it impossible for javascript libraries to manipulate it natively. We found a javascript library that &#x201c;takes advantage of the compatibility of V8 and HDF5&#x201d;. Were the authors unable to build from this library to take advantage of the version 2 BIOM format? The BIOM version 2 / 2.1 formats were designed specifically to handle many of the shortcomings of the version 1 in terms of memory and design. It would be advantageous of the users to build from this if possible to at least read in the BIOM v2.1 HDF5 files.</p>
            <p> In my own installation of the software, I keep getting error messages when I attempt to create a biom object, see here: 
                <ext-link ext-link-type="uri" xlink:href="http://tinyurl.com/f1000-review">http://tinyurl.com/f1000-review</ext-link>. If the reviewers could please clarify the installation guide on the github repo.</p>
            <p> Minor comments:</p>
            <p> The second sentence needs clarification. &#x201c;Despite this increase, for many of these studies the general basic layout of the data is similar to traditional assessment after bioinformatical processing, yet complications arise due to the increased size of the data tables.&#x201d;</p>
            <p> The citation for the BIOM interface R package has been deprecated. The appropriate citation is: Paul J. McMurdie and Joseph N Paulson (2015). 
                <italic>biomformat: An interface package for the BIOM file format.</italic> R/Bioconductor package version 1.0.0.
                <sup>
                    <xref ref-type="bibr" rid="rep-ref-16545-2">2</xref>
                </sup>.</p>
            <p>Reviewer Expertise:</p>
            <p>NA</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above.</p>
        </body>
        <back>
            <ref-list>
                <title>References</title>
                <ref id="rep-ref-16545-1">
                    <label>1</label>
                    <mixed-citation publication-type="journal">
                        <person-group person-group-type="author"/>:
                        <article-title>Minimum information about a microarray experiment (MIAME)-toward standards for microarray data.</article-title>
                        <source>
                            <italic>Nat Genet</italic>
                        </source>.<year>2001</year>;<volume>29</volume>(<issue>4</issue>) :
                        <elocation-id>10.1038/ng1201-365</elocation-id>
                        <fpage>365</fpage>-<lpage>71</lpage>
                        <pub-id pub-id-type="pmid">11726920</pub-id>
                        <pub-id pub-id-type="doi">10.1038/ng1201-365</pub-id>
                    </mixed-citation>
                </ref>
                <ref id="rep-ref-16545-2">
                    <label>2</label>
                    <mixed-citation>
                        <person-group person-group-type="author"/>:
                        <article-title>biomformat: An interface package for the BIOM file format</article-title>.
                        <source>
                            <italic>R/Bioconductor package version 1.0.0</italic>
                        </source>.<year>2015</year>;
                        <ext-link ext-link-type="uri" xlink:href="https://www.bioconductor.org/packages/release/bioc/vignettes/biomformat/inst/doc/biomformat.html">Reference source</ext-link>
                    </mixed-citation>
                </ref>
            </ref-list>
        </back>
        <sub-article article-type="response" id="comment2385-16545">
            <front-stub>
                <contrib-group>
                    <contrib contrib-type="author">
                        <name>
                            <surname>Ankenbrand</surname>
                            <given-names>Markus J.</given-names>
                        </name>
                        <aff>University of W&#x00fc;rzburg, Germany</aff>
                    </contrib>
                </contrib-group>
                <author-notes>
                    <fn fn-type="conflict">
                        <p>
                            <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                    </fn>
                </author-notes>
                <pub-date pub-type="epub">
                    <day>23</day>
                    <month>12</month>
                    <year>2016</year>
                </pub-date>
            </front-stub>
            <body>
                <p>Thanks a lot for the thorough review and the good suggestions for improvement. Find our point by point answers below (original comments in bold):</p>
                <p> </p>
                <p> 
                    <bold>There is a historical context that Ankenbrand et al. miss in discussing biom-format and subsequently imply that the biom-format is more widely adopted than being field specific format. If the authors leave the introduction more general, then I would suggest they include more background on the history of high-throughput data storage and reproducibility in programmatic languages, perhaps starting with the Minimum Information About a Microarray Experiment - MIAME format 1 and exprSet classes developed in R about 15 years ago before the genomics standards consortium (formed in 2005), for which biom-format is a member.</bold>
                </p>
                <p> As suggested we extended the introduction to cover more of the historical context.</p>
                <p> </p>
                <p> 
                    <bold>The authors posit that the BIOM format version 2 / 2.1 that moved to HDF5 made it impossible for javascript libraries to manipulate it natively. We found a javascript library that &#x201c;takes advantage of the compatibility of V8 and HDF5&#x201d;. Were the authors unable to build from this library to take advantage of the version 2 BIOM format? The BIOM version 2 / 2.1 formats were designed specifically to handle many of the shortcomings of the version 1 in terms of memory and design. It would be advantageous of the users to build from this if possible to at least read in the BIOM v2.1 HDF5 files.</bold>
                </p>
                <p> There is a fine distinction between JavaScript inside a browser and on a server (nodejs) that we previously did not make sufficiently clear in our manuscript. For the nodejs environment there is in fact a library that handles data in HDF5 format (https://github.com/HDF-NI/hdf5.node). As our library is supposed to work equally well in both environments we tried to port this library to the browser. Unfortunately that proofed to be infeasible even after contacting the developers of the library (see https://github.com/HDF-NI/hdf5.node/issues/29). We adjusted the manuscript to make clear that HDF5 is not natively supported in the browser rather than in javascript in general. Further we added a section discussing the downside of being limited to JSON and plans to overcome that at the end of the Application section.</p>
                <p> </p>
                <p> 
                    <bold>In my own installation of the software, I keep getting error messages when I attempt to create a biom object, see here: http://tinyurl.com/f1000-review. If the reviewers could please clarify the installation guide on the github repo.</bold>
                </p>
                <p> Thanks for finding that issue. We fixed the bug creating your issue, added a minimum required version of nodejs and improved the documentation.</p>
                <p> </p>
                <p> 
                    <bold>The second sentence needs clarification. &#x201c;Despite this increase, for many of these studies the general basic layout of the data is similar to traditional assessment after bioinformatical processing, yet complications arise due to the increased size of the data tables.&#x201d;</bold>
                </p>
                <p> Rephrased</p>
                <p> </p>
                <p> 
                    <bold>The citation for the BIOM interface R package has been deprecated. The appropriate citation is: Paul J. McMurdie and Joseph N Paulson (2015). biomformat: An interface package for the BIOM file format. R/Bioconductor package version 1.0.0.2.</bold>
                </p>
                <p> Fixed</p>
            </body>
        </sub-article>
    </sub-article>
    <sub-article article-type="reviewer-report" id="report16436">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.10362.r16436</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Bik</surname>
                        <given-names>Holly M.</given-names>
                    </name>
                    <xref ref-type="aff" rid="r16436a1">1</xref>
                    <role>Referee</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-4356-3837</uri>
                </contrib>
                <aff id="r16436a1">
                    <label>1</label>Department of Nematology, University of California Riverside, Riverside, CA, USA</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>I am the Principal Investigator on the Phinch framework (http://phinch.org) which is the underlying codebase used to generate the "Blackbird" application mentioned in this manuscript.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>18</day>
                <month>10</month>
                <year>2016</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2016 Bik HM</copyright-statement>
                <copyright-year>2016</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport16436" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.9618.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve-with-reservations</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>This manuscript describes the biojs-io-biom toolkit, which includes a conversion library and server for re-formatting Biological Observation Matrix (BIOM) files between versions 1.x (JSON-formatted) and 2.x (HDF5-formatted).</p>
            <p> </p>
            <p> The conversion library itself is extremely useful, since it will allow users to convert quickly between BIOM file formats without having to go back to the command line (e.g. QIIME) and easily reformat files for use in various applications.</p>
            <p> </p>
            <p> I do not have the necessary javascript expertise to comment on the codebase and conversion server backend, so I will offer some general comments on the practical applications outlined in the text:</p>
            <p> </p>
            <p> Since this project is based on the Phinch framework, I find the "Blackbird" rebranding of the fork to be very problematic. The "Blackbird" instance is really just an updated release of the Phinch framework, with some bug fixes, added features, and implementation of the new BIOM conversion server. The rebranding/renaming is confusing for the end user (see comment by other peer reviewer below), and mistakenly implies a number of scenarios that are not accurate: 1) that the authors were involved in the original development of data visualization tools, 2) that the Blackbird rebranding and design changes were approved from by the original developers, and 3) the "Blackbird" project represents a significant expansion or retooling of the current Phinch framework. I&#x2019;m fully aware that this is open source software and the authors are free to reuse and share the Phinch codebase, but I don't really see the utility of the "Blackbird" rebranding, and creating an additional web instance that mostly replicates the functionality of 
                <ext-link ext-link-type="uri" xlink:href="http://phinch.org">http://phinch.org</ext-link>&#x00a0;will confuse end users.</p>
            <p> </p>
            <p> Since the authors here are really community contributors to the original Phinch project, I would recommend eliminating the "Blackbird" rebranding of the project, and reverting back to Phinch branding (citing the framework release as Phinch v2.0). We will then initiate a pull request to update the bug fixes and integrate the new biojs-io-biom source code to be live on 
                <ext-link ext-link-type="uri" xlink:href="http://phinch.org">http://phinch.org</ext-link>&#x00a0; The visual layout for Phinch (name, logo and visualization layout) was thoughtfully constructed, and the new Blackbird logo and visual modifications will likely interfere with &#x201c;brand recognition&#x201d; that should be attributed to the original Phinch framework.</p>
            <p> </p>
            <p> Once this pull request is initiated and completed, the &#x201c;Application&#x201d; manuscript text should be updated to reflect the live implementation of the conversion library on a v2.0 Phinch framework at 
                <ext-link ext-link-type="uri" xlink:href="http://phinch.org">phinch.org</ext-link>.</p>
            <p> </p>
            <p> Other minor comments: 
                <list list-type="bullet">
                    <list-item>
                        <p>Can you please provide details on how and where the "Blackbird" instance and biom-conversion-server are currently hosted (e.g. Amazon AWS)?</p>
                    </list-item>
                    <list-item>
                        <p>Please list the public landing page for the applications mentioned in the text (in case users want to access these tools directly) - e.g. 
                            <ext-link ext-link-type="uri" xlink:href="https://biomcs.iimog.org">https://biomcs.iimog.org</ext-link>
                        </p>
                    </list-item>
                    <list-item>
                        <p>The biom-conversion-server does not appear to be backwards compatible (I could not upload and convert a BIOM 1.x file to 2.x format) - this one-way conversion functionality is should be clearly indicated in the first paragraph of the &#x201c;Application&#x201d; section. In addition, if users try to upload a BIOM 1.0 file they should be presented with an appropriate error message (I didn&#x2019;t see one - the tool just froze when I attempted to upload a BIOM 1.0 file).</p>
                    </list-item>
                    <list-item>
                        <p>There are other BIOM conversion servers that exist, e.g. implementations within the Galaxy framework - see&#x00a0;
                            <ext-link ext-link-type="uri" xlink:href="https://toolshed.g2.bx.psu.edu/repository/display_tool?repository_id=b3ae8ca9317b000e&amp;render_repository_actions_for=tool_shed&amp;tool_config=%2Fsrv%2Ftoolshed%2Fmain%2Fvar%2Fdata%2Frepos%2F002%2Frepo_2436%2Fbiom_convert.xml&amp;changeset_revision=501c21cce614">https://toolshed.g2.bx.psu.edu/repository/display_tool?repository_id=b3ae8ca9317b000e&amp;render_repository_actions_for=tool_shed&amp;tool_config=%2Fsrv%2Ftoolshed%2Fmain%2Fvar%2Fdata%2Frepos%2F002%2Frepo_2436%2Fbiom_convert.xml&amp;changeset_revision=501c21cce614</ext-link>&#x00a0;- these alternate tools should be mentioned in the text. How does the biom-conversion-server compare with (and potentially improve on) such Galaxy based tools?</p>
                    </list-item>
                </list>
            </p>
            <p>Reviewer Expertise:</p>
            <p>NA</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above.</p>
        </body>
        <sub-article article-type="response" id="comment2384-16436">
            <front-stub>
                <contrib-group>
                    <contrib contrib-type="author">
                        <name>
                            <surname>Ankenbrand</surname>
                            <given-names>Markus J.</given-names>
                        </name>
                        <aff>University of W&#x00fc;rzburg, Germany</aff>
                    </contrib>
                </contrib-group>
                <author-notes>
                    <fn fn-type="conflict">
                        <p>
                            <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                    </fn>
                </author-notes>
                <pub-date pub-type="epub">
                    <day>23</day>
                    <month>12</month>
                    <year>2016</year>
                </pub-date>
            </front-stub>
            <body>
                <p>Thanks a lot for taking the time to review this article and for the good suggestions for improvement. Find our point by point answers below (original comments in bold):</p>
                <p> </p>
                <p> 
                    <bold>Since this project is based on the Phinch framework, I find the "Blackbird" rebranding of the fork to be very problematic. The "Blackbird" instance is really just an updated release of the Phinch framework, with some bug fixes, added features, and implementation of the new BIOM conversion server. The rebranding/renaming is confusing for the end user (see comment by other peer reviewer below), and mistakenly implies a number of scenarios that are not accurate:</bold>
                </p>
                <p>
                    <bold> &#x00a0;1) that the authors were involved in the original development of data visualization tools,</bold>
                </p>
                <p>
                    <bold> &#x00a0;2) that the Blackbird rebranding and design changes were approved from by the original developers, and</bold>
                </p>
                <p>
                    <bold> &#x00a0;3) the "Blackbird" project represents a significant expansion or retooling of the current Phinch framework.</bold>
                </p>
                <p>
                    <bold> I&#x2019;m fully aware that this is open source software and the authors are free to reuse and share the Phinch codebase, but I don't really see the utility of the "Blackbird" rebranding, and creating an additional web instance that mostly replicates the functionality of http://phinch.org will confuse end users. Since the authors here are really community contributors to the original Phinch project, I would recommend eliminating the "Blackbird" rebranding of the project, and reverting back to Phinch branding (citing the framework release as Phinch v2.0).We will then initiate a pull request to update the bug fixes and integrate the new biojs-io-biom source code to be live on http://phinch.org The visual layout for Phinch (name, logo and visualization layout) was thoughtfully constructed, and the new Blackbird logo and visual modifications will likely interfere with &#x201c;brand recognition&#x201d; that should be attributed to the original Phinch framework. Once this pull request is initiated and completed, the &#x201c;Application&#x201d; manuscript text should be updated to reflect the live implementation of the conversion library on a v2.0 Phinch framework at phinch.org.</bold>
                </p>
                <p> Thanks for sharing your thoughts on this delicate topic. We are grateful to you for suggesting a more satisfactory solution. As you suggested we prepared the pull request that integrates the additional features into Phinch and removed Blackbird branding from our fork. We look forward to the changes going live on phinch.org. We will use the same procedure for future improvements as long as you are interested in merging them.</p>
                <p> </p>
                <p> 
                    <bold>Can you please provide details on how and where the "Blackbird" instance and biom-conversion-server are currently hosted (e.g. Amazon AWS)?</bold>
                </p>
                <p> The biom-conversion-server and the Phinch preview instance are both docker containers currently running on a virtual machine with Ubuntu 16.04 (2GB RAM, 1CPU) on a dedicated server hosted by Hetzner.</p>
                <p> </p>
                <p> 
                    <bold>Please list the public landing page for the applications mentioned in the text (in case users want to access these tools directly) - e.g. https://biomcs.iimog.org</bold>
                </p>
                <p> Added links to the manuscript</p>
                <p> </p>
                <p> 
                    <bold>The biom-conversion-server does not appear to be backwards compatible (I could not upload and convert a BIOM 1.x file to 2.x format) - this one-way conversion functionality is should be clearly indicated in the first paragraph of the &#x201c;Application&#x201d; section. In addition, if users try to upload a BIOM 1.0 file they should be presented with an appropriate error message (I didn&#x2019;t see one - the tool just froze when I attempted to upload a BIOM 1.0 file).</bold>
                </p>
                <p> In general the biom-conversion-server is not limited to one way conversion. Attempts to replicate the described behaviour were not successful so it might be a problem with a specific BIOM file. We are eager to find the cause of this issue and opened a bug report here: https://github.com/molbiodiv/biom-conversion-server/issues/4</p>
                <p> However we need your assistance in tracking down this bug.</p>
                <p> </p>
                <p> 
                    <bold>There are other BIOM conversion servers that exist, e.g. implementations within the Galaxy framework - see 
                        <ext-link ext-link-type="uri" xlink:href="https://toolshed.g2.bx.psu.edu/repository/display_tool?repository_id=b3ae8ca9317b000e&amp;render_repository_actions_for=tool_shed&amp;tool_config=%2Fsrv%2Ftoolshed%2Fmain%2Fvar%2Fdata%2Frepos%2F002%2Frepo_2436%2Fbiom_convert.xml&amp;changeset_revision=501c21cce614">https://toolshed.g2.bx.psu.edu/repository/display_tool?repository_id=b3ae8ca9317b000e&amp;render_repository_actions_for=tool_shed&amp;tool_config=%2Fsrv%2Ftoolshed%2Fmain%2Fvar%2Fdata%2Frepos%2F002%2Frepo_2436%2Fbiom_convert.xml&amp;changeset_revision=501c21cce614</ext-link> - these alternate tools should be mentioned in the text. How does the biom-conversion-server compare with (and potentially improve on) such Galaxy based tools?</bold>
                </p>
                <p> Thanks for pointing that out. We included the Galaxy biom_convert tool in our discussion.</p>
            </body>
        </sub-article>
    </sub-article>
    <sub-article article-type="reviewer-report" id="report16546">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.10362.r16546</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>McDonald</surname>
                        <given-names>Daniel</given-names>
                    </name>
                    <xref ref-type="aff" rid="r16546a1">1</xref>
                    <role>Referee</role>
                </contrib>
                <contrib contrib-type="author">
                    <name>
                        <surname>Bolyen</surname>
                        <given-names>Evan</given-names>
                    </name>
                    <xref ref-type="aff" rid="r16546a2">2</xref>
                    <role>Co-referee</role>
                </contrib>
                <aff id="r16546a1">
                    <label>1</label>Department of Pediatrics, University of California, San Diego, La Jolla, CA, USA</aff>
                <aff id="r16546a2">
                    <label>2</label>Center for Microbial Genetics and Genomics, Northern Arizona University, Flagstaff, AZ, USA</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>3</day>
                <month>10</month>
                <year>2016</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2016 McDonald D and Bolyen E</copyright-statement>
                <copyright-year>2016</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport16546" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.9618.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve-with-reservations</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>In Ankenbrand 
                <italic>et al</italic>, the authors develop a library to enable interaction with BIOM, a file format common in the microbiome field, from the JavaScript programming language. JavaScript is a staple of web-development, and the ability to interact with BIOM formatted files via JavaScript will facilitate the development of web-based tools for microbiome research. As the authors note, libraries for the interaction BIOM files have only been implemented so far in Python, R and Perl. And while Python and Perl have a strong web presence, they are not natively supported in modern web browsers as JavaScript is, and often rely on server-side processing as opposed to the client-side paradigms which JavaScript excels at.</p>
            <p> </p>
            <p> 
                <bold>General comments</bold> 
                <list list-type="bullet">
                    <list-item>
                        <p>The API provided by BioJS is minimal. Notably, methods for partitioning, collapsing, transforming, filtering and subsampling are not present. While developers will be able to access sample or observation profiles as a whole, the current release of BioJS pushes much of the common manipulation logic onto the consumer of the library.</p>
                    </list-item>
                    <list-item>
                        <p>The in memory representation of the data following parse by BioJS are either in a dense matrix, or in a dict of keys style sparse representation. As the authors note, specialized methods will need to be created to handle large data efficiently,&#x00a0;however the authors may wish to consider placing emphasis instead&#x00a0;on&#x00a0;specialized data structures such as compressed sparse row or column.</p>
                    </list-item>
                    <list-item>
                        <p>The highlight with Blackbird is great to see but we were confused by the intention of the Github fork. The codebase suggests that it is more than just a proof of concept to highlight BioJS as there is project-specific branding. Would the authors consider clarifying their position with Blackbird?</p>
                    </list-item>
                    <list-item>
                        <p>The primary motivator for the development of BIOM-format 2.1.0 were scaling limitations inherent with the JSON-based representation of 1.0.0. Specifically, the &#x201c;data&#x201d; key of the JSON string must be parsed in full in order to random access to individual sample or observation data. This removes the possibility of algorithms which depend on efficient random access patterns for data too large for main memory. Additionally, the overhead associated with representing a large JSON object in memory is high. While we acknowledge HDF5 possesses challenges for web-based interaction with these data, it is important to note that the 1.0.0 JSON-based format is not recommended for modern sized studies using hundreds to thousands to tens of thousands of samples.</p>
                    </list-item>
                    <list-item>
                        <p>The use of the conversion server is very cool and could be taken a step further by layering a light communication API on top to allow a client to request arbitrary samples. This separation would remove the burden of the client needing to read HDF5 formatted files, greatly lower the memory footprint of the client, and likely be more performant than a pure client-side model as the client would only need to know about what it had requested. This expansion of biojs-io-biom, in our opinion, would have the greatest impact for expanding the use of BIOM formatted data within a web application.</p>
                    </list-item>
                </list> 
                <bold>Major</bold> 
                <list list-type="bullet">
                    <list-item>
                        <p>When the authors refer to BIOM v2, we believe they are actually referring to BIOM v2.1.0. There are important distinctions between the format versions.&#x00a0;Would the authors consider clarifying the minor version number in discussion?</p>
                    </list-item>
                </list> 
                <bold>Minor</bold> 
                <list list-type="bullet">
                    <list-item>
                        <p>The two uses of &#x201c;accession functions&#x201d; reads awkwardly as these types of methods are generally described as &#x201c;accessor functions.&#x201d; Would the authors consider revising the phrasing?</p>
                    </list-item>
                </list> 
                <bold>Disclosures</bold>
            </p>
            <p> Daniel McDonald and Evan Bolyen are developers for the BIOM-Format Project.</p>
            <p>Reviewer Expertise:</p>
            <p>NA</p>
            <p>We confirm that we have read this submission and believe that we have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however we have significant reservations, as outlined above.</p>
        </body>
        <sub-article article-type="response" id="comment2383-16546">
            <front-stub>
                <contrib-group>
                    <contrib contrib-type="author">
                        <name>
                            <surname>Ankenbrand</surname>
                            <given-names>Markus J.</given-names>
                        </name>
                        <aff>University of W&#x00fc;rzburg, Germany</aff>
                    </contrib>
                </contrib-group>
                <author-notes>
                    <fn fn-type="conflict">
                        <p>
                            <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                    </fn>
                </author-notes>
                <pub-date pub-type="epub">
                    <day>23</day>
                    <month>12</month>
                    <year>2016</year>
                </pub-date>
            </front-stub>
            <body>
                <p>We thank the reviewers for their constructive comments that helped us improve the manuscript. Find our point by point answers below (original comments in bold):</p>
                <p> </p>
                <p> 
                    <bold>The API provided by BioJS is minimal. Notably, methods for partitioning, collapsing, transforming, filtering and subsampling are not present. While developers will be able to access sample or observation profiles as a whole, the current release of BioJS pushes much of the common manipulation logic onto the consumer of the library.</bold>
                </p>
                <p> Thanks for pointing that out. We continuously add more functions to make use of our library more convenient. I opened a dedicated issue listing the functions that are present in the python library but lacking in ours (https://github.com/molbiodiv/biojs-io-biom/issues/16). We already implemented functions for transformation, normalization and filtering in order to get more feature complete.</p>
                <p> </p>
                <p> 
                    <bold>The in memory representation of the data following parse by BioJS are either in a dense matrix, or in a dict of keys style sparse representation. As the authors note, specialized methods will need to be created to handle large data efficiently, however the authors may wish to consider placing emphasis instead on specialized data structures such as compressed sparse row or column.</bold>
                </p>
                <p> That is a very good point and something we are evaluating at the moment.</p>
                <p> </p>
                <p> 
                    <bold>The highlight with Blackbird is great to see but we were confused by the intention of the Github fork. The codebase suggests that it is more than just a proof of concept to highlight BioJS as there is project-specific branding. Would the authors consider clarifying their position with Blackbird?</bold>
                </p>
                <p> After feedback from Holly Bik (Principal Investigator on the Phinch framework) we agreed to remove the Blackbird branding and instead merge our improvements back into Phinch. Therefore, we removed references to Blackbird from the manuscript. For more details see the referee report by Holly Bik (18 Oct 2016) and this discussion on GitHub: https://github.com/PitchInteractiveInc/Phinch/issues/63</p>
                <p> </p>
                <p> 
                    <bold>The primary motivator for the development of BIOM-format 2.1.0 were scaling limitations inherent with the JSON-based representation of 1.0.0. Specifically, the &#x201c;data&#x201d; key of the JSON string must be parsed in full in order to random access to individual sample or observation data. This removes the possibility of algorithms which depend on efficient random access patterns for data too large for main memory. Additionally, the overhead associated with representing a large JSON object in memory is high. While we acknowledge HDF5 possesses challenges for web-based interaction with these data, it is important to note that the 1.0.0 JSON-based format is not recommended for modern sized studies using hundreds to thousands to tens of thousands of samples.</bold>
                </p>
                <p> This is a valid point. By using the JSON representation for our library we re-introduce the limitations of BIOM-format 1.0. We hope to support the HDF5 format in the future. However even with support of HDF5 loading full tables with tens of thousands of samples into the browser might be too memory intensive. Therefore, the next thing we would like to try is the extension of the conversion server with the communication API as you suggested. We added a short paragraph clearly stating our shortcoming and discussing the possible solution at the end of the Application section.</p>
                <p> </p>
                <p> 
                    <bold>The use of the conversion server is very cool and could be taken a step further by layering a light communication API on top to allow a client to request arbitrary samples. This separation would remove the burden of the client needing to read HDF5 formatted files, greatly lower the memory footprint of the client, and likely be more performant than a pure client-side model as the client would only need to know about what it had requested. This expansion of biojs-io-biom, in our opinion, would have the greatest impact for expanding the use of BIOM formatted data within a web application.</bold>
                </p>
                <p> This is a great suggestion and we are eager to work on that for the next major release. We also added this as a future prospect to the manuscript.</p>
                <p> </p>
                <p> 
                    <bold>When the authors refer to BIOM v2, we believe they are actually referring to BIOM v2.1.0. There are important distinctions between the format versions. Would the authors consider clarifying the minor version number in discussion?</bold>
                </p>
                <p> We added the minor version number whenever we refer to the BIOM format. We left the patch level out as the documentation on biom-format.org only lists the three versions (1.0, 2.0, 2.1). If you feel that the patch level is relevant as well we will gladly add that, too.</p>
                <p> </p>
                <p> 
                    <bold>The two uses of &#x201c;accession functions&#x201d; reads awkwardly as these types of methods are generally described as &#x201c;accessor functions.&#x201d; Would the authors consider revising the phrasing?</bold>
                </p>
                <p> Thanks a lot. We revised the phrasing.</p>
            </body>
        </sub-article>
    </sub-article>
</article>
