<?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.175540.1</article-id>
            <article-categories>
                <subj-group subj-group-type="heading">
                    <subject>Software Tool Article</subject>
                </subj-group>
                <subj-group>
                    <subject>Articles</subject>
                </subj-group>
            </article-categories>
            <title-group>
                <article-title>Workflow graphical editor and translator to Nextflow</article-title>
                <fn-group content-type="pub-status">
                    <fn>
                        <p>[version 1; peer review: 2 approved with reservations]</p>
                    </fn>
                </fn-group>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>Kiselev</surname>
                        <given-names>Ilya</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Methodology</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0003-1057-5986</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>Ryabova</surname>
                        <given-names>Anna</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Visualization</role>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>Kolpakov</surname>
                        <given-names>Fedor</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Funding Acquisition</role>
                    <role content-type="http://credit.niso.org/">Project Administration</role>
                    <role content-type="http://credit.niso.org/">Supervision</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <xref ref-type="corresp" rid="c2">b</xref>
                    <xref ref-type="aff" rid="a1">1</xref>
                    <xref ref-type="aff" rid="a2">2</xref>
                </contrib>
                <aff id="a1">
                    <label>1</label>Biosoft.Ru, Ltd., Novosbirsk, 630058, Russian Federation</aff>
                <aff id="a2">
                    <label>2</label>Department of Computational Biology, Sirius University of Science and Technology, Sirius, 354340, Russian Federation</aff>
            </contrib-group>
            <author-notes>
                <corresp id="c1">
                    <label>a</label>
                    <email xlink:href="mailto:axec@biosoft.ru">axec@biosoft.ru</email>
                </corresp>
                <corresp id="c2">
                    <label>b</label>
                    <email xlink:href="mailto:kolpakov.fa@talantiuspeh.ru">kolpakov.fa@talantiuspeh.ru</email>
                </corresp>
                <fn fn-type="conflict">
                    <p>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>29</day>
                <month>1</month>
                <year>2026</year>
            </pub-date>
            <pub-date pub-type="collection">
                <year>2026</year>
            </pub-date>
            <volume>15</volume>
            <elocation-id>138</elocation-id>
            <history>
                <date date-type="accepted">
                    <day>14</day>
                    <month>1</month>
                    <year>2026</year>
                </date>
            </history>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Kiselev I et al.</copyright-statement>
                <copyright-year>2026</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/15-138/pdf"/>
            <abstract>
                <title>Abstract*</title>
                <sec>
                    <title>Background</title>
                    <p>The Workflow Description Language (WDL) is an open standard that is widely used for bioinformatics workflows. Due to its declarative nature WDL workflows can be easily presented and edited as graphs. Nextflow is both domain specific language for bioinformatics workflows and a convenient workflow execution engine. Our objective was to develop a tool that allows a user to edit WDL workflows visually as a graph providing synchronisation between its textual and graphical representation.</p>
                </sec>
                <sec>
                    <title>Methods</title>
                    <p>Translation of WDL workflows into Nextflow ones allows usage of both languages with the same execution engine. BioUML platform provides class library for object oriented presentation of most common workflow concepts as well as plugins for workflow visualisation and its graphical editing. </p>
                </sec>
                <sec>
                    <title>Results</title>
                    <p>We have developed a WDL parser that with some limitations maps content of WDL workflows into its object-oriented presentation (model). This model can be visualised and edited as a graph. WDL and Nextflow generators create WDL and Nextflow text from the same model.</p>
                </sec>
                <sec>
                    <title>Conclusions</title>
                    <p>Developed tools are available as a standalone Java program, web server, web service and a plugin for the BioUML platform.</p>
                </sec>
            </abstract>
            <kwd-group kwd-group-type="author">
                <kwd>workflow</kwd>
                <kwd>pipeline</kwd>
                <kwd>graph</kwd>
                <kwd>WDL</kwd>
                <kwd>Nextflow</kwd>
                <kwd>BioUML</kwd>
            </kwd-group>
            <funding-group>
                <award-group id="fund-1">
                    <funding-source>&#x00ab;Sirius&#x00bb; Federal Territory</funding-source>
                    <award-id>Grantofthestateprogramofthe&#x00ab;Sirius&#x00bb;FederalTerritory&#x00ab;Scientificandtechnologicaldevelopmentofthe&#x00ab;Sirius&#x00bb;FederalTerritory&#x00bb;(Agreement&#x2116;3-03dated18.09.2025)</award-id>
                </award-group>
                <funding-statement>The author(s) declared that no grants were involved in supporting this work.</funding-statement>
            </funding-group>
        </article-meta>
    </front>
    <body>
        <sec id="sec5" sec-type="intro">
            <title>Introduction</title>
            <p>Workflow languages are widely used when production systems analyze biomedical data since they provide consistent processing of batches of data, reproducible processing of a particular dataset, restart and reentry, data provenance, and other desirable properties, such as the ability to easily share bioinformatics pipelines with others.
                <sup>
                    <xref ref-type="bibr" rid="ref1">1</xref>
                </sup>
            </p>
            <p>For this reason, a wide variety of workflow languages and workflow managers are used in bioinformatics. For example, the most complete list of computational data analysis workflow systems
                <sup>
                    <xref ref-type="bibr" rid="ref2">2</xref>
                </sup> contains 350+ entries.</p>
            <p>The popularity of particular workflow languages and workflow managers varies by subfield, data type, computing environment, and over time. 
                <xref ref-type="table" rid="T1">
Table 1</xref> summarizes the number of workflows by used languages in the main workflow registries related with bioinformatics: Dockstore
                <sup>
                    <xref ref-type="bibr" rid="ref3">3</xref>
                </sup> and WorkflowHub.
                <sup>
                    <xref ref-type="bibr" rid="ref4">4</xref>
                </sup>
            </p>
            <table-wrap id="T1" orientation="portrait" position="float">
                <label>
Table 1. </label>
                <caption>
                    <title>Popularity of workflow languages.</title>
                    <p>WDL - Workflow Description Language, CWL - Common Workflow Language.</p>
                </caption>
                <table content-type="article-table" frame="hsides">
                    <thead>
                        <tr>
                            <th align="left" colspan="1" rowspan="1" valign="top">Workflow language</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Dockstore</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">
