https://github.com/srp33/ToolJig
Raw File
Tip revision: ae8d3b358ccc44e45604125257c5361d20c26832 authored by Stephen Piccolo on 27 August 2021, 16:31:27 UTC
Added show/hide example links
Tip revision: ae8d3b3
tool.html
<!-- Author: Stephen R. Piccolo -->
<!-- Contact: https://piccolo.byu.edu -->

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>Tooljig: A simpler approach to building Common Workflow Language tools and workflows</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
</head>
<body>

<!--Here we import any JavaScript libraries that we need.-->
<!--Dev version of Vue<script<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>-->
<!--Production version of Vue--><script src="https://cdn.jsdelivr.net/npm/vue@2.6.11"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/3.14.0/js-yaml.min.js"></script>

<!--Here we define any custom CSS attributes that we want to use.-->
<style>
    .panel-default {
        cursor: pointer;
        background-color: #f7f2ef;
        color:#000000;
        padding-top: 10px;
        padding-bottom: 10px;
        padding-left: 10px;
        padding-right: 10px;
        border-radius: 4px 4px 0px 0px;
        border: 1px solid #f7f2ef;
}
</style>

<div class="container" align="left">
    <div id="cwl_app">
        <h2>ToolJig: A simple approach to building Common Workflow Language tool descriptions and workflows</h2>

        <p><img src="https://github.com/srp33/ToolJig/raw/master/Logo.jpg" width="400" /><br /><small><a href="https://unsplash.com/@vekonyorsi" target="_blank" class="text-muted" style="font-size: 10px">Image credit</a></small>
        </p>

        <p>The <a href="https://www.commonwl.org/" target="_blank">Common Workflow Language</a> (CWL) is an open specification for describing command-line tools and workflows. CWL documents are used in many scientific disciplines to ensure that tools and workflows can be executed in a manner that is portable across workflow engines and computer systems. <em>ToolJig</em> facilitates creation of CWL tool descriptions, workflows, and input-object files for those tools. <a href="https://youtu.be/0vOOBzW5AS4" target="_blank">This video</a> provides insight about ToolJig. <strong>This portion of ToolJig focuses on building tool descriptions.</strong> Use <a href="workflow.html" target="_blank">this app</a> if you wish to create workflows.</p>

        <p>Tool descriptions created in ToolJig are compatible with v1.2 (or 1.0 or 1.1) of the <a href="https://commonwl.org/v1.2" target="_blank">CWL specification</a>. You can see some example CWL tool descriptions <a href="https://github.com/srp33/ToolJig" target="_blank">here</a>. Our goal is support <em>common</em> use cases for research analyses. However, some options within the CWL specification are <em>not</em> supported; users should consult the specification if they wish to use other available features.

        <p>This app was created by the <a href="https://piccolo.byu.edu">Piccolo lab</a>. You can read our preprint <a href="https://www.biorxiv.org/content/10.1101/2021.04.30.442204v1" target="_blank">here</a>. We are open to your feedback! Please submit an <a href="https://github.com/srp33/ToolJig/issues" target="_blank">issue</a> if you would like to report a bug or request a feature.</a></p>

        <hr style="border: 1px solid black;border-radius: 1px;" />

        <h4 class="card-title">Upload existing file (optional):</h4>

        <p>If you previously created a CWL tool description using ToolJig, you can upload it and then edit the information below. <font color="darkorange">(Uploading an existing file may not work for CWL files that were not created using alternative means.)</font> If you do <em>not</em> need to edit an existing CWL file, skip this step.</p>

        <div class="form-group">
            <input id="upload_file" type="file" placeholder="Please specify a file to be uploaded." class="form-control" v-on:change="onUploadFile" />
        </div>

        <hr style="border: 1px solid black;border-radius: 1px;" />

        <p>This section enables you to create a CWL tool description. Please fill in the information as requested below. Required field = <font color="red">*</font>.</p>

        <div class="panel panel-default" ref="inputPanel">
            <h4 class="card-title">Specify basics<sup><font color="red">*</font></sup>:</h4>

            <div class="form-group">
                <label for="tool_id">Tool identifier:</label>
                <input v-model="tool_id" id="tool_id" type="text" placeholder="Please enter a unique identifier." class="form-control" aria-describedby="helpBlock" />
                <div id="helpBlock" class="form-text text-muted">
                    This identifier must contain only letters, numbers, and underscores. This identifier will be used within the name of the CWL document that is generated. <a v-on:click="var example = 'deseq2'; if (tool_id == example) { tool_id = example_cache['tool_id']; } else { example_cache['tool_id'] = tool_id; tool_id = example; }">Show/hide example</a>.
                </div>
            </div>

            <div class="form-group">
                <label for="tool_label">Label:</label>
                <input v-model="tool_label" id="tool_label" type="text" placeholder="Please enter a short description of the tool." class="form-control" aria-describedby="helpBlock" />
                <div id="helpBlock" class="form-text text-muted">
                    This description will inform tool users about its purpose and function. <a v-on:click="var example = 'DESeq2 example'; if (tool_label == example) { tool_label = example_cache['tool_label']; } else { example_cache['tool_label'] = tool_label; tool_label = example; }">Show/hide example</a>.
                </div>
            </div>

            <div class="form-group">
                <label for="doc">Description:</label>
                <textarea v-model="doc" id="doc" rows=5 cols=100 placeholder="You may enter a longer description of the tool." class="form-control" aria-describedby="helpBlock"></textarea>
                <div id="helpBlock" class="form-text text-muted">
                    This optional description can provide more detailed documentation about the tool. <a v-on:click="var example = 'This tool demonstrates how to perform a differential-expression analysis using the Bioconductor DESeq2 package. We use a container image that provides core Bioconductor components (release version 3.10) and use R code to install the DESeq2 packages as well as two helper packages.'; if (doc == example) { doc = example_cache['doc']; } else { example_cache['doc'] = doc; doc = example; }">Show/hide example</a>.
                </div>
            </div>

            <div class="form-group">
                <label for="dockerfile">Dockerfile:</label>
                <textarea v-model="dockerfile" id="dockerfile" rows=5 cols=100 placeholder="Please enter the contents of a Dockerfile." class="form-control" style="font-family:monospace;" aria-describedby="helpBlock"></textarea>
                <div id="helpBlock" class="form-text text-muted">
                    A <a href="https://docs.docker.com/develop/develop-images/dockerfile_best-practices/">Dockerfile</a> provides instructions for building a Docker image, which can be used as the operating-system environment for the tool. <a href="https://osf.io/fsd7t/" target="_blank">This article</a> describes what Dockerfiles are and how to create them. <a v-on:click="var example = 'FROM bioconductor/bioconductor_docker:RELEASE_3_11\nRUN R -e \'BiocManager::install(c(&quot;DESeq2&quot;))\'\nRUN R -e &quot;install.packages(c(\'dplyr\', \'readr\'), repos=\'https://cloud.r-project.org\')&quot;'; if (dockerfile == example) { dockerfile = example_cache['dockerfile']; } else { example_cache['dockerfile'] = dockerfile; dockerfile = example; }">Show/hide example</a>.
                </div>
            </div>

            <div class="form-group">
                <label for="author_name">Author's name:</label>
                <input v-model="author_name" id="author_name" type="text" placeholder="Please enter the author's name." class="form-control" aria-describedby="helpBlock" />
                <div id="helpBlock" class="form-text text-muted">
                    This is optional. Specifying the author's name is helpful to others who may use the tool.
                </div>
            </div>

            <div class="form-group">
                <label for="author_orcid">Author's ORCID identifier:</label>
                <input v-model="author_orcid" id="author_orcid" type="text" placeholder="Please enter the author's ORCID identifier." class="form-control" aria-describedby="helpBlock" />
                <div id="helpBlock" class="form-text text-muted">
                    This is optional. Specifying the author's <a href="https://orcid.org" target="_blank">ORCID identifier</a> enables others who may use the tool to obtain more information about the author. <a v-on:click="var example = 'https://orcid.org/0000-0003-2001-1234'; if (author_orcid == example) { author_orcid = example_cache['author_orcid']; } else { example_cache['author_orcid'] = author_orcid; author_orcid = example; }">Show/hide example</a>.
                </div>
            </div>

            <div class="form-group">
                <label for="tool_label">License:</label>
                <select v-model="license" id="license" class="form-control" class="form-control" aria-describedby="helpBlock">
                    <option value="AFL-3.0">Academic Free License v3.0</option>
                    <option value="Apache-2.0">Apache License 2.0</option>
                    <option value="BSD-3-Clause">BSD 3-Clause "New" or "Revised" License</option>
                    <option value="CC0-1.0">Creative Commons Zero v1.0 Universal</option>
                    <option value="CDDL-1.1">Common Development and Distribution License 1.1</option>
                    <option value="LGPL-3.0-or-later">GNU Lesser General Public License v3.0 or later</option>
                    <option value="MIT">MIT License</option>
                </select>
                <div id="helpBlock" class="form-text text-muted">
                    Please select a software license that applies to this CWL document. This will indicate conditions under which others can use the document. Details about these licenses and a more complete list can be found <a href="https://spdx.org/licenses/" target="_blank">here</a>. 
                </div>
            </div>

            <p v-if="basics_errors.length"><font color="red">
                <b>Please correct the following error(s):</b>
                <ul>
                  <li v-for="error in basics_errors">{{ error }}</li>
                </ul>
                </font>
            </p>
        </div>

        <div class="panel panel-default" ref="inputPanel">
            <h4 class="card-title">Manage inputs<sup><font color="red">*</font></sup>:</h4>

            <p>In this section, you can manage inputs. These are arguments that will be passed to the command-line tool. You must specify at least one regular input (string, int, or File)<!--(string, int, File, or Directory)-->. Technically, an "Output File" is not an input. However, when creating a CWL tool description, you can specify an <em>input</em> that is the name of an output file that the tool will create; then you must specify a corresponding <em>output</em> so the file will be collected after the tool executes. To make that simpler, we provide an "Output File" option that takes care of both of these steps. <a v-on:click="var example_name = 'read_counts_url'; var example_doc = 'The URL of a tab-separated-value file containing RNA-Sequencing read counts (unnormalized). Rows should represent genes. Columns should represent biological samples. The header line should contain sample identifiers. The first column should contain gene identifiers.'; if (newInputName == example_name && newInputDoc == example_doc) { newInputName = example_cache['newInputName']; newInputDoc = example_cache['newInputDoc'] } else { example_cache['newInputName'] = newInputName; example_cache['newInputDoc'] = newInputDoc; newInputName = example_name; newInputDoc = example_doc; }">Show/hide example</a>.</p>

            <form v-on:submit.prevent="addInput">
                <div class="form-group">
                    <label for="inputName">Name:</label>
                    <input v-model="newInputName" id="inputName" ref="newInputName" type="text" class="form-control" placeholder="Only letters, numbers, and underscores are allowed." />
                </div>

                <div class="form-group">
                    <label for="inputType">Type:</label>
                    <select v-model="newInputType" id="inputType" class="form-control" id="inputType">
                        <option value="string">string</option>
                        <option value="int">int</option>
                        <option value="File">File</option>
                        <!--<option value="Directory">Directory</option>-->
                        <option value="Output_File">Output File</option>
                    </select>
                </div>

                <div class="form-group">
                    <label for="inputDoc">Documentation:</label>
                    <input v-model="newInputDoc" id="inputDoc" ref="newInputDoc" type="text" class="form-control" placeholder="Provide a short description of this input." />
                </div>

                <div class="form-group" v-if="newInputType=='File' || newInputType=='Output_File'">
                    <label for="inputFileFormat">File format:</label>
                    <select v-model="newInputFileFormat" id="inputFileFormat" class="form-control" id="inputFileFormat">
                        <option value=""></option>
                        <option value="edam:format_1964">plain text format (unformatted) - Plain text sequence format (essentially unformatted).</option>
                        <option value="edam:format_3010">.nib - .nib (nibble) binary format of a nucleotide sequence using 4 bits per...</option>
                        <option value="edam:format_3009">2bit - 2bit binary format of nucleotide sequences using 2 bits per nucleotide. In...</option>
                        <option value="edam:format_2064">3D-1D scoring matrix format - Format of a matrix of 3D-1D scores (amino acid environment probabilities).</option>
                        <option value="edam:format_3281">A2M - The A2M format is used as the primary format for multiple alignments of...</option>
                        <option value="edam:format_1504">aaindex - Amino acid index format used by the AAindex database.</option>
                        <option value="edam:format_3000">AB1 - AB1 binary format of raw DNA sequence reads (output of Applied Biosystems'...</option>
                        <option value="edam:format_3708">ABCD format - Exchange format of the Access to Biological Collections Data (ABCD) Schema;...</option>
                        <option value="edam:format_1628">ABI - A format of raw sequence read data from an Applied Biosystems sequencing...</option>
                        <option value="edam:format_3001">ACE - ACE sequence assembly format including contigs, base-call qualities, and...</option>
                        <option value="edam:format_1923">acedb - ACEDB sequence format.</option>
                        <option value="edam:format_1639">affymetrix - Format of affymetrix gene cluster files (hc-genes.txt, hc-chips.txt) from...</option>
                        <option value="edam:format_1641">affymetrix-exp - Affymetrix data file format for information about experimental conditions...</option>
                        <option value="edam:format_3582">afg - AFG is a single text-based file assembly format  that holds read and...</option>
                        <option value="edam:format_3693">AGP - AGP is a tabular format for a sequence assembly (a contig, a...</option>
                        <option value="edam:format_1921">Alignment format - Data format for molecular sequence alignment information.</option>
                        <option value="edam:format_2920">Alignment format (pair only) - Data format for molecular sequence alignment information that can hold...</option>
                        <option value="edam:format_2554">Alignment format (text) - Text format for molecular sequence alignment information.</option>
                        <option value="edam:format_2555">Alignment format (XML) - XML format for molecular sequence alignment information.</option>
                        <option value="edam:format_3888">AMBER frcmod - AMBER frcmod (Force field Modification) is a file format to store any...</option>
                        <option value="edam:format_3889">AMBER off - AMBER Object File Format library files (OFF library files) store residue...</option>
                        <option value="edam:format_3881">AMBER top - AMBER Prmtop file (version 7) is a structure topology text file divided in...</option>
                        <option value="edam:format_2097">ambiguous - Alphabet for a molecular sequence with possible unknown positions and...</option>
                        <option value="edam:format_2017">Amino acid index format - Data format for an amino acid index.</option>
                        <option value="edam:format_3780">Annotated text format - Data format of an annotated text, e.g. with recognised entities, concepts,...</option>
                        <option value="edam:format_3830">ARB - Binary format used by the ARB software suite</option>
                        <option value="edam:format_3581">arff - ARFF (Attribute-Relation File Format) is an ASCII text file format that...</option>
                        <option value="edam:format_2020">Article format - Data format for a full-text scientific article.</option>
                        <option value="edam:format_1966">ASN.1 sequence format - NCBI ASN.1-based sequence format.</option>
                        <option value="edam:format_3013">axt - axt format of alignments, typically produced from BLASTZ.</option>
                        <option value="edam:format_3327">BAI - BAM indexing format</option>
                        <option value="edam:format_2572">BAM - BAM format, the binary, BGZF-formatted compressed version of SAM format for...</option>
                        <option value="edam:format_3020">BCF - BCF, the binary version of Variant Call Format (VCF) for sequence variation...</option>
                        <option value="edam:format_3689">BCML - Biological Connection Markup Language (BCML) is an XML format for biological...</option>
                        <option value="edam:format_3690">BDML - Biological Dynamics Markup Language (BDML) is an XML format for quantitative...</option>
                        <option value="edam:format_3843">BEAST - XML input file format for BEAST Software (Bayesian Evolutionary Analysis...</option>
                        <option value="edam:format_3003">BED - Browser Extensible Data (BED) format of sequence annotation track, typically...</option>
                        <option value="edam:format_3586">bed12 - A BED file where each feature is described by all twelve columns.</option>
                        <option value="edam:format_3585">bed6 - BED file format where each feature is described by chromosome, start, end,...</option>
                        <option value="edam:format_3583">bedgraph - The bedGraph format allows display of continuous-valued data in track...</option>
                        <option value="edam:format_3584">bedstrict - Browser Extensible Data (BED) format of sequence annotation track that...</option>
                        <option value="edam:format_3691">BEL - Biological Expression Language (BEL) is a textual format for representing...</option>
                        <option value="edam:format_3615">bgzip - Blocked GNU Zip format.</option>
                        <option value="edam:format_2848">Bibliographic reference format - Format of a bibliographic reference.</option>
                        <option value="edam:format_3004">bigBed - bigBed format for large sequence annotation tracks, similar to textual BED...</option>
                        <option value="edam:format_3006">bigWig - bigWig format for large sequence annotation tracks that consist of a value...</option>
                        <option value="edam:format_2333">Binary format - Binary format.</option>
                        <option value="edam:format_3885">BinPos - Scripps Research Institute BinPos format is a binary formatted file to store...</option>
                        <option value="edam:format_3782">BioC - BioC is a standardised XML format for sharing and integrating text data and...</option>
                        <option value="edam:format_3706">Biodiversity data format - Data format for biodiversity data.</option>
                        <option value="edam:format_3772">BioJSON (BioXSD) - BioJSON is a BioXSD-schema-based JSON format of sequence-based data and some...</option>
                        <option value="edam:format_3774">BioJSON (Jalview) - BioJSON is a JSON format of single multiple sequence alignments, with their...</option>
                        <option value="edam:format_2013">Biological pathway or network format - Data format for a biological pathway or network.</option>
                        <option value="edam:format_3166">Biological pathway or network report format - Data format for a report of information derived from a biological pathway or...</option>
                        <option value="edam:format_3746">BIOM format - The BIological Observation Matrix (BIOM) is a format for representing...</option>
                        <option value="edam:format_3785">BioNLP Shared Task format - A family of similar formats of text annotation, used by BRAT and other...</option>
                        <option value="edam:format_3156">BioPAX - BioPAX is an exchange format for pathway data, with its data model defined...</option>
                        <option value="edam:format_2352">BioXSD (XML) - BioXSD-schema-based XML format of sequence-based data and some other common...</option>
                        <option value="edam:format_3773">BioYAML - BioYAML is a BioXSD-schema-based YAML format of sequence-based data and some...</option>
                        <option value="edam:format_1333">BLAST results - Format of results of a sequence database search using some variant of BLAST.</option>
                        <option value="edam:format_3331">BLAST XML results format - XML format as produced by the NCBI Blast package</option>
                        <option value="edam:format_3836">BLAST XML v2 results format - XML format as produced by the NCBI Blast package v2.</option>
                        <option value="edam:format_3313">BLC - A multiple alignment in vertical format, as used in the AMPS (Alignment of...</option>
                        <option value="edam:format_3592">BMP - Standard bitmap storage format in the Microsoft Windows environment.</option>
                        <option value="edam:format_3909">BpForms - BpForms is a string format for concretely representing the primary...</option>
                        <option value="edam:format_3487">BSML - Bioinformatics Sequence Markup Language format.</option>
                        <option value="edam:format_3776">BTrack - BTrack is an HDF5-based binary format for genome or sequence feature tracks...</option>
                        <option value="edam:format_1630">CAF - Common Assembly Format (CAF). A sequence assembly format including contigs,...</option>
                        <option value="edam:format_3100">CATH domain report format - Format of summary of domain classification information for a CATH domain.</option>
                        <option value="edam:format_2184">cdsxml - XML format for EMBL entries.</option>
                        <option value="edam:format_1638">cel - Format of Affymetrix data file of information about (raw) expression levels...</option>
                        <option value="edam:format_3240">CellML - CellML, the format for mathematical models of biological and other networks.</option>
                        <option value="edam:format_3844">Chado-XML - Chado-XML format is a direct mapping of the Chado relational schema into XML.</option>
                        <option value="edam:format_3887">CHARMM rtf - Format of CHARMM Residue Topology Files (RTF), which define groups by...</option>
                        <option value="edam:format_2030">Chemical data format - Format of a report on a chemical compound.</option>
                        <option value="edam:format_2035">Chemical formula format - Text format of a chemical formula.</option>
                        <option value="edam:format_1644">CHP - Format of Affymetrix data file of information about (normalised) expression...</option>
                        <option value="edam:format_3587">chrominfo - Tabular format of chromosome names and sizes used by Galaxy.</option>
                        <option value="edam:format_1737">CiteXplore-all - CiteXplore 'all' citation format includes all known details such as Mesh...</option>
                        <option value="edam:format_1736">CiteXplore-core - CiteXplore 'core' citation format including title, journal, authors and...</option>
                        <option value="edam:format_1424">ClustalW dendrogram - Dendrogram (tree file) format generated by ClustalW.</option>
                        <option value="edam:format_1982">ClustalW format - ClustalW format for (aligned) sequences.</option>
                        <option value="edam:format_1925">codata - Codata entry format.</option>
                        <option value="edam:format_3686">COMBINE OMEX - Open Modeling EXchange format (OMEX) is a ZIPped format for encapsulating...</option>
                        <option value="edam:format_2566">completely unambiguous - Alphabet for a molecular sequence without any unknown positions or ambiguity...</option>
                        <option value="edam:format_2567">completely unambiguous pure - Alphabet for a molecular sequence without unknown positions, ambiguity or...</option>
                        <option value="edam:format_2569">completely unambiguous pure dna - Alphabet for a DNA sequence (characters ACGT only) without unknown...</option>
                        <option value="edam:format_2568">completely unambiguous pure nucleotide - Alphabet for a nucleotide sequence (characters ACGTU only) without unknown...</option>
                        <option value="edam:format_2607">completely unambiguous pure protein - Alphabet for any protein sequence without unknown positions, ambiguity or...</option>
                        <option value="edam:format_2570">completely unambiguous pure rna sequence - Alphabet for an RNA sequence (characters ACGU only) without unknown...</option>
                        <option value="edam:format_1209">consensus - Alphabet for the consensus of two or more molecular sequences.</option>
                        <option value="edam:format_3832">consensusXML - OpenMS format for grouping features in one map or across several maps.</option>
                        <option value="edam:format_3239">CopasiML - CopasiML, the native format of COPASI.</option>
                        <option value="edam:format_3462">CRAM - Reference-based compression of alignment format</option>
                        <option value="edam:format_3589">csfasta - Color space FASTA format sequence variant.</option>
                        <option value="edam:format_3752">CSV - Tabular data represented as comma-separated values in a text file.</option>
                        <option value="edam:format_3309">CT - File format of a CT (Connectivity Table) file from the RNAstructure package.</option>
                        <option value="edam:format_3588">customtrack - Custom Sequence annotation track format used by Galaxy.</option>
                        <option value="edam:format_3857">CWL - Common Workflow Language (CWL) format for description of command-line tools...</option>
                        <option value="edam:format_3235">Cytoband format - Cytoband format for chromosome cytobands.</option>
                        <option value="edam:format_3477">Cytoscape input file format - Format of the cytoscape input file of gene expression ratios or values are...</option>
                        <option value="edam:format_1393">daf - EMBASSY 'domain alignment file' (DAF) format, containing a sequence...</option>
                        <option value="edam:format_1967">DAS format - DAS sequence (XML) format (any type).</option>
                        <option value="edam:format_1968">dasdna - DAS sequence (XML) format (nucleotide-only).</option>
                        <option value="edam:format_1978">DASGFF - DAS GFF (XML) feature format.</option>
                        <option value="edam:format_1637">dat - Format of Affymetrix data file of raw image data.</option>
                        <option value="edam:format_3326">Data index format - Format of a data index of some type.</option>
                        <option value="edam:format_2066">Database hits (sequence) format - Format of a report on sequence hits and associated data from searching a...</option>
                        <option value="edam:format_3729">dbGaP format - Input format used by the Database of Genotypes and Phenotypes (dbGaP).</option>
                        <option value="edam:format_1926">dbid - Fasta format variant with database name before ID.</option>
                        <option value="edam:format_1983">debug - EMBOSS alignment format for debugging trace of full internal data content.</option>
                        <option value="edam:format_1979">debug-feat - EMBOSS debugging trace feature format of full internal data content.</option>
                        <option value="edam:format_1969">debug-seq - EMBOSS debugging trace sequence format of full internal data content.</option>
                        <option value="edam:format_1336">dhf - Format of EMBASSY domain hits file (DHF) of hits (sequences) with domain...</option>
                        <option value="edam:format_1392">DIALIGN format - Format of multiple sequences aligned by DIALIGN package.</option>
                        <option value="edam:format_3548">DICOM format - Medical image format corresponding to the Digital Imaging and Communications...</option>
                        <option value="edam:format_2074">Dirichlet distribution format - Data format of a dirichlet distribution.</option>
                        <option value="edam:format_1212">dna - Alphabet for a DNA sequence with possible ambiguity, unknown positions and...</option>
                        <option value="edam:format_3507">Document format - Format of documents including word processor, spreadsheet and presentation.</option>
                        <option value="edam:format_3506">docx - Microsoft Word format.</option>
                        <option value="edam:format_1457">Dot-bracket format - Format of RNA secondary structure in dot-bracket notation, originally...</option>
                        <option value="edam:format_1454">dssp - Format of an entry from the DSSP database (Dictionary of Secondary Structure...</option>
                        <option value="edam:format_3751">DSV - Tabular data represented as values in a text file delimited by some...</option>
                        <option value="edam:format_3652">dta - Spectral data format file where each spectrum is written to a separate file.</option>
                        <option value="edam:format_3157">EBI Application Result XML - EBI Application Result XML is a format returned by sequence similarity...</option>
                        <option value="edam:format_3484">ebwt - Bowtie format for indexed reference genome for small genomes.</option>
                        <option value="edam:format_3491">ebwtl - Bowtie format for indexed reference genome for large genomes.</option>
                        <option value="edam:format_3818">ELAND format - Tab-delimited text file format used by Eland - the read-mapping program...</option>
                        <option value="edam:format_1248">EMBL feature location - Format for sequence positions (feature location) as used in...</option>
                        <option value="edam:format_1927">EMBL format - EMBL entry format.</option>
                        <option value="edam:format_2204">EMBL format (XML) - An XML format for EMBL entries.</option>
                        <option value="edam:format_2311">EMBL-HTML - EMBL entry format wrapped in HTML elements.</option>
                        <option value="edam:format_2181">EMBL-like (text) - A text format resembling EMBL entry format.</option>
                        <option value="edam:format_2558">EMBL-like (XML) - An XML format resembling EMBL entry format.</option>
                        <option value="edam:format_2543">EMBL-like format - A format resembling EMBL entry (plain text) format.</option>
                        <option value="edam:format_2183">EMBLXML - XML format for EMBL entries.</option>
                        <option value="edam:format_1297">EMBOSS repeat - Report format for tandem repeats in a sequence (an EMBOSS report format).</option>
                        <option value="edam:format_1357">EMBOSS sequence pattern - Format of an EMBOSS sequence pattern.</option>
                        <option value="edam:format_2001">EMBOSS simple format - EMBOSS simple multiple alignment format.</option>
                        <option value="edam:format_3614">ENCODE broad peak format - Human ENCODE broad peak format.</option>
                        <option value="edam:format_3613">ENCODE narrow peak format - Human ENCODE narrow peak format.</option>
                        <option value="edam:format_3612">ENCODE peak format - Human ENCODE peak format.</option>
                        <option value="edam:format_3499">Ensembl variation file format - Ensembl standard format for variation data.</option>
                        <option value="edam:format_2027">Enzyme kinetics report format - Data format for reports on enzyme kinetics.</option>
                        <option value="edam:format_3466">EPS - Encapsulated PostScript format</option>
                        <option value="edam:format_1316">est2genome format - Format of a report on exon-intron structure generated by EMBOSS est2genome.</option>
                        <option value="edam:format_1631">EXP - Sequence assembly project file EXP format.</option>
                        <option value="edam:format_3167">Experiment annotation format - Data format for annotation on a laboratory experiment.</option>
                        <option value="edam:format_1929">FASTA - FASTA format including NCBI-style IDs.</option>
                        <option value="edam:format_1332">FASTA search results format - Format of results of a sequence database search using FASTA.</option>
                        <option value="edam:format_1984">FASTA-aln - Fasta format for (aligned) sequences.</option>
                        <option value="edam:format_2310">FASTA-HTML - FASTA format wrapped in HTML elements.</option>
                        <option value="edam:format_2546">FASTA-like - A format resembling FASTA format.</option>
                        <option value="edam:format_2200">FASTA-like (text) - A text format resembling FASTA format.</option>
                        <option value="edam:format_3823">FASTG - FASTG is a format for faithfully representing genome assemblies in the face...</option>
                        <option value="edam:format_1930">FASTQ - FASTQ short read format ignoring quality scores.</option>
                        <option value="edam:format_1931">FASTQ-illumina - FASTQ Illumina 1.3 short read format.</option>
                        <option value="edam:format_2545">FASTQ-like format - A format resembling FASTQ short read format.</option>
                        <option value="edam:format_2182">FASTQ-like format (text) - A text format resembling FASTQ short read format.</option>
                        <option value="edam:format_1932">FASTQ-sanger - FASTQ short read format with phred quality.</option>
                        <option value="edam:format_1933">FASTQ-solexa - FASTQ Solexa/Illumina 1.0 short read format.</option>
                        <option value="edam:format_3833">featureXML - OpenMS format for quantitation results (LC/MS features).</option>
                        <option value="edam:format_3884">FF parameter format - Format of force field parameter files, which store the set of parameters...</option>
                        <option value="edam:format_1582">findkm - A report format for the kinetics of enzyme-catalysed reaction(s) in a format...</option>
                        <option value="edam:format_1934">fitch program - Fitch program format.</option>
                        <option value="edam:format_1915">Format - A defined way or layout of representing and structuring data in a computer...</option>
                        <option value="edam:format_2350">Format (by type of data) - A placeholder concept for visual navigation by dividing data formats by the...</option>
                        <option value="edam:format_3163">GCDML - GCDML XML format for genome and metagenome metadata according to...</option>
                        <option value="edam:format_1935">GCG - GCG sequence file format.</option>
                        <option value="edam:format_3486">GCG format variant - Some format based on the GCG format.</option>
                        <option value="edam:format_1947">GCG MSF - GCG MSF (multiple sequence file) file format.</option>
                        <option value="edam:format_3709">GCT/Res format - Tab-delimited text files of GenePattern that contain a column for each...</option>
                        <option value="edam:format_3312">GDE - Format for the Genetic Data Environment (GDE).</option>
                        <option value="edam:format_3249">GelML - GelML is the format for describing the process of gel electrophoresis,...</option>
                        <option value="edam:format_3622">Gemini SQLite format - Data format used by the SQLite database conformant to the Gemini schema.</option>
                        <option value="edam:format_3812">GEN - The GEN file format contains genetic data and describes SNPs.</option>
                        <option value="edam:format_1936">GenBank format - Genbank entry format.</option>
                        <option value="edam:format_2532">GenBank-HTML - Genbank entry format wrapped in HTML elements.</option>
                        <option value="edam:format_2559">GenBank-like format - A format resembling GenBank entry (plain text) format.</option>
                        <option value="edam:format_2205">GenBank-like format (text) - A text format resembling GenBank entry (plain text) format.</option>
                        <option value="edam:format_2031">Gene annotation format - Format of a report on a particular locus, gene, gene system or groups of...</option>
                        <option value="edam:format_2058">Gene expression report format - Format of a file of gene expression data, e.g. a gene expression matrix or...</option>
                        <option value="edam:format_3011">genePred - genePred table format for gene prediction tracks.</option>
                        <option value="edam:format_2186">geneseq - Geneseq sequence format.</option>
                        <option value="edam:format_1937">genpept - Genpept protein entry format.</option>
                        <option value="edam:format_2305">GFF - GFF feature format (of indeterminate version).</option>
                        <option value="edam:format_1974">GFF2 - General Feature Format (GFF) of sequence features.</option>
                        <option value="edam:format_1938">GFF2-seq - GFF feature file format with sequence in the header.</option>
                        <option value="edam:format_1975">GFF3 - Generic Feature Format version 3 (GFF3) of sequence features.</option>
                        <option value="edam:format_1939">GFF3-seq - GFF3 feature file format with sequence.</option>
                        <option value="edam:format_3467">GIF - Graphics Interchange Format.</option>
                        <option value="edam:format_1940">giFASTA format - FASTA sequence format including NCBI-style GIs.</option>
                        <option value="edam:format_3822">GML - GML (Graph Modeling Language) is a text file format supporting network data...</option>
                        <option value="edam:format_3657">GPML - Graphical Pathway Markup Language (GPML) is an XML format used for...</option>
                        <option value="edam:format_3829">GPR - GenePix Results (GPR) text file format developed by Axon Instruments that is...</option>
                        <option value="edam:format_3617">Graph format - Data format for graph data.</option>
                        <option value="edam:format_3883">GROMACS itp - GROMACS itp files (include topology) contain structure topology information,...</option>
                        <option value="edam:format_3880">GROMACS top - GROMACS MD package top textual files define an entire structure system...</option>
                        <option value="edam:format_3775">GSuite - GSuite is a tabular format for collections of genome or sequence feature...</option>
                        <option value="edam:format_2306">GTF - Gene Transfer Format (GTF), a restricted version of GFF.</option>
                        <option value="edam:format_3164">GTrack - GTrack is a generic and optimised tabular format for genome or sequence...</option>
                        <option value="edam:format_3019">GVF - Genome Variation Format (GVF). A GFF3-compatible format with defined header...</option>
                        <option value="edam:format_3873">HDF - HDF is the name of a set of file formats and libraries designed to store and...</option>
                        <option value="edam:format_3590">HDF5 - HDF5 is a data model, library, and file format for storing and managing...</option>
                        <option value="edam:format_1941">hennig86 - Hennig86 output sequence format.</option>
                        <option value="edam:format_1705">HET group dictionary entry format - The format of an entry from the HET group dictionary (HET groups from PDB...</option>
                        <option value="edam:format_2072">Hidden Markov model format - Format of a hidden Markov model.</option>
                        <option value="edam:format_2075">HMM emission and transition counts format - Data format for the emission and transition counts of a hidden Markov model.</option>
                        <option value="edam:format_1349">HMMER Dirichlet prior - Dirichlet distribution HMMER format.</option>
                        <option value="edam:format_1351">HMMER emission and transition - Format of a report from the HMMER package on the emission and transition...</option>
                        <option value="edam:format_1370">HMMER format - Format of a hidden Markov model representation used by the HMMER package.</option>
                        <option value="edam:format_1422">HMMER profile alignment (HMM versus sequences) - Format used by the HMMER package for of an alignment of a hidden Markov...</option>
                        <option value="edam:format_1421">HMMER profile alignment (sequences versus HMMs) - Format used by the HMMER package for an alignment of a sequence against a...</option>
                        <option value="edam:format_1391">HMMER-aln - FASTA-style format for multiple sequences aligned by HMMER package to an HMM.</option>
                        <option value="edam:format_3328">HMMER2 - HMMER profile HMM file for HMMER versions 2.x</option>
                        <option value="edam:format_3329">HMMER3 - HMMER profile HMM file for HMMER versions 3.x</option>
                        <option value="edam:format_3845">HSAML - An alignment format generated by PRANK/PRANKSTER consisting of four...</option>
                        <option value="edam:format_1455">hssp - Entry format of the HSSP database (Homology-derived Secondary Structure in...</option>
                        <option value="edam:format_2331">HTML - HTML format.</option>
                        <option value="edam:format_3839">ibd - ibd is a data format for mass spectrometry imaging data.</option>
                        <option value="edam:format_3578">IDAT - Proprietary file format for (raw) BeadArray data used by genomewide...</option>
                        <option value="edam:format_3764">idXML - XML file format for files containing information about peptide...</option>
                        <option value="edam:format_1942">ig - Intelligenetics sequence format.</option>
                        <option value="edam:format_1943">igstrict - Intelligenetics sequence format (strict version).</option>
                        <option value="edam:format_1740">iHOP format - The format of iHOP (Information Hyperlinked over Proteins) text-mining...</option>
                        <option value="edam:format_3593">im - IM is a format used by LabEye and other applications based on the IFUNC...</option>
                        <option value="edam:format_3547">Image format - Format used for images and image metadata.</option>
                        <option value="edam:format_3682">imzML metadata file - imzML metadata is a data format for mass spectrometry imaging metadata.</option>
                        <option value="edam:format_1197">InChI - Chemical structure specified in IUPAC International Chemical Identifier...</option>
                        <option value="edam:format_1199">InChIKey - The InChIKey (hashed InChI) is a fixed length (25 character) condensed...</option>
                        <option value="edam:format_3287">Individual genetic data format - Data format for a metadata on an individual and their genetic data.</option>
                        <option value="edam:format_2185">insdxml - XML format for EMBL entries.</option>
                        <option value="edam:format_1341">InterPro hits format - Results format for searches of the InterPro database.</option>
                        <option value="edam:format_1343">InterPro match table format - Format of results of a search of the InterPro database showing matches...</option>
                        <option value="edam:format_1342">InterPro protein view report format - Format of results of a search of the InterPro database showing matches of...</option>
                        <option value="edam:format_3846">InterProScan XML - Output xml file from the InterProScan sequence analysis application.</option>
                        <option value="edam:format_3687">ISA-TAB - The Investigation / Study / Assay (ISA) tab-delimited (TAB) format...</option>
                        <option value="edam:format_1944">jackknifer - Jackknifer interleaved and non-interleaved sequence format.</option>
                        <option value="edam:format_1970">jackknifernon - Jackknifer output sequence non-interleaved format.</option>
                        <option value="edam:format_1367">JASPAR format - A profile (sequence classifier) in the format used in the JASPAR database.</option>
                        <option value="edam:format_3859">JCAMP-DX - A standardized file format for data exchange in mass spectrometry, initially...</option>
                        <option value="edam:format_3579">JPG - Joint Picture Group file format for lossy graphics file.</option>
                        <option value="edam:format_3464">JSON - JavaScript Object Notation format; a lightweight, text-based format to...</option>
                        <option value="edam:format_3749">JSON-LD - JSON-LD, or JavaScript Object Notation for Linked Data, is a method of...</option>
                        <option value="edam:format_3665">K-mer countgraph - A list of k-mers and their occurences in a dataset. Can also be used as an...</option>
                        <option value="edam:format_3847">KGML - The KEGG Markup Language (KGML) is an exchange format of the KEGG pathway...</option>
                        <option value="edam:format_3765">KNIME datatable format - Data table formatted such that it can be passed/streamed within the KNIME...</option>
                        <option value="edam:format_3254">KRSS2 Syntax - A superset of the Description-Logic Knowledge Representation System...</option>
                        <option value="edam:format_3817">latex - format for the LaTeX document preparation system</option>
                        <option value="edam:format_3014">LAV - LAV format of alignments generated by BLASTZ and LASTZ.</option>
                        <option value="edam:format_1337">lhf - Format of EMBASSY ligand hits file (LHF) of database hits (sequences) with...</option>
                        <option value="edam:format_3748">Linked data format - A linked data format enables publishing structured data as linked data...</option>
                        <option value="edam:format_3728">LocARNA PP - The LocARNA PP format combines sequence or alignment information and...</option>
                        <option value="edam:format_3913">Loom - The Loom file format is based on HDF5, a standard for storing large...</option>
                        <option value="edam:format_3008">MAF - Multiple Alignment Format (MAF) supporting alignments of whole genomes with...</option>
                        <option value="edam:format_3161">MAGE-ML - MAGE-ML XML format for microarray expression data, standardised by MGED (now...</option>
                        <option value="edam:format_3162">MAGE-TAB - MAGE-TAB textual format for microarray expression data, standardised by MGED...</option>
                        <option value="edam:format_3253">Manchester OWL Syntax - A syntax for writing OWL class expressions.</option>
                        <option value="edam:format_3285">MAP - The MAP file describes SNPs and is used by the Plink package.</option>
                        <option value="edam:format_2060">Map format - Format of a map of (typically one) molecular sequence annotated with...</option>
                        <option value="edam:format_1985">markx0 - Pearson MARKX0 alignment format.</option>
                        <option value="edam:format_2922">markx0 variant - Some variant of Pearson MARKX alignment format.</option>
                        <option value="edam:format_1986">markx1 - Pearson MARKX1 alignment format.</option>
                        <option value="edam:format_1987">markx10 - Pearson MARKX10 alignment format.</option>
                        <option value="edam:format_1988">markx2 - Pearson MARKX2 alignment format.</option>
                        <option value="edam:format_1989">markx3 - Pearson MARKX3 alignment format.</option>
                        <option value="edam:format_3713">Mascot .dat file - Raw result file from Mascot database search.</option>
                        <option value="edam:format_1945">mase format - Mase program sequence format.</option>
                        <option value="edam:format_3245">Mass spectrometry data format - Format for mass pectra and derived data, include peptide sequences etc.</option>
                        <option value="edam:format_3626">MAT - Binary format used by MATLAB files to store workspace variables.</option>
                        <option value="edam:format_1990">match - Alignment format for start and end of matches between sequence pairs.</option>
                        <option value="edam:format_3033">Matrix format - Format of a matrix (array) of numerical values.</option>
                        <option value="edam:format_3714">MaxQuant APL peaklist format - Format of peak list files from Andromeda search engine (MaxQuant) that...</option>
                        <option value="edam:format_3777">MCPD - The FAO/Bioversity/IPGRI Multi-Crop Passport Descriptors (MCPD) is an...</option>
                        <option value="edam:format_3878">mdcrd - AMBER trajectory (also called mdcrd), with 10 coordinates per line and...</option>
                        <option value="edam:format_2194">medline - Abstract format used by MedLine database.</option>
                        <option value="edam:format_1735">Medline Display Format - Format for abstracts of scientific articles from the Medline database.</option>
                        <option value="edam:format_1991">mega - Mega format for (typically aligned) sequences.</option>
                        <option value="edam:format_2923">mega variant - Some variant of Mega format for (typically aligned) sequences.</option>
                        <option value="edam:format_1946">mega-seq - Mega interleaved and non-interleaved sequence format.</option>
                        <option value="edam:format_1992">meganon - Mega non-interleaved format for (typically aligned) sequences.</option>
                        <option value="edam:format_1369">MEME background Markov model - Format of the model of random sequences used by MEME.</option>
                        <option value="edam:format_1350">MEME Dirichlet prior - Dirichlet distribution MEME format.</option>
                        <option value="edam:format_1360">meme-motif - A motif in the format generated by the MEME program.</option>
                        <option value="edam:format_1198">mf - Chemical structure specified by Molecular Formula (MF), including a count of...</option>
                        <option value="edam:format_3651">MGF - Mascot Generic Format.  Encodes multiple MS/MS spectra in a single file.</option>
                        <option value="edam:format_3550">mhd - Text-based tagged file format for medical images generated using the...</option>
                        <option value="edam:format_3556">MHTML - MIME  HTML format for Web pages, which can include external resources,...</option>
                        <option value="edam:format_2056">Microarray experiment data format - Format for information about a microarray experimental per se (not the data...</option>
                        <option value="edam:format_1629">mira - Format of MIRA sequence trace information file.</option>
                        <option value="edam:format_3864">mirGFF3 - mirGFF3 is a common format for microRNA data resulting from small-RNA...</option>
                        <option value="edam:format_1477">mmCIF - Entry format of PDB database in mmCIF format.</option>
                        <option value="edam:format_3816">Mol2 - Complete, portable representation of a SYBYL molecule. ASCII file which...</option>
                        <option value="edam:format_3815">Molfile - An MDL Molfile is a file format for holding information about the atoms,...</option>
                        <option value="edam:format_3849">MSAML - A set of XML compliant markup components for describing multiple sequence...</option>
                        <option value="edam:format_3702">MSF - Proprietary mass-spectrometry format of Thermo Scientific's...</option>
                        <option value="edam:format_3911">msh - Mash sketch is a format for sequence / sequence checksum information. To...</option>
                        <option value="edam:format_1334">mspcrunch - Format of results of a sequence database search using some variant of...</option>
                        <option value="edam:format_3916">MTX - The Matrix Market matrix (MTX) format stores numerical or pattern matrices...</option>
                        <option value="edam:format_3834">mzData - Now deprecated data format of the HUPO Proteomics Standards Initiative. ...</option>
                        <option value="edam:format_3247">mzIdentML - mzIdentML is the exchange format for peptides and proteins identified from...</option>
                        <option value="edam:format_3244">mzML - mzML format for raw spectrometer output data, standardised by HUPO PSI MSS.</option>
                        <option value="edam:format_3248">mzQuantML - mzQuantML is the format for quantitation values associated with peptides,...</option>
                        <option value="edam:format_3681">mzTab - mzTab is a tab-delimited format for mass spectrometry-based proteomics and...</option>
                        <option value="edam:format_3654">mzXML - Common file format for proteomics mass spectrometric data developed at the...</option>
                        <option value="edam:format_3256">N-Triples - A plain text serialisation format for RDF (Resource Description Framework)...</option>
                        <option value="edam:format_1948">nbrf/pir - NBRF/PIR entry sequence format.</option>
                        <option value="edam:format_1972">NCBI format - NCBI FASTA sequence format with NCBI-style IDs.</option>
                        <option value="edam:format_3650">netCDF - Format used by netCDF software  library for writing and reading...</option>
                        <option value="edam:format_1910">newick - Phylogenetic tree Newick (text) format.</option>
                        <option value="edam:format_3160">NeXML - NeXML is a standardised XML format for rich phyloinformatic data.</option>
                        <option value="edam:format_1912">Nexus format - Phylogenetic tree Nexus (text) format.</option>
                        <option value="edam:format_1949">nexus-seq - Nexus/paup interleaved sequence format.</option>
                        <option value="edam:format_1973">nexusnon - Nexus/paup non-interleaved sequence format.</option>
                        <option value="edam:format_3549">nii - Medical image and metadata format of the Neuroimaging Informatics Technology...</option>
                        <option value="edam:format_3862">NLP annotation format - An NLP format used for annotated textual documents.</option>
                        <option value="edam:format_3863">NLP corpus format - NLP format used by a specific type of corpus (collection of texts).</option>
                        <option value="edam:format_3841">NLP format - Data format used in Natural Language Processing.</option>
                        <option value="edam:format_3824">NMR data format - Data format for raw data from a nuclear magnetic resonance (NMR)...</option>
                        <option value="edam:format_3906">NMReDATA - MReData is a text based data standard for processed NMR data. It is relying...</option>
                        <option value="edam:format_3825">nmrML - nmrML is an MSI supported XML-based open access format for metabolomics NMR...</option>
                        <option value="edam:format_3257">Notation3 - A shorthand non-XML serialisation of Resource Description Framework model,...</option>
                        <option value="edam:format_3551">nrrd - Nearly Raw Rasta Data format designed to support scientific visualisation...</option>
                        <option value="edam:format_2061">Nucleic acid features (primers) format - Format of a report on PCR primers or hybridisation oligos in a nucleic acid...</option>
                        <option value="edam:format_2158">Nucleic acid features (restriction sites) format - Format used for report on restriction enzyme recognition sites in nucleotide...</option>
                        <option value="edam:format_1207">nucleotide - Alphabet for a nucleotide sequence with possible ambiguity, unknown...</option>
                        <option value="edam:format_2549">OBO - OBO ontology text format.</option>
                        <option value="edam:format_2196">OBO format - A serialisation format conforming to the Open Biomedical Ontologies (OBO)...</option>
                        <option value="edam:format_2550">OBO-XML - OBO ontology XML format.</option>
                        <option value="edam:format_3727">OME-TIFF - Image file format used by the Open Microscopy Environment (OME).</option>
                        <option value="edam:format_2195">Ontology format - Format used for ontologies.</option>
                        <option value="edam:format_3784">Open Annotation format - A format of text annotation using the linked-data Open Annotation Data...</option>
                        <option value="edam:format_3850">OrthoXML - OrthoXML is designed broadly to allow the storage and comparison of...</option>
                        <option value="edam:format_1741">OSCAR format - OSCAR format of annotated chemical text.</option>
                        <option value="edam:format_2197">OWL format - A serialisation format conforming to the Web Ontology Language (OWL) model.</option>
                        <option value="edam:format_3252">OWL Functional Syntax - A human-readable encoding for the Web Ontology Language (OWL).</option>
                        <option value="edam:format_3262">OWL/XML - OWL ontology XML serialisation format.</option>
                        <option value="edam:format_1996">pair - EMBOSS simple sequence pair alignment format.</option>
                        <option value="edam:format_3601">pbm - The PBM format is a lowest common denominator monochrome file format. It...</option>
                        <option value="edam:format_3874">PCAzip - PCAZip format is a binary compressed file to store atom coordinates based on...</option>
                        <option value="edam:format_3594">pcd - Photo CD format, which is the highest resolution format for images on a CD.</option>
                        <option value="edam:format_1551">Pcons report format - Format of output of the Pcons Model Quality Assessment Program (MQAP).</option>
                        <option value="edam:format_3595">pcx - PCX is an image file format that uses a simple form of run-length encoding....</option>
                        <option value="edam:format_1476">PDB - Entry format of PDB database in PDB format.</option>
                        <option value="edam:format_1475">PDB database entry format - Format of an entry (or part of an entry) from the PDB database.</option>
                        <option value="edam:format_1950">pdbatom - PDB sequence format (ATOM lines).</option>
                        <option value="edam:format_1951">pdbatomnuc - PDB nucleotide sequence format (ATOM lines).</option>
                        <option value="edam:format_1478">PDBML - Entry format of PDB database in PDBML (XML) format.</option>
                        <option value="edam:format_1953">pdbseqres - PDB sequence format (SEQRES lines).</option>
                        <option value="edam:format_1952">pdbseqresnuc - PDB nucleotide sequence format (SEQRES lines).</option>
                        <option value="edam:format_3508">PDF - Portable Document Format</option>
                        <option value="edam:format_1954">Pearson format - Plain old FASTA sequence format (unspecified format for IDs).</option>
                        <option value="edam:format_3286">PED - The PED file describes individuals and genetic data and is used by the Plink...</option>
                        <option value="edam:format_3288">PED/MAP - The PED/MAP file describes data used by the Plink package.</option>
                        <option value="edam:format_3655">pepXML - Open data format for the storage, exchange, and processing of peptide...</option>
                        <option value="edam:format_3602">pgm - The PGM format is a lowest common denominator grayscale file format.</option>
                        <option value="edam:format_3012">pgSnp - Personal Genome SNP (pgSnp) format for sequence variation tracks (indels and...</option>
                        <option value="edam:format_1633">PHD - PHD sequence trace format to store serialised chromatogram data (reads).</option>
                        <option value="edam:format_1432">Phylip character frequencies format - PHYLIP file format for phylogenetics character frequency data.</option>
                        <option value="edam:format_1434">Phylip cliques format - Format of PHYLIP cliques data.</option>
                        <option value="edam:format_1430">Phylip continuous quantitative characters - PHYLIP file format for continuous quantitative character data.</option>
                        <option value="edam:format_1433">Phylip discrete states format - Format of PHYLIP discrete states data.</option>
                        <option value="edam:format_1423">Phylip distance matrix - Format of PHYLIP phylogenetic distance matrix data.</option>
                        <option value="edam:format_1997">PHYLIP format - Phylip format for (aligned) sequences.</option>
                        <option value="edam:format_2924">Phylip format variant - Some variant of Phylip format for (aligned) sequences.</option>
                        <option value="edam:format_1998">PHYLIP sequential - Phylip non-interleaved format for (aligned) sequences.</option>
                        <option value="edam:format_1445">Phylip tree distance format - Format for distances, such as Branch Score distance, between two or more...</option>
                        <option value="edam:format_1435">Phylip tree format - Phylogenetic tree data format used by the PHYLIP program.</option>
                        <option value="edam:format_1425">Phylip tree raw - Raw data file format used by Phylip from which a phylogenetic tree is...</option>
                        <option value="edam:format_2036">Phylogenetic character data format - Format of raw (unplotted) phylogenetic data.</option>
                        <option value="edam:format_2037">Phylogenetic continuous quantitative character format - Format of phylogenetic continuous quantitative character data.</option>
                        <option value="edam:format_2038">Phylogenetic discrete states format - Format of phylogenetic discrete states data.</option>
                        <option value="edam:format_2006">Phylogenetic tree format - Data format for a phylogenetic tree.</option>
                        <option value="edam:format_2556">Phylogenetic tree format (text) - Text format for a phylogenetic tree.</option>
                        <option value="edam:format_2557">Phylogenetic tree format (XML) - XML format for a phylogenetic tree.</option>
                        <option value="edam:format_2039">Phylogenetic tree report (cliques) format - Format of phylogenetic cliques data.</option>
                        <option value="edam:format_2040">Phylogenetic tree report (invariants) format - Format of phylogenetic invariants data.</option>
                        <option value="edam:format_2049">Phylogenetic tree report (tree distances) format - Format for phylogenetic tree distance data.</option>
                        <option value="edam:format_3159">phyloXML - phyloXML is a standardised XML format for phylogenetic trees, networks, and...</option>
                        <option value="edam:format_3015">Pileup - Pileup format of alignment of sequences (e.g. sequencing reads) to (a)...</option>
                        <option value="edam:format_3653">pkl - Spectral data file similar to dta.</option>
                        <option value="edam:format_1964">plain text format (unformatted) - Plain text sequence format (essentially unformatted).</option>
                        <option value="edam:format_1861">PlasMapper TextMap - Map of a plasmid (circular DNA) in PlasMapper TextMap format.</option>
                        <option value="edam:format_1739">pmc - Article format of the PubMed Central database.</option>
                        <option value="edam:format_3726">PMML - PMML uses XML to represent mining models. The structure of the models is...</option>
                        <option value="edam:format_3603">PNG - PNG is a file format for image compression.</option>
                        <option value="edam:format_3330">PO - EMBOSS simple sequence pair alignment format.</option>
                        <option value="edam:format_3596">ppm - The PPM format is a lowest common denominator color image file format.</option>
                        <option value="edam:format_3838">pptx - Microsoft Powerpoint format.</option>
                        <option value="edam:format_3684">PRIDE XML - PRIDE XML is an XML format for mass spectra, peptide and protein...</option>
                        <option value="edam:format_1627">Primer3 primer - Report format on PCR primers and hybridisation oligos as generated by...</option>
                        <option value="edam:format_3826">proBAM - . proBAM is an adaptation of BAM (format_2572), which was extended to meet...</option>
                        <option value="edam:format_3827">proBED - . proBED is an adaptation of BED (format_3003), which was extended to meet...</option>
                        <option value="edam:format_1552">ProQ report format - Format of output of the ProQ protein model quality predictor.</option>
                        <option value="edam:format_1356">prosite-pattern - Format of a regular expression pattern from the Prosite database.</option>
                        <option value="edam:format_1366">prosite-profile - Sequence profile (sequence classifier) format used in the PROSITE database.</option>
                        <option value="edam:format_1208">protein - Alphabet for a protein sequence with possible ambiguity, unknown positions...</option>
                        <option value="edam:format_3097">Protein domain classification format - Format of data concerning the classification of the sequences and/or...</option>
                        <option value="edam:format_2052">Protein family report format - Format for reports on a protein family.</option>
                        <option value="edam:format_2054">Protein interaction format - Format for molecular interaction data.</option>
                        <option value="edam:format_2062">Protein report format - Format of a report of general information about a specific protein.</option>
                        <option value="edam:format_2077">Protein secondary structure format - Format for secondary structure (predicted or real) of a protein molecule.</option>
                        <option value="edam:format_2065">Protein structure report (quality evaluation) format - Format of a report on the quality of a protein three-dimensional model.</option>
                        <option value="edam:format_3747">protXML - A format for storage, exchange, and processing of protein identifications...</option>
                        <option value="edam:format_3696">PS - PostScript format</option>
                        <option value="edam:format_3597">psd - PSD (Photoshop Document) is a proprietary file that allows the user to work...</option>
                        <option value="edam:format_3851">PSDML - Tree structure of Protein Sequence Database Markup Language generated using...</option>
                        <option value="edam:format_3882">PSF - X-Plor Protein Structure Files (PSF) are structure topology files used by...</option>
                        <option value="edam:format_3242">PSI MI TAB (MITAB) - Tabular Molecular Interaction format (MITAB), standardised by HUPO PSI MI.</option>
                        <option value="edam:format_3158">PSI MI XML (MIF) - XML Molecular Interaction Format (MIF), standardised by HUPO PSI MI.</option>
                        <option value="edam:format_3243">PSI-PAR - Protein affinity format (PSI-PAR), standardised by HUPO PSI MI. It is...</option>
                        <option value="edam:format_3007">PSL - PSL format of alignments, typically generated by BLAT or psLayout. Can be...</option>
                        <option value="edam:format_3781">PubAnnotation format - JSON format of annotated scientific text used by PubAnnotations and other...</option>
                        <option value="edam:format_1734">PubMed citation - Format of bibliographic reference as used by the PubMed database.</option>
                        <option value="edam:format_3848">PubMed XML - XML format for collected entries from biobliographic databases MEDLINE and...</option>
                        <option value="edam:format_3783">PubTator format - Native textual export format of annotated scientific text from PubTator.</option>
                        <option value="edam:format_2094">pure - Alphabet for molecular sequence with possible unknown positions but without...</option>
                        <option value="edam:format_1215">pure dna - Alphabet for a DNA sequence with possible ambiguity and unknown positions...</option>
                        <option value="edam:format_1210">pure nucleotide - Alphabet for a nucleotide sequence with possible ambiguity and unknown...</option>
                        <option value="edam:format_1219">pure protein - Alphabet for any protein sequence with possible ambiguity and unknown...</option>
                        <option value="edam:format_1217">pure rna - Alphabet for an RNA sequence with possible ambiguity and unknown positions...</option>
                        <option value="edam:format_3683">qcML - qcML is an XML format for quality-related data of mass spectrometry and...</option>
                        <option value="edam:format_3607">qual - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3611">qual454 - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3609">qualillumina - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3608">qualsolexa - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3610">qualsolid - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3787">Query language - A query language (format) for structured database queries.</option>
                        <option value="edam:format_1295">quicktandem - Report format for tandem repeats in a nucleotide sequence (format generated...</option>
                        <option value="edam:format_3554">R file format - File format used for scripts written in the R programming language for...</option>
                        <option value="edam:format_3605">rast - Sun Raster is a raster graphics file format used on SunOS by Sun Microsystems</option>
                        <option value="edam:format_1957">raw - Raw sequence format with no non-sequence characters.</option>
                        <option value="edam:format_3099">Raw CATH domain classification format - Format of raw CATH domain classification data files.</option>
                        <option value="edam:format_3828">Raw microarray data format - Data format for raw microarray data.</option>
                        <option value="edam:format_3098">Raw SCOP domain classification format - Format of raw SCOP domain classification data files.</option>
                        <option value="edam:format_2571">Raw sequence format - Format of a raw molecular sequence (i.e. the alphabet used).</option>
                        <option value="edam:format_3580">rcc - Reporter Code Count-A data file (.csv) output by the Nanostring nCounter...</option>
                        <option value="edam:format_2376">RDF format - A serialisation format conforming to the Resource Description Framework...</option>
                        <option value="edam:format_3261">RDF/XML - Resource Description Framework (RDF) XML format.</option>
                        <option value="edam:format_1320">REBASE restriction sites - Report format for restriction enzyme recognition sites used by REBASE...</option>
                        <option value="edam:format_1958">refseqp - Refseq protein entry sequence format.</option>
                        <option value="edam:format_3819">Relaxed PHYLIP Interleaved - Phylip multiple alignment sequence format, less stringent than PHYLIP format.</option>
                        <option value="edam:format_3820">Relaxed PHYLIP Sequential - Phylip multiple alignment sequence format, less stringent than PHYLIP...</option>
                        <option value="edam:format_1319">restover format - Report format for restriction enzyme recognition sites used by EMBOSS...</option>
                        <option value="edam:format_1318">restrict format - Report format for restriction enzyme recognition sites used by EMBOSS...</option>
                        <option value="edam:format_3600">rgb - RGB file format is the native raster graphics file format for Silicon...</option>
                        <option value="edam:format_1213">rna - Alphabet for an RNA sequence with possible ambiguity, unknown positions and...</option>
                        <option value="edam:format_3865">RNA annotation format - A placeholder concept for formats of annotated RNA data, including e.g....</option>
                        <option value="edam:format_2076">RNA secondary structure format - Format for secondary structure (predicted or real) of an RNA molecule.</option>
                        <option value="edam:format_3311">RNAML - RNA Markup Language.</option>
                        <option value="edam:format_3485">RSF - Rich sequence format.</option>
                        <option value="edam:format_3886">RST - AMBER coordinate/restart file with 6 coordinates per line and decimal format...</option>
                        <option value="edam:format_2573">SAM - Sequence Alignment/Map (SAM) format for alignment of nucleotide sequences...</option>
                        <option value="edam:format_3813">SAMPLE file format - The SAMPLE file format contains information about each individual i.e....</option>
                        <option value="edam:format_1296">Sanger inverted repeats - Report format for inverted repeats in a nucleotide sequence (format...</option>
                        <option value="edam:format_3692">SBGN-ML - SBGN-ML is an XML format for Systems Biology Graphical Notation (SBGN)...</option>
                        <option value="edam:format_2585">SBML - Systems Biology Markup Language (SBML), the standard XML format for models...</option>
                        <option value="edam:format_3725">SBOL - Synthetic Biology Open Language (SBOL) is an XML format for the...</option>
                        <option value="edam:format_3155">SBRML - Systems Biology Result Markup Language (SBRML), the standard XML format for...</option>
                        <option value="edam:format_3688">SBtab - SBtab is a tabular format for biochemical network models.</option>
                        <option value="edam:format_1632">SCF - Staden Chromatogram Files format (SCF) of base-called sequence reads,...</option>
                        <option value="edam:format_1999">scores format - Alignment format for score values for pairs of sequences.</option>
                        <option value="edam:format_3814">SDF - SDF is one of a family of chemical-data file formats developed by MDL...</option>
                        <option value="edam:format_3685">SED-ML - Simulation Experiment Description Markup Language (SED-ML) is an XML format...</option>
                        <option value="edam:format_2000">selex - SELEX format for (aligned) sequences.</option>
                        <option value="edam:format_2919">Sequence annotation track format - Format of a sequence annotation track.</option>
                        <option value="edam:format_2055">Sequence assembly format - Format for sequence assembly data.</option>
                        <option value="edam:format_2561">Sequence assembly format (text) - Text format for sequence assembly data.</option>
                        <option value="edam:format_2170">Sequence cluster format - Format used for clusters of molecular sequences.</option>
                        <option value="edam:format_2172">Sequence cluster format (nucleic acid) - Format used for clusters of nucleotide sequences.</option>
                        <option value="edam:format_2171">Sequence cluster format (protein) - Format used for clusters of protein sequences.</option>
                        <option value="edam:format_2067">Sequence distance matrix format - Format of a matrix of genetic distances between molecular sequences.</option>
                        <option value="edam:format_1920">Sequence feature annotation format - Data format for molecular sequence feature information.</option>
                        <option value="edam:format_2548">Sequence feature table format - Format for a sequence feature table.</option>
                        <option value="edam:format_2206">Sequence feature table format (text) - Text format for a sequence feature table.</option>
                        <option value="edam:format_2553">Sequence feature table format (XML) - XML format for a sequence feature table.</option>
                        <option value="edam:format_2155">Sequence features (repeats) format - Format used for map of repeats in molecular (typically nucleotide) sequences.</option>
                        <option value="edam:format_2068">Sequence motif format - Format of a sequence motif.</option>
                        <option value="edam:format_2069">Sequence profile format - Format of a sequence profile.</option>
                        <option value="edam:format_3606">Sequence quality report format (text) - Textual report format for sequence quality for reports from sequencing...</option>
                        <option value="edam:format_2078">Sequence range format - Format used to specify range(s) of sequence positions.</option>
                        <option value="edam:format_1919">Sequence record format - Data format for a molecular sequence record.</option>
                        <option value="edam:format_2551">Sequence record format (text) - Data format for a molecular sequence record.</option>
                        <option value="edam:format_2552">Sequence record format (XML) - Data format for a molecular sequence record.</option>
                        <option value="edam:format_2057">Sequence trace format - Format for sequence trace data (i.e. including base call information).</option>
                        <option value="edam:format_2921">Sequence variation annotation format - Format of sequence variation annotation.</option>
                        <option value="edam:format_1419">Sequence-MEME profile alignment - Format for alignment of molecular sequences to MEME profiles...</option>
                        <option value="edam:format_2014">Sequence-profile alignment format - Data format for a sequence-profile alignment.</option>
                        <option value="edam:format_3758">SEQUEST .out file - Raw result file from SEQUEST database search.</option>
                        <option value="edam:format_3701">Sequin format - A five-column, tab-delimited table of feature locations and qualifiers for...</option>
                        <option value="edam:format_3852">SeqXML - SeqXML is an XML Schema to describe biological sequences, developed by the...</option>
                        <option value="edam:format_3284">SFF - Standard flowgram format (SFF) is a binary file format used to encode...</option>
                        <option value="edam:format_3619">sif - SIF (simple interaction file) Format - a network/pathway format used for...</option>
                        <option value="edam:format_1200">smarts - SMILES ARbitrary Target Specification (SMARTS) format for chemical structure...</option>
                        <option value="edam:format_1196">SMILES - Chemical structure specified in Simplified Molecular Input Line Entry System...</option>
                        <option value="edam:format_1335">Smith-Waterman format - Format of results of a sequence database search using some variant of Smith...</option>
                        <option value="edam:format_3624">snpeffdb - An index of a genome database, indexed for use by the snpeff tool.</option>
                        <option value="edam:format_3790">SPARQL - SPARQL (SPARQL Protocol and RDF Query Language) is a semantic query language...</option>
                        <option value="edam:format_3250">spML - spML is the format for describing proteomics sample processing, other than...</option>
                        <option value="edam:format_3555">SPSS - File format used for scripts for the Statistical Package for the Social...</option>
                        <option value="edam:format_3788">SQL - SQL (Structured Query Language) is the de-facto standard query language...</option>
                        <option value="edam:format_3621">SQLite format - Data format used by the SQLite database.</option>
                        <option value="edam:format_3698">SRA format -  SRA archive format (SRA) is the archive format used for input to the NCBI...</option>
                        <option value="edam:format_3017">SRF - Sequence Read Format (SRF) of sequence trace data. Supports submission to...</option>
                        <option value="edam:format_2002">srs format - Simple multiple sequence (alignment) format for SRS.</option>
                        <option value="edam:format_2003">srspair - Simple sequence pair (alignment) format for SRS.</option>
                        <option value="edam:format_3310">SS - XRNA old input style format.</option>
                        <option value="edam:format_1928">Staden experiment format - Staden experiment file format.</option>
                        <option value="edam:format_1960">Staden format - Staden suite sequence format.</option>
                        <option value="edam:format_1961">Stockholm format - Stockholm multiple sequence alignment format (used by Pfam and Rfam).</option>
                        <option value="edam:format_1962">strider format - DNA strider output sequence format.</option>
                        <option value="edam:format_2304">STRING entry format (XML) - Entry format (XML) for the STRING database of protein interaction.</option>
                        <option value="edam:format_3604">SVG - Scalable Vector Graphics (SVG) is an XML-based vector image format for...</option>
                        <option value="edam:format_2004">T-Coffee format - T-Coffee program alignment format.</option>
                        <option value="edam:format_3616">tabix - TAB-delimited genome position file index format.</option>
                        <option value="edam:format_3700">Tabix index file format - Index file format used by the samtools package to index TAB-delimited genome...</option>
                        <option value="edam:format_1665">Taverna workflow format - Format of Taverna workflows.</option>
                        <option value="edam:format_2033">Tertiary structure format - Data format for a molecular tertiary structure.</option>
                        <option value="edam:format_2021">Text mining report format - Data format of a report from text mining.</option>
                        <option value="edam:format_2330">Textual format - Textual format.</option>
                        <option value="edam:format_3712">Thermo RAW - Proprietary file format for mass spectrometry data from Thermo Scientific.</option>
                        <option value="edam:format_3835">TIDE TXT - Format supported by the Tide tool for identifying peptides from tandem mass...</option>
                        <option value="edam:format_3591">TIFF - A versatile bitmap format.</option>
                        <option value="edam:format_3876">TNG - Trajectory Next Generation (TNG) is a format for storage of molecular...</option>
                        <option value="edam:format_3879">Topology format - Format of topology files; containing the static information of a structure...</option>
                        <option value="edam:format_3866">Trajectory format - File format to store trajectory information for a 3D structure .</option>
                        <option value="edam:format_3867">Trajectory format (binary) - Binary file format to store trajectory information for a 3D structure .</option>
                        <option value="edam:format_3868">Trajectory format (text) - Textual file format to store trajectory information for a 3D structure .</option>
                        <option value="edam:format_3246">TraML - TraML (Transition Markup Language) is the format for mass spectrometry...</option>
                        <option value="edam:format_1436">TreeBASE format - The format of an entry from the TreeBASE database of phylogenetic data.</option>
                        <option value="edam:format_1911">TreeCon format - Phylogenetic tree TreeCon (text) format.</option>
                        <option value="edam:format_2005">TreeCon-seq - Treecon format for (aligned) sequences.</option>
                        <option value="edam:format_1437">TreeFam format - The format of an entry from the TreeFam database of phylogenetic data.</option>
                        <option value="edam:format_3910">trr - Format of trr files that contain the trajectory of a simulation experiment...</option>
                        <option value="edam:format_3475">TSV - Tabular data represented as tab-separated values in a text file.</option>
                        <option value="edam:format_3255">Turtle - The Terse RDF Triple Language (Turtle) is a human-friendly serialisation...</option>
                        <option value="edam:format_1206">unambiguous pure - Alphabet for a molecular sequence with possible unknown positions but...</option>
                        <option value="edam:format_1214">unambiguous pure dna - Alphabet for a DNA sequence (characters ACGT only) with possible unknown...</option>
                        <option value="edam:format_1211">unambiguous pure nucleotide - Alphabet for a nucleotide sequence (characters ACGTU only) with possible...</option>
                        <option value="edam:format_1218">unambiguous pure protein - Alphabet for any protein sequence with possible unknown positions but...</option>
                        <option value="edam:format_1216">unambiguous pure rna sequence - Alphabet for an RNA sequence (characters ACGU only) with possible unknown...</option>
                        <option value="edam:format_2096">unambiguous sequence - Alphabet for a molecular sequence with possible unknown positions but...</option>
                        <option value="edam:format_3853">UniParc XML - XML format for the UniParc database.</option>
                        <option value="edam:format_2187">UniProt-like (text) - A text sequence format resembling uniprotkb entry format.</option>
                        <option value="edam:format_1963">UniProtKB format - UniProtKB entry sequence format.</option>
                        <option value="edam:format_3771">UniProtKB RDF - UniProtKB RDF sequence features format is an RDF format available for...</option>
                        <option value="edam:format_3770">UniProtKB XML - UniProtKB XML sequence features format is an XML format available for...</option>
                        <option value="edam:format_2547">uniprotkb-like format - A sequence format resembling uniprotkb entry format.</option>
                        <option value="edam:format_3854">UniRef XML - XML format for the UniRef reference clusters.</option>
                        <option value="edam:format_2095">unpure - Alphabet for a molecular sequence with possible unknown positions but...</option>
                        <option value="edam:format_3016">VCF - Variant Call Format (VCF) for sequence variation (indels, polymorphisms,...</option>
                        <option value="edam:format_3699">VDB - VDB ('vertical database') is the native format used for export from the NCBI...</option>
                        <option value="edam:format_1458">Vienna local RNA secondary structure format - Format of local RNA secondary structure components with free energy values,...</option>
                        <option value="edam:format_3821">VisML - Default XML format of VisANT, containing all the network information.</option>
                        <option value="edam:format_3858">Waters RAW - Proprietary file format for mass spectrometry data from Waters.</option>
                        <option value="edam:format_3710">WIFF format - Mass spectrum file format from QSTAR and QTRAP instruments (ABI/Sciex).</option>
                        <option value="edam:format_3005">WIG - Wiggle format (WIG) of a sequence annotation track that consists of a value...</option>
                        <option value="edam:format_2032">Workflow format - Format of a workflow.</option>
                        <option value="edam:format_3711">X!Tandem XML - Output format used by X! series search engines that is based on the XML...</option>
                        <option value="edam:format_3598">xbm - X BitMap is a plain text binary image format used by the X Window System...</option>
                        <option value="edam:format_3618">xgmml - XML-based format used to store graph descriptions within Galaxy.</option>
                        <option value="edam:format_3468">xls - Microsoft Excel spreadsheet format.</option>
                        <option value="edam:format_3620">xlsx - MS Excel spreadsheet format consisting of a set of XML documents stored in a...</option>
                        <option value="edam:format_3811">XMFA - The A2M format is used as the primary format for multiple alignments of...</option>
                        <option value="edam:format_2332">XML - eXtensible Markup Language (XML) format.</option>
                        <option value="edam:format_3599">xpm - X PixMap (XPM) is an image file format used by the X Window System, it is...</option>
                        <option value="edam:format_3789">XQuery - XQuery (XML Query) is a query language (format of queries) for querying and...</option>
                        <option value="edam:format_3804">xsd - XML format for XML Schema.</option>
                        <option value="edam:format_3875">XTC - Portable binary format for trajectories produced by GROMACS package.</option>
                        <option value="edam:format_3877">XYZ - The XYZ chemical file format is widely supported by many programs, although...</option>
                        <option value="edam:format_3750">YAML - YAML (YAML Ain't Markup Language) is a human-readable tree-structured data...</option>
                        <option value="edam:format_3915">Zarr - The Zarr format is an implementation of chunked, compressed, N-dimensional...</option>
                        <option value="edam:format_3018">ZTR - ZTR format for storing chromatogram data from DNA sequencing instruments.</option>
                    </select>
                    <p><small>Please specify the file format (optional). These formats are from the <a href="http://edamontology.org/page" target="_blank">EDAM Ontology</a> and apply to bioinformatics tools. If the format is not specified in the list, please contact us.</small></p>
                </div>

                <div class="form-group" v-if="newInputType=='File' || newInputType=='Output_File'">
                    <label for="inputSecondary">Secondary file(s):</label>
                    <input v-model="newInputSecondary" id="inputSecondary" ref="newInputSecondary" type="text" class="form-control" placeholder="Indicate any secondary files (separated by commas) that should accompany this file (example: .ann,.bwt). Spaces will be removed." />
                </div>

                <p v-if="input_errors.length > 0"><font color="red">
                    <b>Please correct the following error(s):</b>
                    <ul>
                      <li v-for="error in input_errors">{{ error }}</li>
                    </ul>
                    </font>
                </p>

                <div class="form-group">
                    <button class="btn btn-info" :disabled="newInputName.trim() == '' || newInputDoc.trim() == ''">Add / Update</button>
                </div>
            </form>

            <p v-if="inputs.length > 0">Here you can edit (<span class="glyphicon glyphicon-edit" aria-hidden="true"></span>) or delete (<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>) inputs.</p>

            <ol class="list-group">
                <li v-for="input in inputs" class="list-group-item">{{ input.name }} - {{ input.type }}
                    <button v-on:click="editInput(input)" class="btn btn-default">
                        <span class="glyphicon glyphicon-edit" aria-hidden="true"></span>
                    </button>
                    <button v-on:click="deleteInput(input)" class="btn btn-default">
                        <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
                    </button>
                </li>
            </ol>

            <p v-if="overall_input_errors.length > 0"><font color="red">
                <b>Please correct the following error(s):</b>
                <ul>
                  <li v-for="error in overall_input_errors">{{ error }}</li>
                </ul>
                </font>
            </p>
        </div>

        <div class="panel panel-default" ref="auxPanel">
            <h4 class="card-title">Manage auxiliary files:</h4>

            <p>In this section, you can manage auxiliary files (optional). Auxiliary files are stored within the execution environment and thus can be used in the command template (see below). Auxiliary files often include analysis scripts or configuration files (in CWL tool descriptions, they are stored under InitialWorkDirRequirement). <a v-on:click="var example_name = 'run_deseq2_analysis.R'; var example_contents = 'library(dplyr)\nlibrary(readr)\nlibrary(DESeq2)\n\nread_counts_url = commandArgs()[8]\nphenotypes_url = commandArgs()[9]\ndesign_formula = commandArgs()[10]\nout_file_name = commandArgs()[11]\n\n# Read the data\ncount_data = read_tsv(read_counts_url)\nphenotypes_data = read_tsv(phenotypes_url)\n\n# The readr package does not allow row names, so we pull those from the first column.\n# The readr package assigns a column name of X1 when the first column name is missing.\ncount_row_names = pull(count_data, X1)\ncount_data = select(count_data, -X1)\ncount_data = as.matrix(count_data)\nrownames(count_data) = count_row_names\n\nphenotypes_row_names = pull(phenotypes_data, X1)\nphenotypes_data = select(phenotypes_data, -X1)\nphenotypes_data = as.data.frame(phenotypes_data)\nrownames(phenotypes_data) = phenotypes_row_names\n\n# These are the analysis steps.\ndds <- DESeqDataSetFromMatrix(countData = count_data,\n           colData = phenotypes_data,\n           design = as.formula(design_formula))\ndds <- DESeq(dds)\nres <- results(dds)\n\n# Now save the results, sorted by adjusted P-value.\nwrite.table(res[order(res$padj),], out_file_name, sep=&quot;\\t&quot;, row.names=TRUE, col.names=NA, quote=FALSE)'; if (newAuxName == example_name && newAuxContents == example_contents) { newAuxName = example_cache['newAuxName']; newAuxContents = example_cache['newAuxContents'] } else { example_cache['newAuxName'] = newAuxName; example_cache['newAuxContents'] = newAuxContents; newAuxName = example_name; newAuxContents = example_contents; }">Show/hide example</a>.

            <form v-on:submit.prevent="addAuxiliaryFile">
                <div class="form-group">
                    <label for="auxName">Name:</label>
                    <input v-model="newAuxName" id="auxName" ref="newAuxName" type="text" class="form-control" placeholder="Please enter a unique name for this auxiliary file. Only letters, numbers, underscores, and periods are allowed." />
                </div>

                <div class="form-group">
                    <label for="auxContents">Contents:</label>
                    <textarea v-model="newAuxContents" id="auxContents" rows=10 cols=100 ref="newAuxContents" class="form-control" placeholder="Provide enter the file contents." style="font-family:monospace;"></textarea>
                </div>

                <p v-if="auxiliary_errors.length > 0"><font color="red">
                    <b>Please correct the following error(s):</b>
                    <ul>
                      <li v-for="error in auxiliary_errors">{{ error }}</li>
                    </ul>
                    </font>
                </p>

                <div class="form-group">
                    <button class="btn btn-info" :disabled="newAuxName == '' || newAuxContents == ''">Add / Update</button>
                </div>
            </form>

            <p v-if="auxiliary_files.length > 0">Here you can edit (<span class="glyphicon glyphicon-edit" aria-hidden="true"></span>) or delete (<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>) auxiliary files.</p>

            <ol class="list-group">
                <li v-for="aux in auxiliary_files" class="list-group-item">{{ aux.name }}
                    <button v-on:click="editAuxiliaryFile(aux)" class="btn btn-default">
                        <span class="glyphicon glyphicon-edit" aria-hidden="true"></span>
                    </button>
                    <button v-on:click="deleteAuxiliaryFile(aux, true)" class="btn btn-default">
                        <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
                    </button>
                </li>
            </ol>
        </div>

        <div class="panel panel-default" ref="outputPanel">
            <h4 class="card-title">Specify command template<sup><font color="red">*</font></sup>:</h4>

            <p>Here you specify a template for executing the tool at the command line within the execution environment. Each input must be referenced at least once in the command template. For example, if you had defined an input string called "my_string", you would reference it in the command template as <code>$(inputs.my_string)</code>. You would follow a similar pattern for inputs that are integers or "output files." However, it is different for input files; the input object will have multiple attributes, and you must specify one of these. For example, if you had defined an input file called "my_file" and wanted to refer to the path of that file, you would specify it in the command template as $(inputs.my_file.path). Alternatively, if you wanted to refer only to the name of the file, you would use <code>$(inputs.my_file.basename)</code>. <a href="https://www.commonwl.org/v1.2/CommandLineTool.html#File" target="_blank">Other attributes</a> are available. <a v-on:click="var example = 'Rscript run_deseq2_analysis.R &quot;$(inputs.read_counts_url)&quot; &quot;$(inputs.phenotypes_url)&quot; &quot;$(inputs.design_formula)&quot; &quot;$(inputs.output_file)&quot;'; if (command_template == example) { command_template = example_cache['command_template']; } else { example_cache['command_template'] = command_template; command_template = example; }">Show/hide example</a>.

            <div class="form-group">
                <textarea v-model="command_template" id="command_template" rows=5 cols=100 placeholder="Please enter the command template." class="form-control" aria-describedby="helpBlock"></textarea>
            </div>

            <p v-if="template_errors.length"><font color="red">
                <b>Please correct the following error(s):</b>
                <ul>
                  <li v-for="error in template_errors">{{ error }}</li>
                </ul>
                </font>
            </p>
        </div>

        <div class="panel panel-default" ref="outputPanel">
            <h4 class="card-title">Manage outputs<sup><font color="red">*</font></sup>:</h4>

            <p>After a tool executes successfully, you can collect three kinds of output. <em>Standard output</em> typically consists of messages or data printed to the console. <em>Standard error</em> typically consists of errors, warnings, or diagnostic information printed to the console. In addition, many command-line tools generate new data files.</p>

            <p>In this section, you can specify alternate names for the files that will store standard output and standard error.</p>

            <div class="form-group">
                <label for="stdout_file_name">Standard output file name:</label>
                <input v-model="stdout_file_name" id="stdout_file_name" ref="stdout_file_name" type="text" class="form-control" placeholder="Enter a file name in which standard output will be stored after the tool executes." />
            </div>

            <div class="form-group">
                <label for="stderr_file_name">Standard error file name:</label>
                <input v-model="stderr_file_name" id="stderr_file_name" ref="stderr_file_name" type="text" class="form-control" placeholder="Enter a file name in which standard error will be stored after the tool executes." />
            </div>

            <p>Here you can specify any output files that will be generated by the tool and that you wish to collect after the tool executes. <em>These are separate from any "Output Files" you may have declared in the Inputs section.</em> Please enter a unique identifier and a file pattern that represents the output file that you wish to collect. The file pattern can include <a href="https://en.wikipedia.org/wiki/Wildcard_character#File_and_directory_patterns" target="_blank">UNIX-like wildcard characters</a>. If the file will always have the same name, you can just enter the name of that file. Alternatively, you can enter an expression that references the inputs. For example, if you had specified an input file named "bam_file" and wished to collect an output file of the same name, you would specify the output expression as <code>$(inputs.bam_file.basename)</code>. The ".basename" portion refers to the name of the input file and excludes the rest of the path. Other properties can be found <a href="https://www.commonwl.org/v1.2/CommandLineTool.html#File" target="_blank">here</a>.

            <form v-on:submit.prevent="addOutput">
                <div class="form-group">
                    <label for="outputID">Identifier:</label> (<a v-on:click="var example = 'output_bam_file'; if (newOutputID == example) { newOutputID = example_cache['newOutputID']; } else { example_cache['newOutputID'] = newOutputID; newOutputID = example; }">Show/hide example</a>)
                    <input v-model="newOutputID" id="outputID" ref="newOutputID" type="text" class="form-control" placeholder="Please enter a unique identifier for this output file." />
                </div>

                <div class="form-group">
                    <label for="outputGlob">Wildcard expression:</label> (<a v-on:click="var example = '$(inputs.bam_file.basename)'; if (newOutputGlob == example) { newOutputGlob = example_cache['newOutputGlob']; } else { example_cache['newOutputGlob'] = newOutputGlob; newOutputGlob = example; }">Show/hide example</a>)
                    <input v-model="newOutputGlob" id="outputGlob" ref="newOutputGlob" type="text" class="form-control" placeholder="Please enter an expression for this output file." />
                </div>

                <div class="form-group">
                    <label for="outputDoc">Documentation:</label> (<a v-on:click="var example = 'A sorted BAM file.'; if (newOutputDoc == example) { newOutputDoc = example_cache['newOutputDoc']; } else { example_cache['newOutputDoc'] = newOutputDoc; newOutputDoc = example; }">Show/hide example</a>)
                    <input v-model="newOutputDoc" id="outputDoc" ref="newOutputDoc" type="text" class="form-control" placeholder="Provide a short description of this output file." />
                </div>

                <div class="form-group">
                    <label for="outputSecondary">Secondary file(s):</label> (<a v-on:click="var example = '.bai'; if (newOutputSecondary == example) { newOutputSecondary = example_cache['newOutputSecondary']; } else { example_cache['newOutputSecondary'] = newOutputSecondary; newOutputSecondary = example; }">Show/hide example</a>)
                    <input v-model="newOutputSecondary" id="outputSecondary" ref="newOutputSecondary" type="text" class="form-control" placeholder="Indicate any secondary files (separated by commas) that should accompany this file (example: .ann,.bwt). Spaces will be removed." />
                </div>

                <div class="form-group">
                    <label for="outputFileFormat">File format:</label>
                    <select v-model="newOutputFileFormat" id="outputFileFormat" class="form-control" id="outputFileFormat">
                        <option value=""></option>
                        <option value="edam:format_1964">plain text format (unformatted) - Plain text sequence format (essentially unformatted).</option>
                        <option value="edam:format_3010">.nib - .nib (nibble) binary format of a nucleotide sequence using 4 bits per...</option>
                        <option value="edam:format_3009">2bit - 2bit binary format of nucleotide sequences using 2 bits per nucleotide. In...</option>
                        <option value="edam:format_2064">3D-1D scoring matrix format - Format of a matrix of 3D-1D scores (amino acid environment probabilities).</option>
                        <option value="edam:format_3281">A2M - The A2M format is used as the primary format for multiple alignments of...</option>
                        <option value="edam:format_1504">aaindex - Amino acid index format used by the AAindex database.</option>
                        <option value="edam:format_3000">AB1 - AB1 binary format of raw DNA sequence reads (output of Applied Biosystems'...</option>
                        <option value="edam:format_3708">ABCD format - Exchange format of the Access to Biological Collections Data (ABCD) Schema;...</option>
                        <option value="edam:format_1628">ABI - A format of raw sequence read data from an Applied Biosystems sequencing...</option>
                        <option value="edam:format_3001">ACE - ACE sequence assembly format including contigs, base-call qualities, and...</option>
                        <option value="edam:format_1923">acedb - ACEDB sequence format.</option>
                        <option value="edam:format_1639">affymetrix - Format of affymetrix gene cluster files (hc-genes.txt, hc-chips.txt) from...</option>
                        <option value="edam:format_1641">affymetrix-exp - Affymetrix data file format for information about experimental conditions...</option>
                        <option value="edam:format_3582">afg - AFG is a single text-based file assembly format  that holds read and...</option>
                        <option value="edam:format_3693">AGP - AGP is a tabular format for a sequence assembly (a contig, a...</option>
                        <option value="edam:format_1921">Alignment format - Data format for molecular sequence alignment information.</option>
                        <option value="edam:format_2920">Alignment format (pair only) - Data format for molecular sequence alignment information that can hold...</option>
                        <option value="edam:format_2554">Alignment format (text) - Text format for molecular sequence alignment information.</option>
                        <option value="edam:format_2555">Alignment format (XML) - XML format for molecular sequence alignment information.</option>
                        <option value="edam:format_3888">AMBER frcmod - AMBER frcmod (Force field Modification) is a file format to store any...</option>
                        <option value="edam:format_3889">AMBER off - AMBER Object File Format library files (OFF library files) store residue...</option>
                        <option value="edam:format_3881">AMBER top - AMBER Prmtop file (version 7) is a structure topology text file divided in...</option>
                        <option value="edam:format_2097">ambiguous - Alphabet for a molecular sequence with possible unknown positions and...</option>
                        <option value="edam:format_2017">Amino acid index format - Data format for an amino acid index.</option>
                        <option value="edam:format_3780">Annotated text format - Data format of an annotated text, e.g. with recognised entities, concepts,...</option>
                        <option value="edam:format_3830">ARB - Binary format used by the ARB software suite</option>
                        <option value="edam:format_3581">arff - ARFF (Attribute-Relation File Format) is an ASCII text file format that...</option>
                        <option value="edam:format_2020">Article format - Data format for a full-text scientific article.</option>
                        <option value="edam:format_1966">ASN.1 sequence format - NCBI ASN.1-based sequence format.</option>
                        <option value="edam:format_3013">axt - axt format of alignments, typically produced from BLASTZ.</option>
                        <option value="edam:format_3327">BAI - BAM indexing format</option>
                        <option value="edam:format_2572">BAM - BAM format, the binary, BGZF-formatted compressed version of SAM format for...</option>
                        <option value="edam:format_3020">BCF - BCF, the binary version of Variant Call Format (VCF) for sequence variation...</option>
                        <option value="edam:format_3689">BCML - Biological Connection Markup Language (BCML) is an XML format for biological...</option>
                        <option value="edam:format_3690">BDML - Biological Dynamics Markup Language (BDML) is an XML format for quantitative...</option>
                        <option value="edam:format_3843">BEAST - XML input file format for BEAST Software (Bayesian Evolutionary Analysis...</option>
                        <option value="edam:format_3003">BED - Browser Extensible Data (BED) format of sequence annotation track, typically...</option>
                        <option value="edam:format_3586">bed12 - A BED file where each feature is described by all twelve columns.</option>
                        <option value="edam:format_3585">bed6 - BED file format where each feature is described by chromosome, start, end,...</option>
                        <option value="edam:format_3583">bedgraph - The bedGraph format allows display of continuous-valued data in track...</option>
                        <option value="edam:format_3584">bedstrict - Browser Extensible Data (BED) format of sequence annotation track that...</option>
                        <option value="edam:format_3691">BEL - Biological Expression Language (BEL) is a textual format for representing...</option>
                        <option value="edam:format_3615">bgzip - Blocked GNU Zip format.</option>
                        <option value="edam:format_2848">Bibliographic reference format - Format of a bibliographic reference.</option>
                        <option value="edam:format_3004">bigBed - bigBed format for large sequence annotation tracks, similar to textual BED...</option>
                        <option value="edam:format_3006">bigWig - bigWig format for large sequence annotation tracks that consist of a value...</option>
                        <option value="edam:format_2333">Binary format - Binary format.</option>
                        <option value="edam:format_3885">BinPos - Scripps Research Institute BinPos format is a binary formatted file to store...</option>
                        <option value="edam:format_3782">BioC - BioC is a standardised XML format for sharing and integrating text data and...</option>
                        <option value="edam:format_3706">Biodiversity data format - Data format for biodiversity data.</option>
                        <option value="edam:format_3772">BioJSON (BioXSD) - BioJSON is a BioXSD-schema-based JSON format of sequence-based data and some...</option>
                        <option value="edam:format_3774">BioJSON (Jalview) - BioJSON is a JSON format of single multiple sequence alignments, with their...</option>
                        <option value="edam:format_2013">Biological pathway or network format - Data format for a biological pathway or network.</option>
                        <option value="edam:format_3166">Biological pathway or network report format - Data format for a report of information derived from a biological pathway or...</option>
                        <option value="edam:format_3746">BIOM format - The BIological Observation Matrix (BIOM) is a format for representing...</option>
                        <option value="edam:format_3785">BioNLP Shared Task format - A family of similar formats of text annotation, used by BRAT and other...</option>
                        <option value="edam:format_3156">BioPAX - BioPAX is an exchange format for pathway data, with its data model defined...</option>
                        <option value="edam:format_2352">BioXSD (XML) - BioXSD-schema-based XML format of sequence-based data and some other common...</option>
                        <option value="edam:format_3773">BioYAML - BioYAML is a BioXSD-schema-based YAML format of sequence-based data and some...</option>
                        <option value="edam:format_1333">BLAST results - Format of results of a sequence database search using some variant of BLAST.</option>
                        <option value="edam:format_3331">BLAST XML results format - XML format as produced by the NCBI Blast package</option>
                        <option value="edam:format_3836">BLAST XML v2 results format - XML format as produced by the NCBI Blast package v2.</option>
                        <option value="edam:format_3313">BLC - A multiple alignment in vertical format, as used in the AMPS (Alignment of...</option>
                        <option value="edam:format_3592">BMP - Standard bitmap storage format in the Microsoft Windows environment.</option>
                        <option value="edam:format_3909">BpForms - BpForms is a string format for concretely representing the primary...</option>
                        <option value="edam:format_3487">BSML - Bioinformatics Sequence Markup Language format.</option>
                        <option value="edam:format_3776">BTrack - BTrack is an HDF5-based binary format for genome or sequence feature tracks...</option>
                        <option value="edam:format_1630">CAF - Common Assembly Format (CAF). A sequence assembly format including contigs,...</option>
                        <option value="edam:format_3100">CATH domain report format - Format of summary of domain classification information for a CATH domain.</option>
                        <option value="edam:format_2184">cdsxml - XML format for EMBL entries.</option>
                        <option value="edam:format_1638">cel - Format of Affymetrix data file of information about (raw) expression levels...</option>
                        <option value="edam:format_3240">CellML - CellML, the format for mathematical models of biological and other networks.</option>
                        <option value="edam:format_3844">Chado-XML - Chado-XML format is a direct mapping of the Chado relational schema into XML.</option>
                        <option value="edam:format_3887">CHARMM rtf - Format of CHARMM Residue Topology Files (RTF), which define groups by...</option>
                        <option value="edam:format_2030">Chemical data format - Format of a report on a chemical compound.</option>
                        <option value="edam:format_2035">Chemical formula format - Text format of a chemical formula.</option>
                        <option value="edam:format_1644">CHP - Format of Affymetrix data file of information about (normalised) expression...</option>
                        <option value="edam:format_3587">chrominfo - Tabular format of chromosome names and sizes used by Galaxy.</option>
                        <option value="edam:format_1737">CiteXplore-all - CiteXplore 'all' citation format includes all known details such as Mesh...</option>
                        <option value="edam:format_1736">CiteXplore-core - CiteXplore 'core' citation format including title, journal, authors and...</option>
                        <option value="edam:format_1424">ClustalW dendrogram - Dendrogram (tree file) format generated by ClustalW.</option>
                        <option value="edam:format_1982">ClustalW format - ClustalW format for (aligned) sequences.</option>
                        <option value="edam:format_1925">codata - Codata entry format.</option>
                        <option value="edam:format_3686">COMBINE OMEX - Open Modeling EXchange format (OMEX) is a ZIPped format for encapsulating...</option>
                        <option value="edam:format_2566">completely unambiguous - Alphabet for a molecular sequence without any unknown positions or ambiguity...</option>
                        <option value="edam:format_2567">completely unambiguous pure - Alphabet for a molecular sequence without unknown positions, ambiguity or...</option>
                        <option value="edam:format_2569">completely unambiguous pure dna - Alphabet for a DNA sequence (characters ACGT only) without unknown...</option>
                        <option value="edam:format_2568">completely unambiguous pure nucleotide - Alphabet for a nucleotide sequence (characters ACGTU only) without unknown...</option>
                        <option value="edam:format_2607">completely unambiguous pure protein - Alphabet for any protein sequence without unknown positions, ambiguity or...</option>
                        <option value="edam:format_2570">completely unambiguous pure rna sequence - Alphabet for an RNA sequence (characters ACGU only) without unknown...</option>
                        <option value="edam:format_1209">consensus - Alphabet for the consensus of two or more molecular sequences.</option>
                        <option value="edam:format_3832">consensusXML - OpenMS format for grouping features in one map or across several maps.</option>
                        <option value="edam:format_3239">CopasiML - CopasiML, the native format of COPASI.</option>
                        <option value="edam:format_3462">CRAM - Reference-based compression of alignment format</option>
                        <option value="edam:format_3589">csfasta - Color space FASTA format sequence variant.</option>
                        <option value="edam:format_3752">CSV - Tabular data represented as comma-separated values in a text file.</option>
                        <option value="edam:format_3309">CT - File format of a CT (Connectivity Table) file from the RNAstructure package.</option>
                        <option value="edam:format_3588">customtrack - Custom Sequence annotation track format used by Galaxy.</option>
                        <option value="edam:format_3857">CWL - Common Workflow Language (CWL) format for description of command-line tools...</option>
                        <option value="edam:format_3235">Cytoband format - Cytoband format for chromosome cytobands.</option>
                        <option value="edam:format_3477">Cytoscape input file format - Format of the cytoscape input file of gene expression ratios or values are...</option>
                        <option value="edam:format_1393">daf - EMBASSY 'domain alignment file' (DAF) format, containing a sequence...</option>
                        <option value="edam:format_1967">DAS format - DAS sequence (XML) format (any type).</option>
                        <option value="edam:format_1968">dasdna - DAS sequence (XML) format (nucleotide-only).</option>
                        <option value="edam:format_1978">DASGFF - DAS GFF (XML) feature format.</option>
                        <option value="edam:format_1637">dat - Format of Affymetrix data file of raw image data.</option>
                        <option value="edam:format_3326">Data index format - Format of a data index of some type.</option>
                        <option value="edam:format_2066">Database hits (sequence) format - Format of a report on sequence hits and associated data from searching a...</option>
                        <option value="edam:format_3729">dbGaP format - Input format used by the Database of Genotypes and Phenotypes (dbGaP).</option>
                        <option value="edam:format_1926">dbid - Fasta format variant with database name before ID.</option>
                        <option value="edam:format_1983">debug - EMBOSS alignment format for debugging trace of full internal data content.</option>
                        <option value="edam:format_1979">debug-feat - EMBOSS debugging trace feature format of full internal data content.</option>
                        <option value="edam:format_1969">debug-seq - EMBOSS debugging trace sequence format of full internal data content.</option>
                        <option value="edam:format_1336">dhf - Format of EMBASSY domain hits file (DHF) of hits (sequences) with domain...</option>
                        <option value="edam:format_1392">DIALIGN format - Format of multiple sequences aligned by DIALIGN package.</option>
                        <option value="edam:format_3548">DICOM format - Medical image format corresponding to the Digital Imaging and Communications...</option>
                        <option value="edam:format_2074">Dirichlet distribution format - Data format of a dirichlet distribution.</option>
                        <option value="edam:format_1212">dna - Alphabet for a DNA sequence with possible ambiguity, unknown positions and...</option>
                        <option value="edam:format_3507">Document format - Format of documents including word processor, spreadsheet and presentation.</option>
                        <option value="edam:format_3506">docx - Microsoft Word format.</option>
                        <option value="edam:format_1457">Dot-bracket format - Format of RNA secondary structure in dot-bracket notation, originally...</option>
                        <option value="edam:format_1454">dssp - Format of an entry from the DSSP database (Dictionary of Secondary Structure...</option>
                        <option value="edam:format_3751">DSV - Tabular data represented as values in a text file delimited by some...</option>
                        <option value="edam:format_3652">dta - Spectral data format file where each spectrum is written to a separate file.</option>
                        <option value="edam:format_3157">EBI Application Result XML - EBI Application Result XML is a format returned by sequence similarity...</option>
                        <option value="edam:format_3484">ebwt - Bowtie format for indexed reference genome for small genomes.</option>
                        <option value="edam:format_3491">ebwtl - Bowtie format for indexed reference genome for large genomes.</option>
                        <option value="edam:format_3818">ELAND format - Tab-delimited text file format used by Eland - the read-mapping program...</option>
                        <option value="edam:format_1248">EMBL feature location - Format for sequence positions (feature location) as used in...</option>
                        <option value="edam:format_1927">EMBL format - EMBL entry format.</option>
                        <option value="edam:format_2204">EMBL format (XML) - An XML format for EMBL entries.</option>
                        <option value="edam:format_2311">EMBL-HTML - EMBL entry format wrapped in HTML elements.</option>
                        <option value="edam:format_2181">EMBL-like (text) - A text format resembling EMBL entry format.</option>
                        <option value="edam:format_2558">EMBL-like (XML) - An XML format resembling EMBL entry format.</option>
                        <option value="edam:format_2543">EMBL-like format - A format resembling EMBL entry (plain text) format.</option>
                        <option value="edam:format_2183">EMBLXML - XML format for EMBL entries.</option>
                        <option value="edam:format_1297">EMBOSS repeat - Report format for tandem repeats in a sequence (an EMBOSS report format).</option>
                        <option value="edam:format_1357">EMBOSS sequence pattern - Format of an EMBOSS sequence pattern.</option>
                        <option value="edam:format_2001">EMBOSS simple format - EMBOSS simple multiple alignment format.</option>
                        <option value="edam:format_3614">ENCODE broad peak format - Human ENCODE broad peak format.</option>
                        <option value="edam:format_3613">ENCODE narrow peak format - Human ENCODE narrow peak format.</option>
                        <option value="edam:format_3612">ENCODE peak format - Human ENCODE peak format.</option>
                        <option value="edam:format_3499">Ensembl variation file format - Ensembl standard format for variation data.</option>
                        <option value="edam:format_2027">Enzyme kinetics report format - Data format for reports on enzyme kinetics.</option>
                        <option value="edam:format_3466">EPS - Encapsulated PostScript format</option>
                        <option value="edam:format_1316">est2genome format - Format of a report on exon-intron structure generated by EMBOSS est2genome.</option>
                        <option value="edam:format_1631">EXP - Sequence assembly project file EXP format.</option>
                        <option value="edam:format_3167">Experiment annotation format - Data format for annotation on a laboratory experiment.</option>
                        <option value="edam:format_1929">FASTA - FASTA format including NCBI-style IDs.</option>
                        <option value="edam:format_1332">FASTA search results format - Format of results of a sequence database search using FASTA.</option>
                        <option value="edam:format_1984">FASTA-aln - Fasta format for (aligned) sequences.</option>
                        <option value="edam:format_2310">FASTA-HTML - FASTA format wrapped in HTML elements.</option>
                        <option value="edam:format_2546">FASTA-like - A format resembling FASTA format.</option>
                        <option value="edam:format_2200">FASTA-like (text) - A text format resembling FASTA format.</option>
                        <option value="edam:format_3823">FASTG - FASTG is a format for faithfully representing genome assemblies in the face...</option>
                        <option value="edam:format_1930">FASTQ - FASTQ short read format ignoring quality scores.</option>
                        <option value="edam:format_1931">FASTQ-illumina - FASTQ Illumina 1.3 short read format.</option>
                        <option value="edam:format_2545">FASTQ-like format - A format resembling FASTQ short read format.</option>
                        <option value="edam:format_2182">FASTQ-like format (text) - A text format resembling FASTQ short read format.</option>
                        <option value="edam:format_1932">FASTQ-sanger - FASTQ short read format with phred quality.</option>
                        <option value="edam:format_1933">FASTQ-solexa - FASTQ Solexa/Illumina 1.0 short read format.</option>
                        <option value="edam:format_3833">featureXML - OpenMS format for quantitation results (LC/MS features).</option>
                        <option value="edam:format_3884">FF parameter format - Format of force field parameter files, which store the set of parameters...</option>
                        <option value="edam:format_1582">findkm - A report format for the kinetics of enzyme-catalysed reaction(s) in a format...</option>
                        <option value="edam:format_1934">fitch program - Fitch program format.</option>
                        <option value="edam:format_1915">Format - A defined way or layout of representing and structuring data in a computer...</option>
                        <option value="edam:format_2350">Format (by type of data) - A placeholder concept for visual navigation by dividing data formats by the...</option>
                        <option value="edam:format_3163">GCDML - GCDML XML format for genome and metagenome metadata according to...</option>
                        <option value="edam:format_1935">GCG - GCG sequence file format.</option>
                        <option value="edam:format_3486">GCG format variant - Some format based on the GCG format.</option>
                        <option value="edam:format_1947">GCG MSF - GCG MSF (multiple sequence file) file format.</option>
                        <option value="edam:format_3709">GCT/Res format - Tab-delimited text files of GenePattern that contain a column for each...</option>
                        <option value="edam:format_3312">GDE - Format for the Genetic Data Environment (GDE).</option>
                        <option value="edam:format_3249">GelML - GelML is the format for describing the process of gel electrophoresis,...</option>
                        <option value="edam:format_3622">Gemini SQLite format - Data format used by the SQLite database conformant to the Gemini schema.</option>
                        <option value="edam:format_3812">GEN - The GEN file format contains genetic data and describes SNPs.</option>
                        <option value="edam:format_1936">GenBank format - Genbank entry format.</option>
                        <option value="edam:format_2532">GenBank-HTML - Genbank entry format wrapped in HTML elements.</option>
                        <option value="edam:format_2559">GenBank-like format - A format resembling GenBank entry (plain text) format.</option>
                        <option value="edam:format_2205">GenBank-like format (text) - A text format resembling GenBank entry (plain text) format.</option>
                        <option value="edam:format_2031">Gene annotation format - Format of a report on a particular locus, gene, gene system or groups of...</option>
                        <option value="edam:format_2058">Gene expression report format - Format of a file of gene expression data, e.g. a gene expression matrix or...</option>
                        <option value="edam:format_3011">genePred - genePred table format for gene prediction tracks.</option>
                        <option value="edam:format_2186">geneseq - Geneseq sequence format.</option>
                        <option value="edam:format_1937">genpept - Genpept protein entry format.</option>
                        <option value="edam:format_2305">GFF - GFF feature format (of indeterminate version).</option>
                        <option value="edam:format_1974">GFF2 - General Feature Format (GFF) of sequence features.</option>
                        <option value="edam:format_1938">GFF2-seq - GFF feature file format with sequence in the header.</option>
                        <option value="edam:format_1975">GFF3 - Generic Feature Format version 3 (GFF3) of sequence features.</option>
                        <option value="edam:format_1939">GFF3-seq - GFF3 feature file format with sequence.</option>
                        <option value="edam:format_3467">GIF - Graphics Interchange Format.</option>
                        <option value="edam:format_1940">giFASTA format - FASTA sequence format including NCBI-style GIs.</option>
                        <option value="edam:format_3822">GML - GML (Graph Modeling Language) is a text file format supporting network data...</option>
                        <option value="edam:format_3657">GPML - Graphical Pathway Markup Language (GPML) is an XML format used for...</option>
                        <option value="edam:format_3829">GPR - GenePix Results (GPR) text file format developed by Axon Instruments that is...</option>
                        <option value="edam:format_3617">Graph format - Data format for graph data.</option>
                        <option value="edam:format_3883">GROMACS itp - GROMACS itp files (include topology) contain structure topology information,...</option>
                        <option value="edam:format_3880">GROMACS top - GROMACS MD package top textual files define an entire structure system...</option>
                        <option value="edam:format_3775">GSuite - GSuite is a tabular format for collections of genome or sequence feature...</option>
                        <option value="edam:format_2306">GTF - Gene Transfer Format (GTF), a restricted version of GFF.</option>
                        <option value="edam:format_3164">GTrack - GTrack is a generic and optimised tabular format for genome or sequence...</option>
                        <option value="edam:format_3019">GVF - Genome Variation Format (GVF). A GFF3-compatible format with defined header...</option>
                        <option value="edam:format_3873">HDF - HDF is the name of a set of file formats and libraries designed to store and...</option>
                        <option value="edam:format_3590">HDF5 - HDF5 is a data model, library, and file format for storing and managing...</option>
                        <option value="edam:format_1941">hennig86 - Hennig86 output sequence format.</option>
                        <option value="edam:format_1705">HET group dictionary entry format - The format of an entry from the HET group dictionary (HET groups from PDB...</option>
                        <option value="edam:format_2072">Hidden Markov model format - Format of a hidden Markov model.</option>
                        <option value="edam:format_2075">HMM emission and transition counts format - Data format for the emission and transition counts of a hidden Markov model.</option>
                        <option value="edam:format_1349">HMMER Dirichlet prior - Dirichlet distribution HMMER format.</option>
                        <option value="edam:format_1351">HMMER emission and transition - Format of a report from the HMMER package on the emission and transition...</option>
                        <option value="edam:format_1370">HMMER format - Format of a hidden Markov model representation used by the HMMER package.</option>
                        <option value="edam:format_1422">HMMER profile alignment (HMM versus sequences) - Format used by the HMMER package for of an alignment of a hidden Markov...</option>
                        <option value="edam:format_1421">HMMER profile alignment (sequences versus HMMs) - Format used by the HMMER package for an alignment of a sequence against a...</option>
                        <option value="edam:format_1391">HMMER-aln - FASTA-style format for multiple sequences aligned by HMMER package to an HMM.</option>
                        <option value="edam:format_3328">HMMER2 - HMMER profile HMM file for HMMER versions 2.x</option>
                        <option value="edam:format_3329">HMMER3 - HMMER profile HMM file for HMMER versions 3.x</option>
                        <option value="edam:format_3845">HSAML - An alignment format generated by PRANK/PRANKSTER consisting of four...</option>
                        <option value="edam:format_1455">hssp - Entry format of the HSSP database (Homology-derived Secondary Structure in...</option>
                        <option value="edam:format_2331">HTML - HTML format.</option>
                        <option value="edam:format_3839">ibd - ibd is a data format for mass spectrometry imaging data.</option>
                        <option value="edam:format_3578">IDAT - Proprietary file format for (raw) BeadArray data used by genomewide...</option>
                        <option value="edam:format_3764">idXML - XML file format for files containing information about peptide...</option>
                        <option value="edam:format_1942">ig - Intelligenetics sequence format.</option>
                        <option value="edam:format_1943">igstrict - Intelligenetics sequence format (strict version).</option>
                        <option value="edam:format_1740">iHOP format - The format of iHOP (Information Hyperlinked over Proteins) text-mining...</option>
                        <option value="edam:format_3593">im - IM is a format used by LabEye and other applications based on the IFUNC...</option>
                        <option value="edam:format_3547">Image format - Format used for images and image metadata.</option>
                        <option value="edam:format_3682">imzML metadata file - imzML metadata is a data format for mass spectrometry imaging metadata.</option>
                        <option value="edam:format_1197">InChI - Chemical structure specified in IUPAC International Chemical Identifier...</option>
                        <option value="edam:format_1199">InChIKey - The InChIKey (hashed InChI) is a fixed length (25 character) condensed...</option>
                        <option value="edam:format_3287">Individual genetic data format - Data format for a metadata on an individual and their genetic data.</option>
                        <option value="edam:format_2185">insdxml - XML format for EMBL entries.</option>
                        <option value="edam:format_1341">InterPro hits format - Results format for searches of the InterPro database.</option>
                        <option value="edam:format_1343">InterPro match table format - Format of results of a search of the InterPro database showing matches...</option>
                        <option value="edam:format_1342">InterPro protein view report format - Format of results of a search of the InterPro database showing matches of...</option>
                        <option value="edam:format_3846">InterProScan XML - Output xml file from the InterProScan sequence analysis application.</option>
                        <option value="edam:format_3687">ISA-TAB - The Investigation / Study / Assay (ISA) tab-delimited (TAB) format...</option>
                        <option value="edam:format_1944">jackknifer - Jackknifer interleaved and non-interleaved sequence format.</option>
                        <option value="edam:format_1970">jackknifernon - Jackknifer output sequence non-interleaved format.</option>
                        <option value="edam:format_1367">JASPAR format - A profile (sequence classifier) in the format used in the JASPAR database.</option>
                        <option value="edam:format_3859">JCAMP-DX - A standardized file format for data exchange in mass spectrometry, initially...</option>
                        <option value="edam:format_3579">JPG - Joint Picture Group file format for lossy graphics file.</option>
                        <option value="edam:format_3464">JSON - JavaScript Object Notation format; a lightweight, text-based format to...</option>
                        <option value="edam:format_3749">JSON-LD - JSON-LD, or JavaScript Object Notation for Linked Data, is a method of...</option>
                        <option value="edam:format_3665">K-mer countgraph - A list of k-mers and their occurences in a dataset. Can also be used as an...</option>
                        <option value="edam:format_3847">KGML - The KEGG Markup Language (KGML) is an exchange format of the KEGG pathway...</option>
                        <option value="edam:format_3765">KNIME datatable format - Data table formatted such that it can be passed/streamed within the KNIME...</option>
                        <option value="edam:format_3254">KRSS2 Syntax - A superset of the Description-Logic Knowledge Representation System...</option>
                        <option value="edam:format_3817">latex - format for the LaTeX document preparation system</option>
                        <option value="edam:format_3014">LAV - LAV format of alignments generated by BLASTZ and LASTZ.</option>
                        <option value="edam:format_1337">lhf - Format of EMBASSY ligand hits file (LHF) of database hits (sequences) with...</option>
                        <option value="edam:format_3748">Linked data format - A linked data format enables publishing structured data as linked data...</option>
                        <option value="edam:format_3728">LocARNA PP - The LocARNA PP format combines sequence or alignment information and...</option>
                        <option value="edam:format_3913">Loom - The Loom file format is based on HDF5, a standard for storing large...</option>
                        <option value="edam:format_3008">MAF - Multiple Alignment Format (MAF) supporting alignments of whole genomes with...</option>
                        <option value="edam:format_3161">MAGE-ML - MAGE-ML XML format for microarray expression data, standardised by MGED (now...</option>
                        <option value="edam:format_3162">MAGE-TAB - MAGE-TAB textual format for microarray expression data, standardised by MGED...</option>
                        <option value="edam:format_3253">Manchester OWL Syntax - A syntax for writing OWL class expressions.</option>
                        <option value="edam:format_3285">MAP - The MAP file describes SNPs and is used by the Plink package.</option>
                        <option value="edam:format_2060">Map format - Format of a map of (typically one) molecular sequence annotated with...</option>
                        <option value="edam:format_1985">markx0 - Pearson MARKX0 alignment format.</option>
                        <option value="edam:format_2922">markx0 variant - Some variant of Pearson MARKX alignment format.</option>
                        <option value="edam:format_1986">markx1 - Pearson MARKX1 alignment format.</option>
                        <option value="edam:format_1987">markx10 - Pearson MARKX10 alignment format.</option>
                        <option value="edam:format_1988">markx2 - Pearson MARKX2 alignment format.</option>
                        <option value="edam:format_1989">markx3 - Pearson MARKX3 alignment format.</option>
                        <option value="edam:format_3713">Mascot .dat file - Raw result file from Mascot database search.</option>
                        <option value="edam:format_1945">mase format - Mase program sequence format.</option>
                        <option value="edam:format_3245">Mass spectrometry data format - Format for mass pectra and derived data, include peptide sequences etc.</option>
                        <option value="edam:format_3626">MAT - Binary format used by MATLAB files to store workspace variables.</option>
                        <option value="edam:format_1990">match - Alignment format for start and end of matches between sequence pairs.</option>
                        <option value="edam:format_3033">Matrix format - Format of a matrix (array) of numerical values.</option>
                        <option value="edam:format_3714">MaxQuant APL peaklist format - Format of peak list files from Andromeda search engine (MaxQuant) that...</option>
                        <option value="edam:format_3777">MCPD - The FAO/Bioversity/IPGRI Multi-Crop Passport Descriptors (MCPD) is an...</option>
                        <option value="edam:format_3878">mdcrd - AMBER trajectory (also called mdcrd), with 10 coordinates per line and...</option>
                        <option value="edam:format_2194">medline - Abstract format used by MedLine database.</option>
                        <option value="edam:format_1735">Medline Display Format - Format for abstracts of scientific articles from the Medline database.</option>
                        <option value="edam:format_1991">mega - Mega format for (typically aligned) sequences.</option>
                        <option value="edam:format_2923">mega variant - Some variant of Mega format for (typically aligned) sequences.</option>
                        <option value="edam:format_1946">mega-seq - Mega interleaved and non-interleaved sequence format.</option>
                        <option value="edam:format_1992">meganon - Mega non-interleaved format for (typically aligned) sequences.</option>
                        <option value="edam:format_1369">MEME background Markov model - Format of the model of random sequences used by MEME.</option>
                        <option value="edam:format_1350">MEME Dirichlet prior - Dirichlet distribution MEME format.</option>
                        <option value="edam:format_1360">meme-motif - A motif in the format generated by the MEME program.</option>
                        <option value="edam:format_1198">mf - Chemical structure specified by Molecular Formula (MF), including a count of...</option>
                        <option value="edam:format_3651">MGF - Mascot Generic Format.  Encodes multiple MS/MS spectra in a single file.</option>
                        <option value="edam:format_3550">mhd - Text-based tagged file format for medical images generated using the...</option>
                        <option value="edam:format_3556">MHTML - MIME  HTML format for Web pages, which can include external resources,...</option>
                        <option value="edam:format_2056">Microarray experiment data format - Format for information about a microarray experimental per se (not the data...</option>
                        <option value="edam:format_1629">mira - Format of MIRA sequence trace information file.</option>
                        <option value="edam:format_3864">mirGFF3 - mirGFF3 is a common format for microRNA data resulting from small-RNA...</option>
                        <option value="edam:format_1477">mmCIF - Entry format of PDB database in mmCIF format.</option>
                        <option value="edam:format_3816">Mol2 - Complete, portable representation of a SYBYL molecule. ASCII file which...</option>
                        <option value="edam:format_3815">Molfile - An MDL Molfile is a file format for holding information about the atoms,...</option>
                        <option value="edam:format_3849">MSAML - A set of XML compliant markup components for describing multiple sequence...</option>
                        <option value="edam:format_3702">MSF - Proprietary mass-spectrometry format of Thermo Scientific's...</option>
                        <option value="edam:format_3911">msh - Mash sketch is a format for sequence / sequence checksum information. To...</option>
                        <option value="edam:format_1334">mspcrunch - Format of results of a sequence database search using some variant of...</option>
                        <option value="edam:format_3916">MTX - The Matrix Market matrix (MTX) format stores numerical or pattern matrices...</option>
                        <option value="edam:format_3834">mzData - Now deprecated data format of the HUPO Proteomics Standards Initiative. ...</option>
                        <option value="edam:format_3247">mzIdentML - mzIdentML is the exchange format for peptides and proteins identified from...</option>
                        <option value="edam:format_3244">mzML - mzML format for raw spectrometer output data, standardised by HUPO PSI MSS.</option>
                        <option value="edam:format_3248">mzQuantML - mzQuantML is the format for quantitation values associated with peptides,...</option>
                        <option value="edam:format_3681">mzTab - mzTab is a tab-delimited format for mass spectrometry-based proteomics and...</option>
                        <option value="edam:format_3654">mzXML - Common file format for proteomics mass spectrometric data developed at the...</option>
                        <option value="edam:format_3256">N-Triples - A plain text serialisation format for RDF (Resource Description Framework)...</option>
                        <option value="edam:format_1948">nbrf/pir - NBRF/PIR entry sequence format.</option>
                        <option value="edam:format_1972">NCBI format - NCBI FASTA sequence format with NCBI-style IDs.</option>
                        <option value="edam:format_3650">netCDF - Format used by netCDF software  library for writing and reading...</option>
                        <option value="edam:format_1910">newick - Phylogenetic tree Newick (text) format.</option>
                        <option value="edam:format_3160">NeXML - NeXML is a standardised XML format for rich phyloinformatic data.</option>
                        <option value="edam:format_1912">Nexus format - Phylogenetic tree Nexus (text) format.</option>
                        <option value="edam:format_1949">nexus-seq - Nexus/paup interleaved sequence format.</option>
                        <option value="edam:format_1973">nexusnon - Nexus/paup non-interleaved sequence format.</option>
                        <option value="edam:format_3549">nii - Medical image and metadata format of the Neuroimaging Informatics Technology...</option>
                        <option value="edam:format_3862">NLP annotation format - An NLP format used for annotated textual documents.</option>
                        <option value="edam:format_3863">NLP corpus format - NLP format used by a specific type of corpus (collection of texts).</option>
                        <option value="edam:format_3841">NLP format - Data format used in Natural Language Processing.</option>
                        <option value="edam:format_3824">NMR data format - Data format for raw data from a nuclear magnetic resonance (NMR)...</option>
                        <option value="edam:format_3906">NMReDATA - MReData is a text based data standard for processed NMR data. It is relying...</option>
                        <option value="edam:format_3825">nmrML - nmrML is an MSI supported XML-based open access format for metabolomics NMR...</option>
                        <option value="edam:format_3257">Notation3 - A shorthand non-XML serialisation of Resource Description Framework model,...</option>
                        <option value="edam:format_3551">nrrd - Nearly Raw Rasta Data format designed to support scientific visualisation...</option>
                        <option value="edam:format_2061">Nucleic acid features (primers) format - Format of a report on PCR primers or hybridisation oligos in a nucleic acid...</option>
                        <option value="edam:format_2158">Nucleic acid features (restriction sites) format - Format used for report on restriction enzyme recognition sites in nucleotide...</option>
                        <option value="edam:format_1207">nucleotide - Alphabet for a nucleotide sequence with possible ambiguity, unknown...</option>
                        <option value="edam:format_2549">OBO - OBO ontology text format.</option>
                        <option value="edam:format_2196">OBO format - A serialisation format conforming to the Open Biomedical Ontologies (OBO)...</option>
                        <option value="edam:format_2550">OBO-XML - OBO ontology XML format.</option>
                        <option value="edam:format_3727">OME-TIFF - Image file format used by the Open Microscopy Environment (OME).</option>
                        <option value="edam:format_2195">Ontology format - Format used for ontologies.</option>
                        <option value="edam:format_3784">Open Annotation format - A format of text annotation using the linked-data Open Annotation Data...</option>
                        <option value="edam:format_3850">OrthoXML - OrthoXML is designed broadly to allow the storage and comparison of...</option>
                        <option value="edam:format_1741">OSCAR format - OSCAR format of annotated chemical text.</option>
                        <option value="edam:format_2197">OWL format - A serialisation format conforming to the Web Ontology Language (OWL) model.</option>
                        <option value="edam:format_3252">OWL Functional Syntax - A human-readable encoding for the Web Ontology Language (OWL).</option>
                        <option value="edam:format_3262">OWL/XML - OWL ontology XML serialisation format.</option>
                        <option value="edam:format_1996">pair - EMBOSS simple sequence pair alignment format.</option>
                        <option value="edam:format_3601">pbm - The PBM format is a lowest common denominator monochrome file format. It...</option>
                        <option value="edam:format_3874">PCAzip - PCAZip format is a binary compressed file to store atom coordinates based on...</option>
                        <option value="edam:format_3594">pcd - Photo CD format, which is the highest resolution format for images on a CD.</option>
                        <option value="edam:format_1551">Pcons report format - Format of output of the Pcons Model Quality Assessment Program (MQAP).</option>
                        <option value="edam:format_3595">pcx - PCX is an image file format that uses a simple form of run-length encoding....</option>
                        <option value="edam:format_1476">PDB - Entry format of PDB database in PDB format.</option>
                        <option value="edam:format_1475">PDB database entry format - Format of an entry (or part of an entry) from the PDB database.</option>
                        <option value="edam:format_1950">pdbatom - PDB sequence format (ATOM lines).</option>
                        <option value="edam:format_1951">pdbatomnuc - PDB nucleotide sequence format (ATOM lines).</option>
                        <option value="edam:format_1478">PDBML - Entry format of PDB database in PDBML (XML) format.</option>
                        <option value="edam:format_1953">pdbseqres - PDB sequence format (SEQRES lines).</option>
                        <option value="edam:format_1952">pdbseqresnuc - PDB nucleotide sequence format (SEQRES lines).</option>
                        <option value="edam:format_3508">PDF - Portable Document Format</option>
                        <option value="edam:format_1954">Pearson format - Plain old FASTA sequence format (unspecified format for IDs).</option>
                        <option value="edam:format_3286">PED - The PED file describes individuals and genetic data and is used by the Plink...</option>
                        <option value="edam:format_3288">PED/MAP - The PED/MAP file describes data used by the Plink package.</option>
                        <option value="edam:format_3655">pepXML - Open data format for the storage, exchange, and processing of peptide...</option>
                        <option value="edam:format_3602">pgm - The PGM format is a lowest common denominator grayscale file format.</option>
                        <option value="edam:format_3012">pgSnp - Personal Genome SNP (pgSnp) format for sequence variation tracks (indels and...</option>
                        <option value="edam:format_1633">PHD - PHD sequence trace format to store serialised chromatogram data (reads).</option>
                        <option value="edam:format_1432">Phylip character frequencies format - PHYLIP file format for phylogenetics character frequency data.</option>
                        <option value="edam:format_1434">Phylip cliques format - Format of PHYLIP cliques data.</option>
                        <option value="edam:format_1430">Phylip continuous quantitative characters - PHYLIP file format for continuous quantitative character data.</option>
                        <option value="edam:format_1433">Phylip discrete states format - Format of PHYLIP discrete states data.</option>
                        <option value="edam:format_1423">Phylip distance matrix - Format of PHYLIP phylogenetic distance matrix data.</option>
                        <option value="edam:format_1997">PHYLIP format - Phylip format for (aligned) sequences.</option>
                        <option value="edam:format_2924">Phylip format variant - Some variant of Phylip format for (aligned) sequences.</option>
                        <option value="edam:format_1998">PHYLIP sequential - Phylip non-interleaved format for (aligned) sequences.</option>
                        <option value="edam:format_1445">Phylip tree distance format - Format for distances, such as Branch Score distance, between two or more...</option>
                        <option value="edam:format_1435">Phylip tree format - Phylogenetic tree data format used by the PHYLIP program.</option>
                        <option value="edam:format_1425">Phylip tree raw - Raw data file format used by Phylip from which a phylogenetic tree is...</option>
                        <option value="edam:format_2036">Phylogenetic character data format - Format of raw (unplotted) phylogenetic data.</option>
                        <option value="edam:format_2037">Phylogenetic continuous quantitative character format - Format of phylogenetic continuous quantitative character data.</option>
                        <option value="edam:format_2038">Phylogenetic discrete states format - Format of phylogenetic discrete states data.</option>
                        <option value="edam:format_2006">Phylogenetic tree format - Data format for a phylogenetic tree.</option>
                        <option value="edam:format_2556">Phylogenetic tree format (text) - Text format for a phylogenetic tree.</option>
                        <option value="edam:format_2557">Phylogenetic tree format (XML) - XML format for a phylogenetic tree.</option>
                        <option value="edam:format_2039">Phylogenetic tree report (cliques) format - Format of phylogenetic cliques data.</option>
                        <option value="edam:format_2040">Phylogenetic tree report (invariants) format - Format of phylogenetic invariants data.</option>
                        <option value="edam:format_2049">Phylogenetic tree report (tree distances) format - Format for phylogenetic tree distance data.</option>
                        <option value="edam:format_3159">phyloXML - phyloXML is a standardised XML format for phylogenetic trees, networks, and...</option>
                        <option value="edam:format_3015">Pileup - Pileup format of alignment of sequences (e.g. sequencing reads) to (a)...</option>
                        <option value="edam:format_3653">pkl - Spectral data file similar to dta.</option>
                        <option value="edam:format_1964">plain text format (unformatted) - Plain text sequence format (essentially unformatted).</option>
                        <option value="edam:format_1861">PlasMapper TextMap - Map of a plasmid (circular DNA) in PlasMapper TextMap format.</option>
                        <option value="edam:format_1739">pmc - Article format of the PubMed Central database.</option>
                        <option value="edam:format_3726">PMML - PMML uses XML to represent mining models. The structure of the models is...</option>
                        <option value="edam:format_3603">PNG - PNG is a file format for image compression.</option>
                        <option value="edam:format_3330">PO - EMBOSS simple sequence pair alignment format.</option>
                        <option value="edam:format_3596">ppm - The PPM format is a lowest common denominator color image file format.</option>
                        <option value="edam:format_3838">pptx - Microsoft Powerpoint format.</option>
                        <option value="edam:format_3684">PRIDE XML - PRIDE XML is an XML format for mass spectra, peptide and protein...</option>
                        <option value="edam:format_1627">Primer3 primer - Report format on PCR primers and hybridisation oligos as generated by...</option>
                        <option value="edam:format_3826">proBAM - . proBAM is an adaptation of BAM (format_2572), which was extended to meet...</option>
                        <option value="edam:format_3827">proBED - . proBED is an adaptation of BED (format_3003), which was extended to meet...</option>
                        <option value="edam:format_1552">ProQ report format - Format of output of the ProQ protein model quality predictor.</option>
                        <option value="edam:format_1356">prosite-pattern - Format of a regular expression pattern from the Prosite database.</option>
                        <option value="edam:format_1366">prosite-profile - Sequence profile (sequence classifier) format used in the PROSITE database.</option>
                        <option value="edam:format_1208">protein - Alphabet for a protein sequence with possible ambiguity, unknown positions...</option>
                        <option value="edam:format_3097">Protein domain classification format - Format of data concerning the classification of the sequences and/or...</option>
                        <option value="edam:format_2052">Protein family report format - Format for reports on a protein family.</option>
                        <option value="edam:format_2054">Protein interaction format - Format for molecular interaction data.</option>
                        <option value="edam:format_2062">Protein report format - Format of a report of general information about a specific protein.</option>
                        <option value="edam:format_2077">Protein secondary structure format - Format for secondary structure (predicted or real) of a protein molecule.</option>
                        <option value="edam:format_2065">Protein structure report (quality evaluation) format - Format of a report on the quality of a protein three-dimensional model.</option>
                        <option value="edam:format_3747">protXML - A format for storage, exchange, and processing of protein identifications...</option>
                        <option value="edam:format_3696">PS - PostScript format</option>
                        <option value="edam:format_3597">psd - PSD (Photoshop Document) is a proprietary file that allows the user to work...</option>
                        <option value="edam:format_3851">PSDML - Tree structure of Protein Sequence Database Markup Language generated using...</option>
                        <option value="edam:format_3882">PSF - X-Plor Protein Structure Files (PSF) are structure topology files used by...</option>
                        <option value="edam:format_3242">PSI MI TAB (MITAB) - Tabular Molecular Interaction format (MITAB), standardised by HUPO PSI MI.</option>
                        <option value="edam:format_3158">PSI MI XML (MIF) - XML Molecular Interaction Format (MIF), standardised by HUPO PSI MI.</option>
                        <option value="edam:format_3243">PSI-PAR - Protein affinity format (PSI-PAR), standardised by HUPO PSI MI. It is...</option>
                        <option value="edam:format_3007">PSL - PSL format of alignments, typically generated by BLAT or psLayout. Can be...</option>
                        <option value="edam:format_3781">PubAnnotation format - JSON format of annotated scientific text used by PubAnnotations and other...</option>
                        <option value="edam:format_1734">PubMed citation - Format of bibliographic reference as used by the PubMed database.</option>
                        <option value="edam:format_3848">PubMed XML - XML format for collected entries from biobliographic databases MEDLINE and...</option>
                        <option value="edam:format_3783">PubTator format - Native textual export format of annotated scientific text from PubTator.</option>
                        <option value="edam:format_2094">pure - Alphabet for molecular sequence with possible unknown positions but without...</option>
                        <option value="edam:format_1215">pure dna - Alphabet for a DNA sequence with possible ambiguity and unknown positions...</option>
                        <option value="edam:format_1210">pure nucleotide - Alphabet for a nucleotide sequence with possible ambiguity and unknown...</option>
                        <option value="edam:format_1219">pure protein - Alphabet for any protein sequence with possible ambiguity and unknown...</option>
                        <option value="edam:format_1217">pure rna - Alphabet for an RNA sequence with possible ambiguity and unknown positions...</option>
                        <option value="edam:format_3683">qcML - qcML is an XML format for quality-related data of mass spectrometry and...</option>
                        <option value="edam:format_3607">qual - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3611">qual454 - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3609">qualillumina - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3608">qualsolexa - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3610">qualsolid - FASTQ format subset for Phred sequencing quality score data only (no...</option>
                        <option value="edam:format_3787">Query language - A query language (format) for structured database queries.</option>
                        <option value="edam:format_1295">quicktandem - Report format for tandem repeats in a nucleotide sequence (format generated...</option>
                        <option value="edam:format_3554">R file format - File format used for scripts written in the R programming language for...</option>
                        <option value="edam:format_3605">rast - Sun Raster is a raster graphics file format used on SunOS by Sun Microsystems</option>
                        <option value="edam:format_1957">raw - Raw sequence format with no non-sequence characters.</option>
                        <option value="edam:format_3099">Raw CATH domain classification format - Format of raw CATH domain classification data files.</option>
                        <option value="edam:format_3828">Raw microarray data format - Data format for raw microarray data.</option>
                        <option value="edam:format_3098">Raw SCOP domain classification format - Format of raw SCOP domain classification data files.</option>
                        <option value="edam:format_2571">Raw sequence format - Format of a raw molecular sequence (i.e. the alphabet used).</option>
                        <option value="edam:format_3580">rcc - Reporter Code Count-A data file (.csv) output by the Nanostring nCounter...</option>
                        <option value="edam:format_2376">RDF format - A serialisation format conforming to the Resource Description Framework...</option>
                        <option value="edam:format_3261">RDF/XML - Resource Description Framework (RDF) XML format.</option>
                        <option value="edam:format_1320">REBASE restriction sites - Report format for restriction enzyme recognition sites used by REBASE...</option>
                        <option value="edam:format_1958">refseqp - Refseq protein entry sequence format.</option>
                        <option value="edam:format_3819">Relaxed PHYLIP Interleaved - Phylip multiple alignment sequence format, less stringent than PHYLIP format.</option>
                        <option value="edam:format_3820">Relaxed PHYLIP Sequential - Phylip multiple alignment sequence format, less stringent than PHYLIP...</option>
                        <option value="edam:format_1319">restover format - Report format for restriction enzyme recognition sites used by EMBOSS...</option>
                        <option value="edam:format_1318">restrict format - Report format for restriction enzyme recognition sites used by EMBOSS...</option>
                        <option value="edam:format_3600">rgb - RGB file format is the native raster graphics file format for Silicon...</option>
                        <option value="edam:format_1213">rna - Alphabet for an RNA sequence with possible ambiguity, unknown positions and...</option>
                        <option value="edam:format_3865">RNA annotation format - A placeholder concept for formats of annotated RNA data, including e.g....</option>
                        <option value="edam:format_2076">RNA secondary structure format - Format for secondary structure (predicted or real) of an RNA molecule.</option>
                        <option value="edam:format_3311">RNAML - RNA Markup Language.</option>
                        <option value="edam:format_3485">RSF - Rich sequence format.</option>
                        <option value="edam:format_3886">RST - AMBER coordinate/restart file with 6 coordinates per line and decimal format...</option>
                        <option value="edam:format_2573">SAM - Sequence Alignment/Map (SAM) format for alignment of nucleotide sequences...</option>
                        <option value="edam:format_3813">SAMPLE file format - The SAMPLE file format contains information about each individual i.e....</option>
                        <option value="edam:format_1296">Sanger inverted repeats - Report format for inverted repeats in a nucleotide sequence (format...</option>
                        <option value="edam:format_3692">SBGN-ML - SBGN-ML is an XML format for Systems Biology Graphical Notation (SBGN)...</option>
                        <option value="edam:format_2585">SBML - Systems Biology Markup Language (SBML), the standard XML format for models...</option>
                        <option value="edam:format_3725">SBOL - Synthetic Biology Open Language (SBOL) is an XML format for the...</option>
                        <option value="edam:format_3155">SBRML - Systems Biology Result Markup Language (SBRML), the standard XML format for...</option>
                        <option value="edam:format_3688">SBtab - SBtab is a tabular format for biochemical network models.</option>
                        <option value="edam:format_1632">SCF - Staden Chromatogram Files format (SCF) of base-called sequence reads,...</option>
                        <option value="edam:format_1999">scores format - Alignment format for score values for pairs of sequences.</option>
                        <option value="edam:format_3814">SDF - SDF is one of a family of chemical-data file formats developed by MDL...</option>
                        <option value="edam:format_3685">SED-ML - Simulation Experiment Description Markup Language (SED-ML) is an XML format...</option>
                        <option value="edam:format_2000">selex - SELEX format for (aligned) sequences.</option>
                        <option value="edam:format_2919">Sequence annotation track format - Format of a sequence annotation track.</option>
                        <option value="edam:format_2055">Sequence assembly format - Format for sequence assembly data.</option>
                        <option value="edam:format_2561">Sequence assembly format (text) - Text format for sequence assembly data.</option>
                        <option value="edam:format_2170">Sequence cluster format - Format used for clusters of molecular sequences.</option>
                        <option value="edam:format_2172">Sequence cluster format (nucleic acid) - Format used for clusters of nucleotide sequences.</option>
                        <option value="edam:format_2171">Sequence cluster format (protein) - Format used for clusters of protein sequences.</option>
                        <option value="edam:format_2067">Sequence distance matrix format - Format of a matrix of genetic distances between molecular sequences.</option>
                        <option value="edam:format_1920">Sequence feature annotation format - Data format for molecular sequence feature information.</option>
                        <option value="edam:format_2548">Sequence feature table format - Format for a sequence feature table.</option>
                        <option value="edam:format_2206">Sequence feature table format (text) - Text format for a sequence feature table.</option>
                        <option value="edam:format_2553">Sequence feature table format (XML) - XML format for a sequence feature table.</option>
                        <option value="edam:format_2155">Sequence features (repeats) format - Format used for map of repeats in molecular (typically nucleotide) sequences.</option>
                        <option value="edam:format_2068">Sequence motif format - Format of a sequence motif.</option>
                        <option value="edam:format_2069">Sequence profile format - Format of a sequence profile.</option>
                        <option value="edam:format_3606">Sequence quality report format (text) - Textual report format for sequence quality for reports from sequencing...</option>
                        <option value="edam:format_2078">Sequence range format - Format used to specify range(s) of sequence positions.</option>
                        <option value="edam:format_1919">Sequence record format - Data format for a molecular sequence record.</option>
                        <option value="edam:format_2551">Sequence record format (text) - Data format for a molecular sequence record.</option>
                        <option value="edam:format_2552">Sequence record format (XML) - Data format for a molecular sequence record.</option>
                        <option value="edam:format_2057">Sequence trace format - Format for sequence trace data (i.e. including base call information).</option>
                        <option value="edam:format_2921">Sequence variation annotation format - Format of sequence variation annotation.</option>
                        <option value="edam:format_1419">Sequence-MEME profile alignment - Format for alignment of molecular sequences to MEME profiles...</option>
                        <option value="edam:format_2014">Sequence-profile alignment format - Data format for a sequence-profile alignment.</option>
                        <option value="edam:format_3758">SEQUEST .out file - Raw result file from SEQUEST database search.</option>
                        <option value="edam:format_3701">Sequin format - A five-column, tab-delimited table of feature locations and qualifiers for...</option>
                        <option value="edam:format_3852">SeqXML - SeqXML is an XML Schema to describe biological sequences, developed by the...</option>
                        <option value="edam:format_3284">SFF - Standard flowgram format (SFF) is a binary file format used to encode...</option>
                        <option value="edam:format_3619">sif - SIF (simple interaction file) Format - a network/pathway format used for...</option>
                        <option value="edam:format_1200">smarts - SMILES ARbitrary Target Specification (SMARTS) format for chemical structure...</option>
                        <option value="edam:format_1196">SMILES - Chemical structure specified in Simplified Molecular Input Line Entry System...</option>
                        <option value="edam:format_1335">Smith-Waterman format - Format of results of a sequence database search using some variant of Smith...</option>
                        <option value="edam:format_3624">snpeffdb - An index of a genome database, indexed for use by the snpeff tool.</option>
                        <option value="edam:format_3790">SPARQL - SPARQL (SPARQL Protocol and RDF Query Language) is a semantic query language...</option>
                        <option value="edam:format_3250">spML - spML is the format for describing proteomics sample processing, other than...</option>
                        <option value="edam:format_3555">SPSS - File format used for scripts for the Statistical Package for the Social...</option>
                        <option value="edam:format_3788">SQL - SQL (Structured Query Language) is the de-facto standard query language...</option>
                        <option value="edam:format_3621">SQLite format - Data format used by the SQLite database.</option>
                        <option value="edam:format_3698">SRA format -  SRA archive format (SRA) is the archive format used for input to the NCBI...</option>
                        <option value="edam:format_3017">SRF - Sequence Read Format (SRF) of sequence trace data. Supports submission to...</option>
                        <option value="edam:format_2002">srs format - Simple multiple sequence (alignment) format for SRS.</option>
                        <option value="edam:format_2003">srspair - Simple sequence pair (alignment) format for SRS.</option>
                        <option value="edam:format_3310">SS - XRNA old input style format.</option>
                        <option value="edam:format_1928">Staden experiment format - Staden experiment file format.</option>
                        <option value="edam:format_1960">Staden format - Staden suite sequence format.</option>
                        <option value="edam:format_1961">Stockholm format - Stockholm multiple sequence alignment format (used by Pfam and Rfam).</option>
                        <option value="edam:format_1962">strider format - DNA strider output sequence format.</option>
                        <option value="edam:format_2304">STRING entry format (XML) - Entry format (XML) for the STRING database of protein interaction.</option>
                        <option value="edam:format_3604">SVG - Scalable Vector Graphics (SVG) is an XML-based vector image format for...</option>
                        <option value="edam:format_2004">T-Coffee format - T-Coffee program alignment format.</option>
                        <option value="edam:format_3616">tabix - TAB-delimited genome position file index format.</option>
                        <option value="edam:format_3700">Tabix index file format - Index file format used by the samtools package to index TAB-delimited genome...</option>
                        <option value="edam:format_1665">Taverna workflow format - Format of Taverna workflows.</option>
                        <option value="edam:format_2033">Tertiary structure format - Data format for a molecular tertiary structure.</option>
                        <option value="edam:format_2021">Text mining report format - Data format of a report from text mining.</option>
                        <option value="edam:format_2330">Textual format - Textual format.</option>
                        <option value="edam:format_3712">Thermo RAW - Proprietary file format for mass spectrometry data from Thermo Scientific.</option>
                        <option value="edam:format_3835">TIDE TXT - Format supported by the Tide tool for identifying peptides from tandem mass...</option>
                        <option value="edam:format_3591">TIFF - A versatile bitmap format.</option>
                        <option value="edam:format_3876">TNG - Trajectory Next Generation (TNG) is a format for storage of molecular...</option>
                        <option value="edam:format_3879">Topology format - Format of topology files; containing the static information of a structure...</option>
                        <option value="edam:format_3866">Trajectory format - File format to store trajectory information for a 3D structure .</option>
                        <option value="edam:format_3867">Trajectory format (binary) - Binary file format to store trajectory information for a 3D structure .</option>
                        <option value="edam:format_3868">Trajectory format (text) - Textual file format to store trajectory information for a 3D structure .</option>
                        <option value="edam:format_3246">TraML - TraML (Transition Markup Language) is the format for mass spectrometry...</option>
                        <option value="edam:format_1436">TreeBASE format - The format of an entry from the TreeBASE database of phylogenetic data.</option>
                        <option value="edam:format_1911">TreeCon format - Phylogenetic tree TreeCon (text) format.</option>
                        <option value="edam:format_2005">TreeCon-seq - Treecon format for (aligned) sequences.</option>
                        <option value="edam:format_1437">TreeFam format - The format of an entry from the TreeFam database of phylogenetic data.</option>
                        <option value="edam:format_3910">trr - Format of trr files that contain the trajectory of a simulation experiment...</option>
                        <option value="edam:format_3475">TSV - Tabular data represented as tab-separated values in a text file.</option>
                        <option value="edam:format_3255">Turtle - The Terse RDF Triple Language (Turtle) is a human-friendly serialisation...</option>
                        <option value="edam:format_1206">unambiguous pure - Alphabet for a molecular sequence with possible unknown positions but...</option>
                        <option value="edam:format_1214">unambiguous pure dna - Alphabet for a DNA sequence (characters ACGT only) with possible unknown...</option>
                        <option value="edam:format_1211">unambiguous pure nucleotide - Alphabet for a nucleotide sequence (characters ACGTU only) with possible...</option>
                        <option value="edam:format_1218">unambiguous pure protein - Alphabet for any protein sequence with possible unknown positions but...</option>
                        <option value="edam:format_1216">unambiguous pure rna sequence - Alphabet for an RNA sequence (characters ACGU only) with possible unknown...</option>
                        <option value="edam:format_2096">unambiguous sequence - Alphabet for a molecular sequence with possible unknown positions but...</option>
                        <option value="edam:format_3853">UniParc XML - XML format for the UniParc database.</option>
                        <option value="edam:format_2187">UniProt-like (text) - A text sequence format resembling uniprotkb entry format.</option>
                        <option value="edam:format_1963">UniProtKB format - UniProtKB entry sequence format.</option>
                        <option value="edam:format_3771">UniProtKB RDF - UniProtKB RDF sequence features format is an RDF format available for...</option>
                        <option value="edam:format_3770">UniProtKB XML - UniProtKB XML sequence features format is an XML format available for...</option>
                        <option value="edam:format_2547">uniprotkb-like format - A sequence format resembling uniprotkb entry format.</option>
                        <option value="edam:format_3854">UniRef XML - XML format for the UniRef reference clusters.</option>
                        <option value="edam:format_2095">unpure - Alphabet for a molecular sequence with possible unknown positions but...</option>
                        <option value="edam:format_3016">VCF - Variant Call Format (VCF) for sequence variation (indels, polymorphisms,...</option>
                        <option value="edam:format_3699">VDB - VDB ('vertical database') is the native format used for export from the NCBI...</option>
                        <option value="edam:format_1458">Vienna local RNA secondary structure format - Format of local RNA secondary structure components with free energy values,...</option>
                        <option value="edam:format_3821">VisML - Default XML format of VisANT, containing all the network information.</option>
                        <option value="edam:format_3858">Waters RAW - Proprietary file format for mass spectrometry data from Waters.</option>
                        <option value="edam:format_3710">WIFF format - Mass spectrum file format from QSTAR and QTRAP instruments (ABI/Sciex).</option>
                        <option value="edam:format_3005">WIG - Wiggle format (WIG) of a sequence annotation track that consists of a value...</option>
                        <option value="edam:format_2032">Workflow format - Format of a workflow.</option>
                        <option value="edam:format_3711">X!Tandem XML - Output format used by X! series search engines that is based on the XML...</option>
                        <option value="edam:format_3598">xbm - X BitMap is a plain text binary image format used by the X Window System...</option>
                        <option value="edam:format_3618">xgmml - XML-based format used to store graph descriptions within Galaxy.</option>
                        <option value="edam:format_3468">xls - Microsoft Excel spreadsheet format.</option>
                        <option value="edam:format_3620">xlsx - MS Excel spreadsheet format consisting of a set of XML documents stored in a...</option>
                        <option value="edam:format_3811">XMFA - The A2M format is used as the primary format for multiple alignments of...</option>
                        <option value="edam:format_2332">XML - eXtensible Markup Language (XML) format.</option>
                        <option value="edam:format_3599">xpm - X PixMap (XPM) is an image file format used by the X Window System, it is...</option>
                        <option value="edam:format_3789">XQuery - XQuery (XML Query) is a query language (format of queries) for querying and...</option>
                        <option value="edam:format_3804">xsd - XML format for XML Schema.</option>
                        <option value="edam:format_3875">XTC - Portable binary format for trajectories produced by GROMACS package.</option>
                        <option value="edam:format_3877">XYZ - The XYZ chemical file format is widely supported by many programs, although...</option>
                        <option value="edam:format_3750">YAML - YAML (YAML Ain't Markup Language) is a human-readable tree-structured data...</option>
                        <option value="edam:format_3915">Zarr - The Zarr format is an implementation of chunked, compressed, N-dimensional...</option>
                        <option value="edam:format_3018">ZTR - ZTR format for storing chromatogram data from DNA sequencing instruments.</option>
                    </select>
                    <p><small>Please specify the file format (optional). These formats are from the <a href="http://edamontology.org/page" target="_blank">EDAM Ontology</a> and apply to bioinformatics tools.</small></p>
                </div>

                <p v-if="output_errors.length > 0"><font color="red">
                    <b>Please correct the following error(s):</b>
                    <ul>
                      <li v-for="error in output_errors">{{ error }}</li>
                    </ul>
                    </font>
                </p>

                <div class="form-group">
                    <button class="btn btn-info" :disabled="newOutputID == '' || newOutputGlob == '' || newOutputDoc == ''">Add / Update</button>
                </div>
            </form>

            <p v-if="outputs.length > 0">Here you can edit (<span class="glyphicon glyphicon-edit" aria-hidden="true"></span>) or delete (<span class="glyphicon glyphicon-remove" aria-hidden="true"></span>) outputs.</p>

            <ol class="list-group">
                <li v-for="output in outputs" class="list-group-item">{{ output.ID }}
                    <button v-on:click="editOutput(output)" class="btn btn-default">
                        <span class="glyphicon glyphicon-edit" aria-hidden="true"></span>
                    </button>
                    <button v-on:click="deleteOutput(output, true)" class="btn btn-default">
                        <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
                    </button>
                </li>
            </ol>

            <p v-if="overall_output_errors.length > 0"><font color="red">
                <b>Please correct the following error(s):</b>
                <ul>
                  <li v-for="error in overall_output_errors">{{ error }}</li>
                </ul>
                </font>
            </p>
        </div>

        <h4>CWL document:</h4>

        <p v-if="this.cwl.length == 0"><font color="red">At least one error (see above) must be addressed before the CWL document can be generated.</font></p>

        <pre v-text="cwl" v-if="cwl"></pre>
        
        <p v-if="this.cwl.length > 0">
            <div class="form-group">
                <button class="btn btn-info" variant="outline-primary" v-on:click="downloadCwl">Download CWL file</button>
            </div>
            <div>
                ToolJig does not have a way to save your CWL file, so be sure to download it before you close the app. If you wish to edit the CWL file later, you can upload it back into ToolJig.
            </div>
        </p>

        <hr style="border: 1px solid black;border-radius: 1px;" />

        <h4>Create input-object file:</h4>

        Once you have created a valid CWL file, you can create an input-object file, which defines inputs that will be used when the tool is executed in one particular instance. The boxes below correspond to the inputs defined above.

        <!--This defines how the dynamic input forms will be created.-->
        <component 
          v-for="(input, index) in inputs" 
          :key="input.name"
          :is="input.type"
          v-bind="input"
          v-model="inputs[index].value">
        </component>

        <p v-if="download_job_errors.length"><font color="red">
            <b>Please correct the following error(s):</b>
            <ul>
              <li v-for="error in download_job_errors">{{ error }}</li>
            </ul>
            </font>
        </p>

        <pre v-text="job" v-if="job"></pre>

        <div class="form-group">
            <button class="btn btn-info" variant="outline-primary" v-on:click="downloadJob" :disabled="job.length == 0">Download input-object file</button>
        </div></p>

        <hr style="border: 1px solid black;border-radius: 1px;" v-if="cwl.length > 0 && job.length > 0" />

        <h4 v-if="cwl.length > 0 && job.length > 0">Example command to execute the tool:</h4>

        <p  v-if="cwl.length > 0 && job.length > 0">First, you must install <a href="https://github.com/common-workflow-language/cwltool" target="_blank">cwltool</a> and <a href="https://docs.docker.com/engine/install" target="_blank">Docker Engine</a>. Then you can execute the following command, assuming the CWL file and input-object file are in your current working directory (if not, modify the command to point to the locations of these files). Alternatively, you can execute the tool using a variety of <a href="https://www.commonwl.org/#Implementations" target="_blank">other engines</a>.</p>

        <pre v-text="example_command" v-if="cwl.length > 0 && job.length > 0"></pre>
    </div>
</div>

<script>
    // These components define the dynamic behavior of the job-input boxes that are created.
    // From example at https://www.raymondcamden.com/2018/10/31/working-with-dynamic-components-in-vuejs
    Vue.component("string", {
        props: ['name', 'doc', 'value'],
        template: `<div class="form-group"><label>{{ name }}<sup><font color="red">*</font></sup>:</label><input type="text" @input="updateVal" v-model="text" class="form-control" aria-describedby="helpBlock" /><span id="helpBlock" class="form-text text-muted">{{ doc }}</span></div>`,
        data() { return { text:null } },
        created() { this.text = this.value; },
        methods:{ updateVal() { this.$emit('input', this.text); } }
    });
    Vue.component("int", {
        props: ['name', 'doc', 'value'],
        template: `<div class="form-group"><label>{{ name }}<sup><font color="red">*</font></sup>:</label><input type="text" @input="updateVal" v-model="text" class="form-control" aria-describedby="helpBlock" /><span id="helpBlock" class="form-text text-muted">{{ doc }}</span></div>`,
        data() { return { text:null } },
        created() { this.text = this.value; },
        methods:{ updateVal() { this.$emit('input', this.text); } }
    });
    Vue.component("File", {
        props: ['name', 'doc', 'value'],
        template: `<div class="form-group"><label>{{ name }}<sup><font color="red">*</font></sup>:</label><input type="text" @input="updateVal" v-model="text" class="form-control" aria-describedby="helpBlock" /><span id="helpBlock" class="form-text text-muted">{{ doc }}</span></div>`,
        data() { return { text:null } },
        created() { this.text = this.value; },
        methods:{ updateVal() { this.$emit('input', this.text); } }
    });
    // Vue.component("Directory", {
    //     props: ['name', 'doc', 'value'],
    //     template: `<div class="form-group"><label>{{ name }}<sup><font color="red">*</font></sup>:</label><input type="text" @input="updateVal" v-model="text" class="form-control" aria-describedby="helpBlock" /><span id="helpBlock" class="form-text text-muted">{{ doc }}</span></div>`,
    //     data() { return { text:null } },
    //     created() { this.text = this.value; },
    //     methods:{ updateVal() { this.$emit('input', this.text); } }
    // });
    Vue.component("Output_File", {
        props: ['name', 'doc', 'value'],
        template: `<div class="form-group"><label>{{ name }}<sup><font color="red">*</font></sup>:</label><input type="text" @input="updateVal" v-model="text" class="form-control" aria-describedby="helpBlock" /><span id="helpBlock" class="form-text text-muted">{{ doc }}</span></div>`,
        data() { return { text:null } },
        created() { this.text = this.value; },
        methods:{ updateVal() { this.$emit('input', this.text); } }
    });

    // This is the main Vue app.
    new Vue({
        el: "#cwl_app",

        data: {
            basics_errors: [],
            input_errors: [],
            overall_input_errors: [],
            auxiliary_errors: [],
            template_errors: [],
            output_errors: [],
            overall_output_errors: [],
            download_job_errors: [],
            tool_id: "",
            tool_label: "",
            doc: "",
            dockerfile: "",
            author_name: "",
            author_orcid: "",
            license: "Apache-2.0",
            newInputName: "",
            newInputType: "string",
            newInputDoc: "",
            newInputSecondary: "",
            newInputFileFormat: "",
            inputs: [],
            newAuxName: "",
            newAuxContents: "",
            auxiliary_files: [],
            stdout_file_name: "stdout.txt",
            stderr_file_name: "stderr.txt",
            outputs: [],
            newOutputID: "",
            newOutputGlob: "",
            newOutputDoc: "",
            newOutputSecondary: "",
            newOutputFileFormat: "",
            command_template: "",
            example_cache: {}
        },

        // Computed attributes build content dynamically for display in the app.
        // In this app, we perform input validation before returning cwl and job documents.
        computed: {
            cwl: function() {
                this.basics_errors = [];
                this.template_errors = [];
                this.overall_input_errors = [];
                this.overall_output_errors = [];

                if (this.tool_id.trim() == "")
                    this.basics_errors.push("Only letters, numbers, and underscores are allowed.");

                if (/[^A-Za-z0-9_]+/.test(this.tool_id))
                    this.basics_errors.push("The tool identifier must only container letters, numbers, and underscores.")

                if (this.tool_label.trim() == "")
                    this.basics_errors.push("Please specify a label.");

                if (this.dockerfile.trim() == "")
                    this.basics_errors.push("Please specify a Dockerfile.");

                if (this.author_orcid.trim() != "" && !this.isValidORCID(this.author_orcid))
                    this.basics_errors.push("Please specify a valid ORCID identifier (e.g., https://orcid.org/0000-0001-2222-3456).");

                if (this.command_template.trim() == "")
                    this.template_errors.push("Please specify a command template.");

                input_count = 0;
                var i;
                for (i = 0; i < this.inputs.length; i++)
                    if (this.inputs[i].type != "Output_File")
                        input_count += 1;

                if (input_count == 0)
                    //this.overall_input_errors.push("You must specify at least one input. It may be any of the following input types: string, int, File, or Directory.");
                    this.overall_input_errors.push("You must specify at least one input. It may be any of the following input types: string, int, or File.");

                for (i = 0; i < this.inputs.length; i++) {
                    //if (this.inputs[i].type == "File" || this.inputs[i].type == "Directory") {
                    if (this.inputs[i].type == "File") {
                        re = new RegExp(`\\$\\(inputs\\.${this.inputs[i].name}\\.(path|basename|dirname|nameroot|nameext)\\)`);
                        if (!re.test(this.command_template)) {
                            this.template_errors.push(`All inputs must be used at least once in the command template: ${this.inputs[i].name} was not used. It must be specified in the command template using $(inputs.${this.inputs[i].name}) followed by one of these attributes: .path, .basename, .dirname, .nameroot, .nameext.`);
                            break;
                        }
                    }
                    else {
                        re = new RegExp(`\\$\\(inputs\\.${this.inputs[i].name}\\)`);
                        if (!re.test(this.command_template)) {
                            this.template_errors.push(`All inputs must be used at least once in the command template: ${this.inputs[i].name} was not used. It can be specified in the command template as $(inputs.${this.inputs[i].name}).`);
                            break;
                        }
                    }
                }

                for (i = 0; i<this.auxiliary_files.length; i++) {
                    re = new RegExp(this.auxiliary_files[i].name.replace(/\./g, "\\."));
                    if (!re.test(this.command_template)) {
                        this.template_errors.push(`All auxiliary files must be used at least once in the command template: ${this.auxiliary_files[i].name} was not used.`)
                        break;
                    }
                }

                var output_count = this.outputs.length;
                var i;
                for (i = 0; i<this.inputs.length; i++) {
                    if (this.inputs[i].type == "Output_File")
                        output_count += 1;
                }

                if (output_count == 0 && this.parseStandardMessages() == "")
                    this.overall_output_errors.push("You must specify at least one output.");

                if (this.basics_errors.length > 0 || this.template_errors.length > 0 || this.overall_input_errors.length > 0 || this.overall_output_errors.length > 0)
                    return "";

                return `cwlVersion: v1.2
class: CommandLineTool
label: ${this.tool_label}
${this.buildOptionalString("doc: |-\n", this.indent(2, this.doc))}
requirements:
  ShellCommandRequirement: {}
  InlineJavascriptRequirement: {}
  DockerRequirement:
    dockerImageId: ${this.tool_id}
    dockerFile: |-\n${this.indent(6, this.dockerfile)}
${this.network_access}
${this.parseAuxiliaryFiles()}
${this.parseInputs()}
${this.buildOptionalString(`arguments:
  - shellQuote: false
    valueFrom: |-\n`, this.indent(6, this.command_template.replace(/\n\n/g, "\n").replace(/\n/g, "\n\n")))}
outputs:
${this.parseOutputs()}
${this.parseStandardMessages()}

${this.parseAuthorInfo()}

s:dateCreated: "${this.getTodayDate()}"
s:license: https://spdx.org/licenses/${this.license}
 
$namespaces:
  s: https://schema.org/
  edam: http://edamontology.org/
$schemas:
 - https://schema.org/version/latest/schemaorg-current-http.rdf
 - http://edamontology.org/EDAM_1.23.owl
            `.replace(/\n\n/g, "\n").replace(/\n\n/g, "\n").trim();
            },
            job: function() {
                this.download_job_errors = [];
                var i;
                for (i = 0; i<this.inputs.length; i++) {
                    if (this.inputs[i].value.trim() == "")
                        this.download_job_errors.push("No value specified for " + this.inputs[i].name + ".");
                    else if (this.inputs[i].type == "int" && /[^\d]/.test(this.inputs[i].value))
                        this.download_job_errors.push("Must specify an integer for " + this.inputs[i].name + ".");
                }
                if (this.download_job_errors.length > 0)
                    return "";

                output = "";

                var i;
                for (i = 0; i<this.inputs.length; i++)
                {
                    if (this.inputs[i].type == "string" || this.inputs[i].type == "Output_File") {
                        output += this.inputs[i].name + ": \"" + this.inputs[i].value + "\"\n";
                    }
                    else {
                        if (this.inputs[i].type == "int") {
                            output += this.inputs[i].name + ": " + this.inputs[i].value + "\n";
                        }
                        else {
                            output += this.inputs[i].name + ":\n";
                            output += "    class: " + this.inputs[i].type + "\n";
                            output += "    path: \"" + this.inputs[i].value + "\"\n";

                            if (this.inputs[i].type == "File" && this.inputs[i].format != "")
                                output += "    format: " + this.inputs[i].format.replace("edam:", "http://edamontology.org/") + "\n";
                        }
                    }
                }

                return output;
            },
            network_access: function() {
                if (this.dockerfile.trim().length > 0)
                  return "  NetworkAccess:\n    class: NetworkAccess\n    networkAccess: true\n";
                return "";
            },
            cwl_file_name: function() { return `${this.tool_id}.cwl`; },
            job_file_name: function() { return `${this.tool_id}_objects.yml`; },
            example_command: function() {
                return `cwltool ${this.cwl_file_name} ${this.job_file_name}`;
            }
        },

        methods: {
            onUploadFile: function(e) {
                var files = e.target.files || e.dataTransfer.files;
                if (!e.target.files.length) {
                    console.log("No file was detected.");
                    return;
                }

                const reader = new FileReader();

                reader.onload = event => {
	                const text = reader.result;
                    const yaml_dict = jsyaml.safeLoad(text);

                    if (yaml_dict["cwlVersion"] != "v1.0" && yaml_dict["cwlVersion"] != "v1.1" && yaml_dict["cwlVersion"] != "v1.2") {
                        alert(`${fileName} is not using a version of CWL that is compatible with this tool (1.0, 1.1, or 1.2).`);

                        return;
                    }

                    this.tool_id = this.getYamlValue(yaml_dict, ["requirements", "DockerRequirement", "dockerImageId"], true);
                    this.tool_label = this.getYamlValue(yaml_dict, ["label"], false);
                    this.doc = this.getYamlValue(yaml_dict, ["doc"], false);
                    this.dockerfile = this.getYamlValue(yaml_dict, ["requirements", "DockerRequirement", "dockerFile"], true);
                    this.author_name = this.getYamlValue(yaml_dict, ["s:author", 0, "s:name"], false);
                    this.author_orcid = this.getYamlValue(yaml_dict, ["s:author", 0, "s:identifier"], false);
                    this.license = this.getYamlValue(yaml_dict, ["s:license"], false).split("/").slice(-1)[0];

                    this.inputs = [];
                    this.newInputName = "";
                    this.newInputType = "string";
                    this.newInputDoc = "";
                    this.newInputSecondary = "";
                    this.newInputFileFormat = "";

                    inputs_dict = this.getYamlValue(yaml_dict, ["inputs"], false);

                    for (var key in inputs_dict) {
                        input_dict = inputs_dict[key];
                        input_dict["name"] = key;

                        input_dict["is_output_file"] = false;
                        if (/\n#Output_File/.test(input_dict["doc"])) {
                            var parts1 = input_dict["doc"].split("\n#Output_File=");

                            input_dict["type"] = "Output_File";
                            input_dict["doc"] = parts1[0].trim();
                            input_dict["is_output_file"] = true;

                            var parts2 = parts1[1].split(";");
                            input_dict["format"] = parts2[0].replace("format: ", "").trim();
                            
                            if (parts2.length > 1 && parts2[1].trim().length > 0)
                                input_dict["secondaryFiles"] = parts2[1].replace("secondaryFiles: ", "").trim().split(",");
                        }
                        else if (!("format" in input_dict))
                            input_dict["format"] = "";

                        if (!("secondaryFiles" in input_dict))
                            input_dict["secondaryFiles"] = [];

                        input_dict["value"] = "";

                        this.inputs.push(input_dict);
                    }

                    this.sortArrayOfObjects(this.inputs, "name");

                    this.auxiliary_files = [];
                    this.newAuxName = "";
                    this.newAuxContents = "";

                    aux_files = this.getYamlValue(yaml_dict, ["requirements", "InitialWorkDirRequirement", "listing"], false);
                    if (aux_files != "") {
                        var i;
                        for (i = 0; i < aux_files.length; i++) {
                            this.auxiliary_files.push({
                                name: aux_files[i]["entryname"],
                                contents: aux_files[i]["entry"]
                            });
                        }
                    }

                    this.sortArrayOfObjects(this.auxiliary_files, "name");

                    this.command_template = this.getYamlValue(yaml_dict, ["arguments", 0, "valueFrom"], true);

                    this.stdout_file_name = "";
                    if ("stdout" in yaml_dict)
                        this.stdout_file_name = yaml_dict["stdout"];
                    this.stderr_file_name = "";
                    if ("stderr" in yaml_dict)
                        this.stderr_file_name = yaml_dict["stderr"];

                    this.outputs = [];
                    this.newOutputID = "";
                    this.newOutputGlob = "";
                    this.newOutputDoc = "";
                    this.newOutputSecondary = "";
                    this.newOutputFileFormat = "";

                    outputs_dict = this.getYamlValue(yaml_dict, ["outputs"], false);

                    for (var key in outputs_dict) {
                        if (key == "standard_output" || key == "standard_error")
                            continue;

                            // Check to see if it's an Output_File. If so, don't add it to the outputs.
                            if (key in this.getYamlValue(yaml_dict, ["inputs"], false)) {
                                if (this.getYamlValue(yaml_dict, ["inputs"], false)[key]["is_output_file"]) {
                                    continue;
                                }
                            };

                        output_dict = {};
                        output_dict["ID"] = key;
                        output_dict["glob"] = outputs_dict[key]["outputBinding"]["glob"];
                        output_dict["doc"] = outputs_dict[key]["doc"];
                        output_dict["format"] = outputs_dict[key]["format"];
                        output_dict["secondaryFiles"] = [];
                        if ("secondaryFiles" in outputs_dict[key])
                            output_dict["secondaryFiles"] = outputs_dict[key]["secondaryFiles"];

                        this.outputs.push(output_dict);
                    }

                    this.sortArrayOfObjects(this.outputs, "ID");

                    e.target.value = "";
	            }

	            reader.onerror = (e) => {
                    alert("An error occurred when trying to parse the input file. Please contact the developer for help in addressing this problem.")
	                console.error(e);
	            }

	            reader.readAsText(e.target.files[0]);
            },
            getYamlValue: function(yaml_dict, key_array, indicate_missing) {
                // This goes iteratively deeper into the dictionary to try to find the value.
                my_dict = yaml_dict;
                var i;
                var message = "";
                for (i = 0; i < key_array.length; i++) {
                    key = key_array[i];

                    if (key in my_dict) {
                        my_dict = my_dict[key];
                    }
                    else {
                        if (indicate_missing) {
                            return "[No value was specified in the uploaded file.]";
                        }
                        else {
                            return "";
                        }
                    }
                }
                
                return my_dict;
            },
            sortArrayOfObjects: function(array, key) {
                array.sort((a, b) => {
                    if (a[key] < b[key]) {
                        return -1;
                    }
                    if (a[key] > b[key]) {
                        return 1;
                    }
                    return 0;
                });
            },
            parseSecondaryFiles: function(inputValue, errorsArray) {
                if (inputValue != "") {
                    inputValue = inputValue.replace(/ /g, "");

                    var j;
                    var secondaryValues = inputValue.split(",");
                    for (j = 0; j < secondaryValues.length; j++) {
                        if (!secondaryValues[j].startsWith("."))
                        {
                            errorsArray.push("Secondary file extensions must start with a period and be separated by commas.");
                            break;
                        }

                        if (!/[A-Za-z]+/.test(secondaryValues[j])) {
                            errorsArray.push("Secondary file extensions must contain at least one letter.");
                            break;
                        }
                    }

                    return secondaryValues;
                }

                return [];
            },
            addInput: function () {
                this.input_errors = [];

                if (/[^a-zA-Z_0-9]+/.test(this.newInputName))
                    this.input_errors.push("Input names must only contain letters, numbers, and underscores.");

                var secondaryFiles = this.parseSecondaryFiles(this.newInputSecondary, this.input_errors);

                if (this.input_errors.length > 0)
                    return;

                // Remove any duplicates
                var i;
                for (i = 0; i < this.inputs.length; i++)
                    if (this.inputs[i].name == this.newInputName)
                        this.deleteInput(this.inputs[i]);

                this.inputs.push({
                    name: this.newInputName,
                    type: this.newInputType,
                    doc: this.newInputDoc,
                    secondaryFiles: secondaryFiles,
                    format: this.newInputFileFormat,
                    value: ""
                });

                this.sortArrayOfObjects(this.inputs, "name");

                this.newInputName = "";
                this.newInputType = "string";
                this.newInputDoc = "";
                this.newInputSecondary = "";
                this.newInputFileFormat = "";
            },
            deleteInput: function (x) {
                this.inputs = this.inputs.filter(function(value, index, arr) {
                    return value.name != x.name;
                })
            },
            editInput: function (x) {
                this.newInputName = x.name;
                if (x.type == "Output_File") {
                    this.newInputType = "Output_File";
                }
                else {
                    this.newInputType = x.type;
                }

                this.newInputDoc = x.doc;
                this.newInputSecondary = x.secondaryFiles.join(",");
                this.newInputFileFormat = x.format.replace("format: ", "");
                this.$refs.newInputName.focus();
                this.$refs.inputPanel.scrollIntoView();
            },
            addAuxiliaryFile: function() {
                this.auxiliary_errors = [];
                if (/[^a-zA-Z_0-9\.]+/.test(this.newAuxName))
                    this.auxiliary_errors.push("The names of auxiliary files must only contain letters, numbers, underscores, and periods.");

                if (this.auxiliary_errors.length > 0)
                    return;

                // Make sure no duplicates
                var i;
                for (i = 0; i < this.auxiliary_files.length; i++)
                    if (this.auxiliary_files[i].name == this.newAuxName)
                        this.deleteAuxiliaryFile(this.auxiliary_files[i], false);

                this.auxiliary_files.push({
                    name: this.newAuxName,
                    contents: this.newAuxContents
                });

                this.sortArrayOfObjects(this.auxiliary_files, "name");

                this.newAuxName = "";
                this.newAuxContents = "";
            },
            deleteAuxiliaryFile: function(x, clear) {
                this.auxiliary_files = this.auxiliary_files.filter(function(value, index, arr) {
                    return value.name != x.name;
                })

                if (clear) {
                    this.newAuxName = "";
                    this.newAuxContents = "";
                }
            },
            editAuxiliaryFile: function(x) {
                this.newAuxName = x.name;
                this.newAuxContents = x.contents;
                this.$refs.newAuxName.focus();
                this.$refs.auxPanel.scrollIntoView();
            },
            addOutput: function() {
                this.output_errors = [];

                if (/[^a-zA-Z_0-9]+/.test(this.newOutputID))
                    this.output_errors.push("Output identifiers must only contain letters, numbers, and underscores.");

                // Make sure the expression is valid
                if (/[*?]/.test(this.newOutputGlob))
                    this.output_errors.push("Output file expressions cannot include wildcard characters (* or ?).");

                var secondaryFiles = this.parseSecondaryFiles(this.newOutputSecondary, this.output_errors);

                if (this.output_errors.length > 0)
                    return;

                // Make sure there are no duplicates
                var i;
                for (i = 0; i < this.outputs.length; i++)
                    if (this.outputs[i].ID == this.newOutputID)
                        this.deleteOutput(this.outputs[i], false);

                this.outputs.push({
                    ID: this.newOutputID,
                    glob: this.newOutputGlob,
                    doc: this.newOutputDoc,
                    secondaryFiles: secondaryFiles,
                    format: this.newOutputFileFormat
                });

                this.sortArrayOfObjects(this.outputs, "ID");

                this.newOutputID = "";
                this.newOutputGlob = "";
                this.newOutputDoc = "";
                this.newOutputSecondary = "";
                this.newOutputFileFormat = "";
            },
            deleteOutput: function(x, clear) {
                this.outputs = this.outputs.filter(function(value, index, arr) {
                    return value.ID != x.ID;
                })

                if (clear) {
                    this.newOutputID = "";
                    this.newOutputGlob = "";
                    this.newOutputDoc = "";
                    this.newOutputSecondary = "";
                    this.newOutputFileFormat = "";
                }
            },
            editOutput: function(x) {
                this.newOutputID = x.ID;
                this.newOutputGlob = x.glob;
                this.newOutputDoc = x.doc;
                this.newOutputSecondary = x.secondaryFiles.join(",");
                this.newOutputFileFormat = x.format;
                this.$refs.newOutputID.focus();
                this.$refs.outputPanel.scrollIntoView();
            },
            parseInputs: function() {
                result = "";
                if (this.inputs.length > 0) {
                    result = "inputs:\n"
                }

                var i;
                for (i = 0; i < this.inputs.length; i++)
                {
                    input_type = this.inputs[i].type;
                    if (input_type == "Output_File")
                        input_type = "string";

                    result += "\n  " + this.inputs[i].name + ":\n";
                    result += "    type: " + input_type + "\n";

                    doc = this.inputs[i].doc;
                    if (this.inputs[i].type == "Output_File") {
                        doc += `\n#Output_File=format: ${this.inputs[i].format}`;
                    }

                    if (this.inputs[i].type == "File" && this.inputs[i].format != "")
                        result += "    format: " + this.inputs[i].format + "\n";

                    if (this.inputs[i].type == "File" && this.inputs[i].secondaryFiles.length > 0) {
                        result += "    secondaryFiles:\n";
                        var j;
                        for (j = 0; j < this.inputs[i].secondaryFiles.length; j++)
                            result += this.indent(6, "- " + this.inputs[i].secondaryFiles[j]) + "\n";
                    }

                    if (this.inputs[i].type == "Output_File" && this.inputs[i].secondaryFiles.length > 0) {
                        doc += ";secondaryFiles: " + this.inputs[i].secondaryFiles.join(",");
                    }

                    result += "    doc: |-\n" + this.indent(6, doc) + "\n";
                }

                return result;
            },
            parseAuxiliaryFiles: function() {
                result = "";
                if (this.auxiliary_files.length > 0)
                    result = "  InitialWorkDirRequirement:\n    listing:\n"

                var i;
                for (i = 0; i<this.auxiliary_files.length; i++)
                {
                    result += `    - entryname: ${this.auxiliary_files[i].name}\n`
                    result += "      entry: |-\n"
                    result += this.indent(8, this.auxiliary_files[i].contents) + "\n";
                }

                return result;
            },
            parseOutputs: function() {
                result = "";
                var i;
                for (i = 0; i<this.inputs.length; i++)
                {
                    if (this.inputs[i].type != "Output_File")
                        continue;

                    result += `  ${this.inputs[i].name}:\n`;
                    result += "    type: File\n";
                    result += "    outputBinding:\n";
                    result += "      glob: \"$(inputs." + this.inputs[i].name + ")\"\n";
                    result += "    doc: |-\n";
                    result += `      Output file matching the name specified in the "${this.inputs[i].name}" input.\n`;

                    if (this.inputs[i].format != "")
                        result += "    format: " + this.inputs[i].format + "\n";

                    if (this.inputs[i].secondaryFiles.length > 0)
                    {
                        result += "    secondaryFiles:\n";
                        var j;
                        for (j = 0; j < this.inputs[i].secondaryFiles.length; j++)
                            result += this.indent(6, "- " + this.inputs[i].secondaryFiles[j]) + "\n";
                    }
                }

                var i;
                for (i = 0; i<this.outputs.length; i++)
                {
                    result += `  ${this.outputs[i].ID}:\n`;
                    result += "    type: File\n";
                    result += "    outputBinding:\n";
                    result += "      glob: \"" + this.outputs[i].glob + "\"\n";
                    result += "    doc: |-\n";
                    result += this.indent(6, this.outputs[i].doc) + "\n";

                    if (this.outputs[i].format != "")
                        result += "    format: " + this.outputs[i].format + "\n";

                    if (this.outputs[i].secondaryFiles.length > 0)
                    {
                        result += "    secondaryFiles:\n";
                        var j;
                        for (j = 0; j < this.outputs[i].secondaryFiles.length; j++)
                            result += this.indent(6, "- " + this.outputs[i].secondaryFiles[j]) + "\n";
                    }
                }

                return result;
            },
            parseStandardMessages: function() {
                result = "";

                stdout_value = this.stdout_file_name.trim();
                stderr_value = this.stderr_file_name.trim();

                if (stdout_value != "")
                    result += "  standard_output:\n    type: stdout\n    format: edam:format_1964\n";
                if (stderr_value != "")
                    result += "  standard_error:\n    type: stderr\n    format: edam:format_1964\n";
                if (stdout_value != "")
                    result += "stdout: " + stdout_value + "\n";
                if (stderr_value != "")
                    result += "stderr: " + stderr_value + "\n";

                return result;
            },
            parseAuthorInfo() {
                author_info = "";
                if (this.author_name.trim() != "" || this.author_orcid.trim() != "") {
                    author_info += " \ns:author:\n";
                    author_info += "  - class: s:Person\n";

                    if (this.author_name.trim() != "")
                        author_info += `    s:name: ${this.author_name.trim()}\n`;
                    if (this.author_orcid.trim() != "")
                        author_info += `    s:identifier: ${this.author_orcid.trim()}\n`;
                    author_info += " \n";
                }

                return author_info;
            },
            buildOptionalString: function(prefix, value) {
                if (value == "")
                    return "";
                else
                    return prefix + value;
            },
            indent: function(numSpaces, value) {
                if (value == "")
                    return "";

                prefix = "";
                var i;
                for (i = 0; i < numSpaces; i++)
                    prefix += " ";

                lines = value.split("\n");
                result = "";

                for (i = 0; i < lines.length; i++)
                {
                    result += prefix + lines[i];
                    if (i != (lines.length - 1))
                        result += "\n";
                }

                return result;
            },
            downloadCwl: function() {
                this.downloadFile(this.cwl_file_name, this.cwl);
            },
            downloadJob: function() {
                this.downloadFile(this.job_file_name, this.job);
            },
            downloadFile: function(fileName, contents) {
                //https://ourcodeworld.com/articles/read/189/how-to-create-a-file-and-generate-a-download-with-javascript-in-the-browser-without-a-server
                var element = document.createElement('a');
                element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(contents));
                element.setAttribute('download', fileName);
                element.style.display = 'none';
                document.body.appendChild(element);
                element.click();
                document.body.removeChild(element);
            },
            getTodayDate: function() {
                var d = new Date();
                return [
                d.getFullYear(),
                ('0' + (d.getMonth() + 1)).slice(-2),
                ('0' + d.getDate()).slice(-2)
                ].join('-');
            },
            isValidORCID: function(orcid) {
                return (/https:\/\/orcid.org\/\d{4}-\d{4}-\d{4}-\d{4}/.test(orcid));
            }
        }
    });
</script>

</body>
</html>
back to top