WorkflowHub</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">WDL</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">4603</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">8</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">CWL</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">232</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">111</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">Nextflow</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">201</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">167</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">Galaxy</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">159</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">713</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">Other</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">-</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">352</td>
                        </tr>
                    </tbody>
                </table>
            </table-wrap>
            <p>Here we briefly describe the top 4 workflow languages listed in 
                <xref ref-type="table" rid="T1">Table 1</xref> and corresponding workflow systems.</p>
            <p>

                <bold>WDL</bold> - Workflow Description Language
                <sup>
                    <xref ref-type="bibr" rid="ref5">5</xref>
                </sup> was originally developed for the Broad Institute&#x2019;s genomic analysis pipelines. Now it is an open standard for describing data processing workflows with a human-readable and writeable syntax. WDL makes it straightforward to define analysis tasks, connect them together in workflows, and parallelize their execution. The language enables common patterns, such as scatter-gather and conditional execution, to be expressed simply.
                <sup>
                    <xref ref-type="bibr" rid="ref6">6</xref>
                </sup>
            </p>
            <p>To execute WDL scripts there are two main workflow engines:
                <list list-type="bullet">
                    <list-item>
                        <label>-</label>
                        <p>Cromwell
                            <sup>
                                <xref ref-type="bibr" rid="ref7">7</xref>
                            </sup> - is a production-grade workflow execution engine developed by the Broad Institute. It is written in Scala and is designed for high-scale execution of WDL workflows, particularly in cloud environments like Google Cloud Platform (GCP) or on local clusters. Many users run their WDL workflows in Terra,
                            <sup>
                                <xref ref-type="bibr" rid="ref8">8</xref>
                            </sup> a managed cloud bioinformatics platform with built-in WDL support provided by Cromwell.</p>
                    </list-item>
                    <list-item>
                        <label>-</label>
                        <p>miniWDL
                            <sup>
                                <xref ref-type="bibr" rid="ref9">9</xref>
                            </sup> - is a lightweight WDL runtime and developer toolkit, developed by the Chan Zuckerberg Initiative. It is written in Python and is primarily geared towards local development, testing, and prototyping of WDL workflows. It can execute WDLs, and is often favored for its ease of installation and use in a local development environment, providing tools for linting, parsing, and running WDLs with minimal setup compared to Cromwell.</p>
                    </list-item>
                </list>
            </p>
            <p>

                <bold>CWL</bold> - Common Workflow Language
                <sup>
                    <xref ref-type="bibr" rid="ref10">10</xref>,
                    <xref ref-type="bibr" rid="ref11">11</xref>
                </sup> is another open, community-led standard designed for describing analysis workflows and command-line tools in a portable and scalable way. CWL workflows use YAML syntax to define inputs, outputs, and execution steps, allowing them to be run consistently across different computing environments, including workstations, clusters and clouds. cwltool
                <sup>
                    <xref ref-type="bibr" rid="ref12">12</xref>
                </sup> is the reference implementation of the CWL standards. Other implementations are listed at the dedicated website.
                <sup>
                    <xref ref-type="bibr" rid="ref13">13</xref>
                </sup>
            </p>
            <p>

                <bold>Nextflow</bold>
                <sup>
                    <xref ref-type="bibr" rid="ref14">14</xref>,
                    <xref ref-type="bibr" rid="ref15">15</xref>
                </sup> is an open-source workflow management system and a domain-specific language (DSL) designed for writing and executing scalable and reproducible scientific workflows. It is based on a reactive dataflow programming model, where tasks are triggered automatically when input data becomes available or changes, allowing natural parallelism without the user having to manage low-level details of task scheduling or resource locking. The DSL, based on Apache Groovy, lets users define workflows that integrate scripts in multiple languages (bash, Python, R, Ruby, etc.) and can reuse existing software tools without wrappers.</p>
            <p>nf-core
                <sup>
                    <xref ref-type="bibr" rid="ref16">16</xref>,
                    <xref ref-type="bibr" rid="ref17">17</xref>
                </sup> is a community-driven project that provides a curated set of standardized, best-practice analysis pipelines built using Nextflow. Significant effort has gone into developing tools, templates, and guidelines that enable domain experts to contribute to the community. The result is a set of high-quality pipelines that are portable, reproducible, fully documented, and cloud-ready.</p>
            <p>Seqera
                <sup>
                    <xref ref-type="bibr" rid="ref18">18</xref>
                </sup> is the company behind Nextflow and has supported the nf-core community since its inception. It has also developed the commercial workflow system Sequera platform and a powerful AI tool specializing in bioinformatics and nextflow language in particular - Sequera AI.
                <sup>
                    <xref ref-type="bibr" rid="ref19">19</xref>
                </sup>
            </p>
            <p>

                <bold>Galaxy</bold>
                <sup>
                    <xref ref-type="bibr" rid="ref20">20</xref>,
                    <xref ref-type="bibr" rid="ref21">21</xref>
                </sup> is an open-source, web-based bioinformatics workflow system implemented using the Python programming language. It is designed for accessible, reproducible, and transparent computational research. Its key feature is graphical workflow creation. Galaxy makes thousands of third-party open-source analysis packages easy to use, and interoperable without any user supplied code. For any new analysis package to become a tool, a developer prepares a Galaxy wrapper once, and uploads it to the sharable Galaxy global tool &#x2018;appstore&#x2019; called the Galaxy Toolshed.
                <sup>
                    <xref ref-type="bibr" rid="ref22">22</xref>
                </sup> However it uses proprietary JSON format to describe workflow components.</p>
            <p>It is desirable to have reliable tools that translate a workflow from one workflow language to another. There are several projects that try to solve this task.</p>
            <p>

                <bold>Seqera AI</bold> is a commercial tool that is able to convert CWL or WDL to Nextflow and vice-versa using Claude LLM. Seqera AI provides translation with step by step explanation and analysis of the script. It is also able to run generated Nextflow, find errors and automatically fix it. Seqera AI is a great tool for generating and modifying pipelines, studying Nextflow and running it with uploaded input files. However as an LLM it has certain limitations. It works without a clear algorithm of pipeline generation. Sometimes generated workflows are overcomplicated. Sometimes LLM hallucinates and produces scripts with errors which can not be easily traced. It also can get into never ending self fixing cycles. According to information at 
                <ext-link ext-link-type="uri" xlink:href="https://seqera.io/user">https://seqera.io/user</ext-link> may use Seqera AI freely with 250 chat sessions per month. Generation of even the simplest pipeline takes some time as requests should be passed to LLM.</p>
            <p>

                <bold>CNT</bold>
                <sup>
                    <xref ref-type="bibr" rid="ref1">1</xref>
                </sup> is a semiautomated translator converting CWL workflows into Nextflow ones. It integrates tool-level conversion, graph dependency analysis, and correctness checks to provide highly automated translation coverage, significantly reducing the development time while satisfying language-specific requirements like building a proper dataflow model when creating workflows. According to the authors estimate it can cover up to 81% of the original workflows.
                <sup>
                    <xref ref-type="bibr" rid="ref1">1</xref>
                </sup>
            </p>
            <p>

                <bold>Janis</bold>
                <sup>
                    <xref ref-type="bibr" rid="ref23">23</xref>
                </sup> is a framework creating specialised, simple workflow definitions that are then transpiled to CWL or WDL. Conversion to Nextflow is currently under progress.</p>
            <p>

                <bold>cwl2nxf</bold>
                <sup>
                    <xref ref-type="bibr" rid="ref24">24</xref>
                </sup> is a prototype conversion tool from CWL to Nextflow. However it is abandoned now.</p>
            <p>Since 2001 we have been developing the BioUML
                <sup>
                    <xref ref-type="bibr" rid="ref25">25</xref>
                </sup> platform - an integrated environment for systems biology and collaborative analysis of biomedical data. Like the Galaxy platform it provides a graphical web interface for workflow visualisation, creation and editing. geneXplain platform is a commercial version of BioUML platform and provides thousands of ready workflows for analysis of different omics data.</p>
            <p>BioUML uses its own format for workflow storage and engine for workflow execution. BioUML is also integrated with Galaxy, cwlTool, cromwell and Nextflow for execution of workflows in Galaxy, CWL and Nextflow formats correspondingly. However this integration is quite difficult and is not seamless.</p>
            <p>So now we are designing a new architecture where workflows in different formats can be converted into a common object-oriented model presented by a set of Java classes. This model can be visualised and edited as a graph. Then workflow text in different formats can be generated from this model.</p>
            <p>As a first step of this project we describe here mapping of WDL workflows into a common workflow model, editing graphs visually and generation of WDL and Nextflow scripts from this model.</p>
            <p>We have split corresponding parts of code from the BioUML project into an independent project on GitHub: 
                <ext-link ext-link-type="uri" xlink:href="https://github.com/genespace-ru/workflow-engine">https://github.com/genespace-ru/workflow-engine
</ext-link>. We hope that the created command line application, web application and web service will be useful for many users and can be used as parts of other projects related to workflows.</p>
        </sec>
        <sec id="sec6" sec-type="methods">
            <title>Methods</title>
            <sec id="sec7">
                <title>Implementation</title>
                <p>

                    <bold>

                        <italic toggle="yes">BioUML meta model.</italic>
</bold> Our tool is created on the base of the BioUML software (
                    <ext-link ext-link-type="uri" xlink:href="http://www.biouml.org">www.biouml.org</ext-link>). The meta-model is the core of the BioUML platform.
                    <sup>
                        <xref ref-type="bibr" rid="ref26">26</xref>
                    </sup> It provides an abstract layer (compartmentalized attributed graph) for comprehensive formal description of a wide range of biological and other complex systems. The content of databases on biological pathways (for example Reactome, PantherDB), SBML models, biological pathways in BioPAX format as well as workflows can be expressed in terms of the meta-model. This formal description can be used both for visual representation of the biological system structure and for automated code generation to simulate the model behavior.</p>
                <p>The meta-model describes the system as three interconnected parts:
                    <list list-type="order">
                        <list-item>
                            <label>1)</label>
                            <p>graph structure - the system structure is described as compartmentalized graph;</p>
                        </list-item>
                        <list-item>
                            <label>2)</label>
                            <p>database level - each graph element can contain a reference to an object in some database;</p>
                        </list-item>
                        <list-item>
                            <label>3)</label>
                            <p>executable model - any graph element can be associated with an element of a domain-specific model e.g. mathematical model or workflow.</p>
                        </list-item>
                    </list>
                </p>
                <p>It should be noted that the structure of the meta-model itself is problem-domain neutral and can be applied to a variety of fields including biological models or executable workflows for biomedical data analysis. 
                    <xref ref-type="fig" rid="f1">
Figure 1</xref> demonstrates an example of how WDL workflow can be presented in terms of this meta-model.</p>
                <fig fig-type="figure" id="f1" orientation="portrait" position="float">
                    <label>
Figure 1. </label>
                    <caption>
                        <title>Example of a simple workflow on different levels of meta-model.</title>
                    </caption>
                    <graphic id="gr1" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_figure1.gif"/>
                </fig>
                <p>

                    <bold>BioUML workflow graphical notation.</bold> In BioUML workflows are represented visually as graphs consisting of edges and nodes. Diagram elements and their notation is depicted in 
                    <xref ref-type="table" rid="T2">
Table 2</xref>. Each diagram element corresponds to a part of the workflow. The diagram can be automatically generated on the basis of the WDL script. Vice versa, WDL or Nextflow may be generated from the diagram.</p>
                <table-wrap id="T2" orientation="portrait" position="float">
                    <label>
Table 2. </label>
                    <caption>
                        <title>Workflow diagram elements in BioUML.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Element name</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Description</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Diagram element</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Task</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Task definition</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr6" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra1.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Input</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Input data for workflow</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr7" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra2.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Output</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Result of workflow execution</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr8" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra3.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Expression</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Intermediate step calculating variables</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr9" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra4.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Call</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Call of defined or imported task</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr10" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra5.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Cycle block</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">All elements inside this block are executed in cycle</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr11" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra6.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Conditional block</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">All elements inside this block are executed if condition is met</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr12" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra7.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Condition</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Boolean expression used for conditional block</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr13" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra8.gif"/>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Relation</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Defines data flow between workflow elements</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <graphic id="gr14" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_gra9.gif"/>
</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>

                    <bold>Graph layout.</bold> When we generate a visual diagram from text we also want to layout it automatically for user convenience and readability. BioUML provides a number of graph layout algorithms including hierarchic layouter suited for data flow representation, however it does not account for compartments (nodes inside nodes) in graph, while workflows may include nested cycles or conditional blocks of several level depth. On the basis of BioUML hierarchic layouter we have implemented a special layout algorithm for workflows which is performed as follows:
                    <list list-type="order">
                        <list-item>
                            <label>1.</label>
                            <p>The graph is divided into interconnected subgraphs each in its own compartment.</p>
                        </list-item>
                        <list-item>
                            <label>2.</label>
                            <p>We start with all subgraphs which do not contain nested compartments themselves and layout them with the standard BioUML algorithm.</p>
                        </list-item>
                        <list-item>
                            <label>3.</label>
                            <p>We consider all nodes in the layouted subgraphs fixed and change the size of the compartment containing them to wrap all inner nodes. We substitute the original compartments by enlarged nodes.</p>
                        </list-item>
                        <list-item>
                            <label>4.</label>
                            <p>If a layouted subgraph has edges connecting its inner nodes to other subgraphs we redirect all those edges from inner nodes to compartment enclosing subgraphs. Thus we obtain more high-level subgraphs without nested compartments.</p>
                        </list-item>
                        <list-item>
                            <label>5.</label>
                            <p>Steps 2-4 are performed until all subgraphs are layouted.</p>
                        </list-item>
                        <list-item>
                            <label>6.</label>
                            <p>We redirect all edges back to their initial inputs and outputs.</p>
                        </list-item>
                        <list-item>
                            <label>7.</label>
                            <p>We perform BioUML built-in algorithm to generate layout for all edges in graph.</p>
                        </list-item>
                    </list>
                </p>
                <p>

                    <bold>

                        <italic toggle="yes">WDL parser.</italic>
</bold> To generate a diagram from a WDL script we parse it into an abstract syntax tree using a parser generated with JavaCC grammar (
                    <ext-link ext-link-type="uri" xlink:href="https://javacc.github.io/">https://javacc.github.io/</ext-link>). Then on the base of the abstract syntax tree we generate a diagram.</p>
                <p>

                    <bold>

                        <italic toggle="yes">WDL and Nextflow generators.</italic>
</bold> To generate Nextflow and WDL scripts from the diagram we use Velocity (
                    <ext-link ext-link-type="uri" xlink:href="https://velocity.apache.org/">https://velocity.apache.org/</ext-link>) template engine executed in Java code. Velocity provides structure of generated script and fills in data using java methods.</p>
            </sec>
            <sec id="sec8">
                <title>Operation</title>
                <p>Web application and web form are accessible via any Internet browser. Users also may build their own instance of application from source code by performing following steps:
                    <list list-type="order">
                        <list-item>
                            <label>1.</label>
                            <p>Install Java 21 (JRE or JDK).</p>
                        </list-item>
                        <list-item>
                            <label>2.</label>
                            <p>Download source code from 
                                <ext-link ext-link-type="uri" xlink:href="https://github.com/genespace-ru/workflow-engine">https://github.com/genespace-ru/workflow-engine
</ext-link>.</p>
                        </list-item>
                        <list-item>
                            <label>3.</label>
                            <p>Build workflow-engine using maven:
                                <disp-quote>
                                    <p>mvn package -DskipTests</p>
                                </disp-quote>
                            </p>
                        </list-item>
                        <list-item>
                            <label>4.</label>
                            <p>Launch workflow-engine web edition with next command:
                                <disp-quote>
                                    <p>mvn jetty:run -Djetty.http.port=9998 -Dmaven.javadoc.skip=true -DskipTests=true</p>
                                </disp-quote>
                            </p>
                        </list-item>
                        <list-item>
                            <label>5.</label>
                            <p>Use your Internet browser to open 
                                <ext-link ext-link-type="uri" xlink:href="http://localhost:9998/">http://localhost:9998/</ext-link>
                            </p>
                        </list-item>
                    </list>
                </p>
                <p>Additional information on how to use web applications and install applications is available at 
                    <ext-link ext-link-type="uri" xlink:href="https://workflow-engine.readthedocs.io/en/latest/">https://workflow-engine.readthedocs.io/en/latest/</ext-link>.</p>
            </sec>
            <sec id="sec9">
                <title>Tests and examples</title>
                <p>To test WDL to Nextflow conversion we have created a set of tests. Each test includes a WDL script with particular workflow elements and structures. For each WDL we test
                    <list list-type="order">
                        <list-item>
                            <label>1.</label>
                            <p>Visual representation of script (WDL -&gt; Diagram).</p>
                        </list-item>
                        <list-item>
                            <label>2.</label>
                            <p>Round conversion (WDL -&gt; Diagram -&gt; WDL) with comparing input and output.</p>
                        </list-item>
                        <list-item>
                            <label>3.</label>
                            <p>Nextflow conversion (WDL -&gt; Nextflow) and compare with expected result.</p>
                        </list-item>
                        <list-item>
                            <label>4.</label>
                            <p>Nextflow execution (WDL -&gt; Nextflow -&gt; Execution).</p>
                        </list-item>
                    </list>
                </p>
                <p>Examples of WDL diagrams may be found at 
                    <ext-link ext-link-type="uri" xlink:href="https://workflow.genespace.ru/">https://workflow.genespace.ru/</ext-link> in repository folder WDL Examples.</p>
            </sec>
        </sec>
        <sec id="sec10">
            <title>Use cases</title>
            <sec id="sec11">
                <title>Command line application</title>
                <p>Command line application allows a user to:
                    <list list-type="bullet">
                        <list-item>
                            <label>-</label>
                            <p>convert WDL workflow into Nextflow format;</p>
                        </list-item>
                        <list-item>
                            <label>-</label>
                            <p>generate image in svg or png format for visual representation of workflow as graph using BioUML graphical notation (see &#x201c;Materials and Methods&#x201d;).</p>
                        </list-item>
                    </list>
                </p>
                <p>Documentation at 
                    <ext-link ext-link-type="uri" xlink:href="http://workflow-engine.readthedocs.io">workflow-engine.readthedocs.io</ext-link> describes how a user can install and use this program. Example of usage is provided on 
                    <xref ref-type="fig" rid="f2">
Figure 2</xref>.</p>
                <fig fig-type="figure" id="f2" orientation="portrait" position="float">
                    <label>
Figure 2. </label>
                    <caption>
                        <title>Simple WDL workflow; commands to convert it to Nextflow format and visual graph; generated workflow in Nextflow format; generated graph in BioUML workflow graphical notation.</title>
                    </caption>
                    <graphic id="gr2" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_figure2.gif"/>
                </fig>
            </sec>
            <sec id="sec12">
                <title>Web service</title>
                <p>Web service provides the same possibilities as the command line application but does not require a user to install the program. Documentation at 
                    <ext-link ext-link-type="uri" xlink:href="http://workflow-engine.readthedocs.io">workflow-engine.readthedocs.io</ext-link> describes how a user can use this service.</p>
                <p>We also have developed a simple web form (
                    <xref ref-type="fig" rid="f3">
Figure 3</xref>) where user can upload files with WDL workflow and get corresponding workflow in Nextflow format and its picture. The form is available at 
                    <ext-link ext-link-type="uri" xlink:href="http://wdl2nextflow.genespace.ru">wdl2nextflow.genespace.ru</ext-link>.</p>
                <fig fig-type="figure" id="f3" orientation="portrait" position="float">
                    <label>
Figure 3. </label>
                    <caption>
                        <title>Web form for WDL conversion.</title>
                    </caption>
                    <graphic id="gr3" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_figure3.gif"/>
                </fig>
            </sec>
            <sec id="sec13">
                <title>Web application</title>
                <p>Web application (
                    <xref ref-type="fig" rid="f4">
Figure 4</xref>) provides possibilities to edit workflow both visually as a graph and as text. Users may import WDL scripts as well as input files and store them in a repository. WDL script from the repository can be opened as a visual diagram, properties of each diagram element (i.e. task, expression, cycle, etc.) can be edited by right clicking on the element, diagram may be layouted manually by moving elements. In the bottom part of the web interface a textual version of the workflow generated from the diagram is presented (both WDL and Nextflow versions). Users can change the generated WDL script in the lower panel and then automatically update the diagram according to changes. Finally the user can specify inputs for workflow from the repository and execute workflow from tab Settings.</p>
                <fig fig-type="figure" id="f4" orientation="portrait" position="float">
                    <label>
Figure 4. </label>
                    <caption>
                        <title>Web application for workflow visualisation and editing.</title>
                        <p>A - repository tree. B - Visual representation of the opened workflow. C - Properties of selected workflow element. D - Textual representation.</p>
                    </caption>
                    <graphic id="gr4" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_figure4.gif"/>
                </fig>
                <p>A full manual on how to work with the platform can be found at 
                    <ext-link ext-link-type="uri" xlink:href="http://workflow-engine.readthedocs.io">workflow-engine.readthedocs.io</ext-link>.</p>
            </sec>
            <sec id="sec14">
                <title>Plug-in for BioUML platform</title>
                <p>The developed plug-in integrates functionality described in previous section into BioUML platform (
                    <xref ref-type="fig" rid="f5">
Figure 5</xref>).</p>
                <fig fig-type="figure" id="f5" orientation="portrait" position="float">
                    <label>
Figure 5. </label>
                    <caption>
                        <title>BioUML with workflow plugin.</title>
                    </caption>
                    <graphic id="gr5" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/193532/75f85eec-02b4-4a97-beca-d9fce45c37c1_figure5.gif"/>
                </fig>
            </sec>
        </sec>
        <sec id="sec15" sec-type="discussion">
            <title>Discussion</title>
            <p>While both WDL and Nextflow describe pipelines of interconnected tools, their approaches are very different which makes conversion between them harder.
                <list list-type="bullet">
                    <list-item>
                        <label>-</label>
                        <p>WDL uses intuitive syntax and a static structure of workflow with explicit cycles (scatters), arrays, tasks, inputs and outputs.</p>
                    </list-item>
                    <list-item>
                        <label>-</label>
                        <p>Nextflow on the other hand utilizes dataflow programming model approach, where data streams through channels that connect processes, cycles and arrays are implicit and hidden inside channels.</p>
                    </list-item>
                </list>
            </p>
            <p>Our aim was to develop a set of universal rules for generating Nextflow scripts based on the data model created from WDL formalism (tasks, expressions, cycles and conditional blocks).</p>
            <p>Description of tools connected into workflow (tasks in WDL and processes in Nextflow) are very similar in both languages and have the same structure with inputs, command, outputs and metadata, thus conversion is quite straightforward, with small changes to executing command itself necessary when WDL idioms are used (e.g. ~{sep=&#x201c; &#x201d; files} -&gt; files.join()).</p>
            <p>The main difficulty in conversion between WDL in Nextflow is dealing with arrays and cycles. WDL allows for very intuitive data manipulation while Nextflow tends to more idiomatic structures.</p>
            <p>In Nextflow channels are executed asynchronously as elements are delivered via channel and order of outputs is not determined by order of inputs. To emulate WDL behavior of a determined output array we used a &#x201c;fair true&#x201d; directive for each process which forces output order to be the same as input order. Netflow also has arrays and in some cases WDL arrays are translated to Nextflow arrays while in others to Nextflow channels. In order to facilitate work with them we defined support Groovy functions such as get (array, i). length (array) that can work both with arrays and channels. In some cases we need to be sure that we work with channels (e.g. running call in cycle for elements of array) to that end we use the function to Channel (array) which returns a channel in any case (input can be both array or channel).</p>
            <p>WDL defines a list of prebuilt functions such as &#x201c;basename&#x201d;, &#x201d;sub&#x201d;, &#x201c;read_int&#x201d; and so on. To ease conversion we have created Groovy functions with the same name and functionality. All those functions are stored in supplemented biouml_function.nf script which is included into Nextflow converted from WDL. This allows us to minimally change expressions during conversion (see 
                <xref ref-type="table" rid="T3">
Table 3</xref>).</p>
            <table-wrap id="T3" orientation="portrait" position="float">
                <label>
Table 3. </label>
                <caption>
                    <title>Example of conversion rule.</title>
                    <p>Range and length in nextflow are predefined Groovy functions to calculate length of array or channel and create channel with range. WDL - Workflow Description Language.</p>
                </caption>
                <table content-type="article-table" frame="hsides">
                    <thead>
                        <tr>
                            <th align="left" colspan="1" rowspan="1" valign="top">Name</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">WDL</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">
Nextflow</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">Cycle</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">scatter (i in range (length(C))) {
                                <break/>&#x2003;&#x2003;call myTask {
                                <break/>&#x2003;&#x2003;&#x2003;&#x2003;input: y= C [i]*2}
                                <break/>}</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">y = range (length(C)).map {i -&gt; C [i]*2}
                                <break/>myTask (y)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">If</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">scatter (x in array) {
                                <break/>&#x2003;&#x2003;if (x &gt; 2) {
                                <break/>&#x2003;&#x2003;&#x2003;&#x2003;call myTask {
                                <break/>&#x2003;&#x2003;&#x2003;&#x2003;input: y= x*2}
                                <break/>&#x2003;&#x2003;}
                                <break/>}</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">y = x.map{(it&gt;2)? it*2: null }
                                <break/>myTask (y)</td>
                        </tr>
                    </tbody>
                </table>
            </table-wrap>
            <p>A full table of conversion rules and defined Groovy functions is presented at 
                <ext-link ext-link-type="uri" xlink:href="http://workflow-engine.readthedocs.io">workflow-engine.readthedocs.io</ext-link>.</p>
            <p>We have tested our approach on a limited number of tests for conversion of WDL scripts into Nextlow ones. So it is possible that there are cases where incorrect Nextflow will be generated. We will continue our work to create a more powerful test suite. Also some WDL workflows can be translated in a more concise way using Nextflow&#x2019;s more complex structures.</p>
        </sec>
    </body>
    <back>
        <sec id="sec18" sec-type="data-availability">
            <title>Data availability</title>
            <p>No data is associated with this article.</p>
        </sec>
        <sec id="sec19">
            <title>Software availability</title>
            <p>Software is available at 
                <ext-link ext-link-type="uri" xlink:href="https://workflow.genespace.ru/">https://workflow.genespace.ru/</ext-link> (web application) and 
                <ext-link ext-link-type="uri" xlink:href="http://wdl2nextflow.genespace.ru">wdl2nextflow.genespace.ru</ext-link> (web form).</p>
            <p>Documentation is available at 
                <ext-link ext-link-type="uri" xlink:href="https://workflow-engine.readthedocs.io/en/latest/">https://workflow-engine.readthedocs.io/en/latest/</ext-link>.</p>
            <p>Source code available at 
                <ext-link ext-link-type="uri" xlink:href="https://github.com/genespace-ru/workflow-engine">https://github.com/genespace-ru/workflow-engine
</ext-link> (software) and 
                <ext-link ext-link-type="uri" xlink:href="https://github.com/genespace-ru/workflow-engine-docs">https://github.com/genespace-ru/workflow-engine-docs</ext-link> (documentation)
                <italic toggle="yes">.</italic>
            </p>
            <p>Archived source code at the time of publication: 
                <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5281/zenodo.17860386">https://doi.org/10.5281/zenodo.17860386</ext-link>.</p>
            <p>License: AGPL-3.0</p>
        </sec>
        <ack>
            <title>Acknowledgements</title>
            <p>None.</p>
        </ack>
        <ref-list>
            <title>References</title>
            <ref id="ref1">
                <label>1</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Putra</surname>
                            <given-names>ML</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kim</surname>
                            <given-names>IK</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Gunawi</surname>
                            <given-names>HG</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <chapter-title>CNT: Semi-Automatic Translation from CWL to Nextflow for Genomic Workflows.</chapter-title>
                    <source>

                        <italic toggle="yes">The 23rd IEEE International Conference on BioInformatics and BioEngineering (BIBE).</italic>
</source>
                    <year>2023</year>;<volume>2023</volume>:<fpage>22</fpage>&#x2013;<lpage>27</lpage>.
                    <pub-id pub-id-type="doi">10.1109/BIBE60311.2023.00012</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref2">
                <label>2</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

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

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

                        <name name-style="western">
                            <surname>Crusoe</surname>
                            <given-names>MR</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Existing Workflow systems. Common Workflow Language wiki. </article-title>(accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://s.apache.org/existing-workflow-systems">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref3">
                <label>3</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

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

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

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

                        <etal/>
</person-group>:
                    <article-title>The Dockstore: enhancing a community platform for sharing reproducible and accessible computational protocols.</article-title>
                    <source>

                        <italic toggle="yes">Nucleic Acids Res.</italic>
</source>
                    <year>2021</year>;<volume>49</volume>(<issue>W1</issue>):<fpage>W624</fpage>&#x2013;<lpage>W632</lpage>.
                    <pub-id pub-id-type="pmid">33978761</pub-id>
                    <pub-id pub-id-type="doi">10.1093/nar/gkab346</pub-id>
                    <pub-id pub-id-type="pmcid">PMC8218198</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref4">
                <label>4</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Gustafsson</surname>
                            <given-names>OJR</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Wilkinson</surname>
                            <given-names>SR</given-names>
                        </name>

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

                        <etal/>
</person-group>:
                    <article-title>WorkflowHub: a registry for computational workflows.</article-title>
                    <source>

                        <italic toggle="yes">Sci. Data.</italic>
</source>
                    <year>2025</year>;<volume>12</volume>:<fpage>837</fpage>.
                    <pub-id pub-id-type="pmid">40399296</pub-id>
                    <pub-id pub-id-type="doi">10.1038/s41597-025-04786-3</pub-id>
                    <pub-id pub-id-type="pmcid">PMC12095652</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref5">
                <label>5</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Voss</surname>
                            <given-names>K</given-names>
                        </name>

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

                        <name name-style="western">
                            <surname>Van der Auwera</surname>
                            <given-names>G</given-names>
                        </name>
</person-group>:
                    <article-title>Full-stack genomics pipelining with GATK4 + WDL + Cromwell.</article-title>
                    <source>

                        <italic toggle="yes">F1000Res.</italic>
</source>
                    <year>2017</year>;<volume>6</volume>(<issue>1379</issue>):<fpage>1</fpage>.
                    <pub-id pub-id-type="doi">10.7490/f1000research.1114634.1</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref6">
                <label>6</label>
                <mixed-citation publication-type="other">
                    <article-title>OpenWDL - Community driven open-development workflow language. </article-title>(accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://openwdl.org">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref7">
                <label>7</label>
                <mixed-citation publication-type="other">
                    <collab>Cromwell</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://cromwell.readthedocs.io/en/latest">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref8">
                <label>8</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Schatz</surname>
                            <given-names>MC</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Philippakis</surname>
                            <given-names>AA</given-names>
                        </name>

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

                        <etal/>
</person-group>:
                    <article-title>Inverting the model of genomics data sharing with the NHGRI Genomic Data Science Analysis, Visualization, and Informatics Lab-space.</article-title>
                    <source>

                        <italic toggle="yes">Cell Genom.</italic>
</source>
                    <year>2022</year>;<volume>2</volume>(<issue>1</issue>):<fpage>100085</fpage>.
                    <pub-id pub-id-type="pmid">35199087</pub-id>
                    <pub-id pub-id-type="doi">10.1016/j.xgen.2021.100085</pub-id>
                    <pub-id pub-id-type="pmcid">PMC8863334</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref9">
                <label>9</label>
                <mixed-citation publication-type="other">
                    <collab>miniWDL</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://miniwdl.readthedocs.io/en/latest">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref10">
                <label>10</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Crusoe</surname>
                            <given-names>MR</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Abeln</surname>
                            <given-names>S</given-names>
                        </name>

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

                        <etal/>
</person-group>:
                    <article-title>Methods Included: Standardizing Computational Reuse and Portability with the Common Workflow Language.</article-title>
                    <source>

                        <italic toggle="yes">Commun. ACM.</italic>
</source>
                    <year>2022</year>;<volume>65</volume>(<issue>6</issue>):<fpage>54</fpage>&#x2013;<lpage>63</lpage>.
                    <pub-id pub-id-type="doi">10.1145/3486897</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref11">
                <label>11</label>
                <mixed-citation publication-type="other">
                    <collab>Common Workflow Language</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="http://www.commonwl.org">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref12">
                <label>12</label>
                <mixed-citation publication-type="other">
                    <collab>cwltool</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/common-workflow-language/cwltool">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref13">
                <label>13</label>
                <mixed-citation publication-type="other">
                    <collab>CWL implementations</collab>: 
(accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://www.commonwl.org/implementations">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref14">
                <label>14</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

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

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

                        <name name-style="western">
                            <surname>Floden</surname>
                            <given-names>EW</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Nextflow Enables Reproducible Computational Workflows.</article-title>
                    <source>

                        <italic toggle="yes">Nat. Biotechnol.</italic>
</source>
                    <year>2017</year>;<volume>35</volume>:<fpage>316</fpage>&#x2013;<lpage>319</lpage>.
                    <pub-id pub-id-type="doi">10.1038/nbt.3820</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref15">
                <label>15</label>
                <mixed-citation publication-type="other">
                    <collab>Nextflow</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://www.nextflow.io">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref16">
                <label>16</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Ewels</surname>
                            <given-names>PA</given-names>
                        </name>

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

                        <name name-style="western">
                            <surname>Fillinger</surname>
                            <given-names>S</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>The nf-core framework for community-curated bioinformatics pipelines.</article-title>
                    <source>

                        <italic toggle="yes">Nat. Biotechnol.</italic>
</source>
                    <year>2020</year>;<volume>38</volume>:<fpage>276</fpage>&#x2013;<lpage>278</lpage>.
                    <pub-id pub-id-type="pmid">32055031</pub-id>
                    <pub-id pub-id-type="doi">10.1038/s41587-020-0439-x</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref17">
                <label>17</label>
                <mixed-citation publication-type="other">
                    <collab>nf-core</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://nf-co.re/about">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref18">
                <label>18</label>
                <mixed-citation publication-type="other">
                    <collab>Sequera company</collab>: 
(accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://seqera.io">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref19">
                <label>19</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Seqera</surname>
                            <given-names>AI</given-names>
                        </name>
</person-group>:
                    <article-title>Debugging, Learning Assistant, and Pipeline Generation. </article-title>(accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://seqera.io/ask-ai/chat-v2">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref20">
                <label>20</label>
                <mixed-citation publication-type="journal">
                    <collab>The Galaxy Community</collab>:
                    <article-title>The Galaxy platform for accessible, reproducible, and collaborative data analyses: 2024 update.</article-title>
                    <source>

                        <italic toggle="yes">Nucleic Acids Res.</italic>
</source>
                    <year>2024</year>;<volume>52</volume>:<fpage>W83</fpage>&#x2013;<lpage>W94</lpage>.
                    <pub-id pub-id-type="pmid">38769056</pub-id>
                    <pub-id pub-id-type="doi">10.1093/nar/gkae410</pub-id>
                    <pub-id pub-id-type="pmcid">PMC11223835</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref21">
                <label>21</label>
                <mixed-citation publication-type="other">
                    <collab>Galaxy platform</collab>: 
(accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://galaxyproject.org">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref22">
                <label>22</label>
                <mixed-citation publication-type="other">
                    <collab>Galaxy Toolshed</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://toolshed.g2.bx.psu.edu">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref23">
                <label>23</label>
                <mixed-citation publication-type="other">
                    <collab>Janis-pipelines</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/PMCC-BioinformaticsCore/janis">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref24">
                <label>24</label>
                <mixed-citation publication-type="other">
                    <collab>cwl2nxf</collab>:
 (accessed 30 November 2025).
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/nextflow-io/cwl2nxf">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref25">
                <label>25</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

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

                        <name name-style="western">
                            <surname>Akberdin</surname>
                            <given-names>I</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kiselev</surname>
                            <given-names>I</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>BioUML&#x2014;towards a universal research platform.</article-title>
                    <source>

                        <italic toggle="yes">Nucleic Acids Res.</italic>
</source>
                    <year>2022</year>;<volume>50</volume>(<issue>W1</issue>):<fpage>W124</fpage>&#x2013;<lpage>W131</lpage>.
                    <pub-id pub-id-type="pmid">35536253</pub-id>
                    <pub-id pub-id-type="doi">10.1093/nar/gkac286</pub-id>
                    <pub-id pub-id-type="pmcid">PMC9252820</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref26">
                <label>26</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

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

                        <name name-style="western">
                            <surname>Akberdin</surname>
                            <given-names>I</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kashapov</surname>
                            <given-names>T</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>BioUML: an integrated environment for systems biology and collaborative analysis of biomedical data.</article-title>
                    <source>

                        <italic toggle="yes">Nucleic Acids Res.</italic>
</source>
                    <year>2019</year>;<volume>47</volume>(<issue>W1</issue>):<fpage>W225</fpage>&#x2013;<lpage>W233</lpage>.
                    <pub-id pub-id-type="pmid">31131402</pub-id>
                    <pub-id pub-id-type="doi">10.1093/nar/gkz440</pub-id>
                    <pub-id pub-id-type="pmcid">PMC6602424</pub-id>
                </mixed-citation>
            </ref>
        </ref-list>
    </back>
    <sub-article article-type="reviewer-report" id="report470397">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.193532.r470397</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Bountris</surname>
                        <given-names>Vasilis</given-names>
                    </name>
                    <xref ref-type="aff" rid="r470397a1">1</xref>
                    <role>Referee</role>
                </contrib>
                <aff id="r470397a1">
                    <label>1</label>Humboldt-Universitat zu Berlin, Berlin, Germany</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>4</month>
                <year>2026</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Bountris V</copyright-statement>
                <copyright-year>2026</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="relatedArticleReport470397" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.175540.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>The authors have created a tool for graphical editing of bioinformatics workflows, which can then automatically generate definitions of workflows in WDL and Nextflow - two popular bioinformatics tools/languages. The graphical tool is based on the BioUML model, which facilitates the transition between graph abstraction and code. They also give the possibility of translating from WDL to Nextflow.</p>
            <p> </p>
            <p> The authors motivate the choice of the languages (WDL and Nextflow) due to their popularity. However, apart from Dockstore and Workflowhub, repositories like github can also signal strong popularity. Thus, it's not clear whether the motivation stemming purely from popularity is entirely justified.&#x00a0;</p>
            <p> </p>
            <p> While the title seems to claim the nature of the editing can be graphical, it is unclear from the paper whether the editing really can be done with a UI, or if only the changes done in code are then reflected visually.</p>
            <p>Are the conclusions about the tool and its performance adequately supported by the findings presented in the article?</p>
            <p>Partly</p>
            <p>Is the rationale for developing the new software tool clearly explained?</p>
            <p>Partly</p>
            <p>Is the description of the software tool technically sound?</p>
            <p>Yes</p>
            <p>Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others?</p>
            <p>Yes</p>
            <p>Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool?</p>
            <p>Yes</p>
            <p>Reviewer Expertise:</p>
            <p>Data Management, Scientific Workflows, Distributed Systems, Provenance, Data Engineering</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>
    <sub-article article-type="reviewer-report" id="report462865">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.193532.r462865</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Bansal</surname>
                        <given-names>Poonam</given-names>
                    </name>
                    <xref ref-type="aff" rid="r462865a1">1</xref>
                    <role>Referee</role>
                </contrib>
                <aff id="r462865a1">
                    <label>1</label>Maharishi Markandeshwar University, Ambala, Haryana, India</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>28</day>
                <month>3</month>
                <year>2026</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Bansal P</copyright-statement>
                <copyright-year>2026</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="relatedArticleReport462865" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.175540.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>Dear Authors</p>
            <p> Greetings!</p>
            <p> This manuscript presents a tool for parsing Workflow Description Language (WDL) workflows into an object-oriented model, enabling graphical visualization and editing, and generating both WDL and Nextflow scripts from the same representation. The system is implemented using the BioUML meta-model and is available as a command-line tool, web application, web service, and plugin.</p>
            <p> The work addresses an important challenge in bioinformatics workflow interoperability and usability, particularly the lack of visual editing tools and reliable translation mechanisms between workflow languages. 
                <list list-type="order">
                    <list-item>
                        <p>The authors do not provide sufficient quantitative assessment of the proposed approach.</p>
                    </list-item>
                    <list-item>
                        <p>The authors should include a systematic evaluation using real-world workflows (e.g., from public repositories), reporting:</p>
                    </list-item>
                    <list-item>
                        <p>The authors repeatedly report that the approach works &#x201c;with some limitations,&#x201d; but these limitations are not explicitly defined.</p>
                    </list-item>
                    <list-item>
                        <p>The authors must provide comparison of outputs between original and translated workflows</p>
                    </list-item>
                    <list-item>
                        <p>The authors discuss tools such as Seqera AI, CNT1, and Janis, but does not include a structured comparison.</p>
                    </list-item>
                    <list-item>
                        <p>The manuscript has lot of typological errors like Sequera Nextlow. The authors are requested to remove errors.</p>
                    </list-item>
                    <list-item>
                        <p>The authors are requested to rewrite the introduction section and concise it.</p>
                    </list-item>
                    <list-item>
                        <p>The authors are suggested to provide clear explanation in the text for figures and tables</p>
                    </list-item>
                </list> </p>
            <p> The manuscript presents a useful and promising tool, but requires major improvements in evaluation, and validation before it can be considered for indexing.</p>
            <p> </p>
            <p> </p>
            <p> 
                <bold>Thanks and Regards</bold>
            </p>
            <p> 
                <bold>Dr. Poonam Bansal</bold>
            </p>
            <p>Are the conclusions about the tool and its performance adequately supported by the findings presented in the article?</p>
            <p>Partly</p>
            <p>Is the rationale for developing the new software tool clearly explained?</p>
            <p>Yes</p>
            <p>Is the description of the software tool technically sound?</p>
            <p>Partly</p>
            <p>Are sufficient details of the code, methods and analysis (if applicable) provided to allow replication of the software development and its use by others?</p>
            <p>Partly</p>
            <p>Is sufficient information provided to allow interpretation of the expected output datasets and any results generated using the tool?</p>
            <p>Partly</p>
            <p>Reviewer Expertise:</p>
            <p>Bioinformatics, Probiotics</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>
