<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pise PUBLIC "pise2.dtd" "pise2.dtd" >
<pise>
    <head>
      <title>SPAdes on ACCESS</title>
      <version>3.13.0</version>
      <description>SPAdes for de novo assembly</description>
      <authors>Bankevich, A., Nurk, S.,  Antipov, D., Gurevich, A. A., Korobeynikov, A., Lapidus, A., Prjibelski, A. D., Pyshkin, A., Sirotkin, A., Sirotkin, Y., Stepanauskas, R., Clingenpeel, S. R., Woyke, T., McLean, J. S., Lasken, R., Tesler, G., Alekseyev, M. A., and Pevzner, P. A.</authors>
      <reference>Bankevich, A., Nurk, S., Antipov, D., et al. (2012) SPAdes: a new genome assembly algorithm and its applications to single-cell sequencing. J Comput Biol 19, 455-477 10.1089/cmb.2012.0021</reference>
      <category>de Novo Sequence Assembly</category>
	</head>

	<command>spades_access</command>
	
<!-- ********************************** created 5/1/2023 or thereabouts by mamiller ****************************************************************
Usage: spades.py [options] -o <output_dir>

Basic options:
  -o <output_dir>             directory to store all the resulting files (required)
 
 datatype 
  -*isolate                   this flag is highly recommended for high-coverage isolate and multi-cell data
  -*sc                        this flag is required for MDA (single-cell) data
  -*meta                      this flag is required for metagenomic data
 
  mode
  -*bio                       this flag is required for biosyntheticSPAdes mode
  -*corona                    this flag is required for coronaSPAdes mode
  -*rna                       this flag is required for RNA-Seq data
  
  pipeline
  -*plasmid                   runs plasmidSPAdes pipeline for plasmid detection
  -*metaviral                 runs metaviralSPAdes pipeline for virus detection
  -*metaplasmid               runs metaplasmidSPAdes pipeline for plasmid detection in metagenomic datasets (equivalent for -*meta -*plasmid)
  
  datatype
  -*rnaviral                  this flag enables virus assembly module from RNA-Seq data
  -*iontorrent                this flag is required for IonTorrent data
  
  not supported 
  -*test                      runs SPAdes on toy dataset
  -h, -*help                  prints this usage message
  -v, -*version               prints version

Input data:
  -*12 <filename>             file with interlaced forward and reverse paired-end reads
  -1 <filename>               file with forward paired-end reads
  -2 <filename>               file with reverse paired-end reads
  -s <filename>               file with unpaired reads
  -*merged <filename>         file with merged forward and reverse paired-end reads
  -*pe-12 <#> <filename>      file with interlaced reads for paired-end library number <#>.
  -*pe-1 <#> <filename>       file with forward reads for paired-end library number <#>.
  -*pe-2 <#> <filename>       file with reverse reads for paired-end library number <#>.
  -*pe-s <#> <filename>       file with unpaired reads for paired-end library number <#>.
  -*pe-m <#> <filename>       file with merged reads for paired-end library number <#>.
  -*pe-or <#> <or>            orientation of reads for paired-end library number <#>  (<or> = fr, rf, ff).
  -*s <#> <filename>          file with unpaired reads for single reads library number <#>.
  -*mp-12 <#> <filename>      file with interlaced reads for mate-pair library number <#>.
  -*mp-1 <#> <filename>       file with forward reads for mate-pair library number <#>.
  -*mp-2 <#> <filename>       file with reverse reads for mate-pair library number <#>.
  -*mp-s <#> <filename>       file with unpaired reads for mate-pair library number <#>.
  -*mp-or <#> <or>            orientation of reads for mate-pair library number <#> (<or> = fr, rf, ff).
  -*hqmp-12 <#> <filename>    file with interlaced reads for high-quality mate-pair library number <#>.
  -*hqmp-1 <#> <filename>     file with forward reads for high-quality mate-pair library number <#>.
  -*hqmp-2 <#> <filename>     file with reverse reads for high-quality mate-pair library number <#>.
  -*hqmp-s <#> <filename>     file with unpaired reads for high-quality mate-pair library number <#>.
  -*hqmp-or <#> <or>          orientation of reads for high-quality mate-pair library number <#>   (<or> = fr, rf, ff).
  -*sanger <filename>         file with Sanger reads
  -*pacbio <filename>         file with PacBio reads
  -*nanopore <filename>       file with Nanopore reads
  -*trusted-contigs <filename> file with trusted contigs
  -*untrusted-contigs <filename> file with untrusted contigs

Pipeline options:
  -*only-error-correction     runs only read error correction (without assembling)
  -*only-assembler            runs only assembling (without read error correction)
  -*careful                   tries to reduce number of mismatches and short indels
  -*checkpoints <last or all>
                              save intermediate check-points ('last', 'all')
  -*continue                  continue run from the last available check-point (only -o should be specified)
  -*restart-from <cp>         restart run with updated options and from the specified check-point
                              ('ec', 'as', 'k<int>', 'mc', 'last')
  -*disable-gzip-output       forces error correction not to compress the corrected reads
  -*disable-rr                disables repeat resolution stage of assembling

Advanced options:
  -*dataset <filename>        file with dataset description in YAML format
  -t <int>, -*threads <int>   number of threads. [default: 16]
  -m <int>, -*memory <int>    RAM limit for SPAdes in Gb (terminates if exceeded). [default: 250]
  -*tmp-dir <dirname>         directory for temporary files. [default: <output_dir>/tmp]
  -k <int> [<int> ...]        list of k-mer sizes (must be odd and less than 128)
                              [default: 'auto']
  -*cov-cutoff <float>        coverage cutoff value (a positive float number, or 'auto', or 'off')
                              [default: 'off']
  -*phred-offset <33 or 64>   PHRED quality offset in the input reads (33 or 64),
                              [default: auto-detect]
  -*custom-hmms <dirname>     directory with custom hmms that replace default ones,
                              [default: None]
    -->
    
<parameters> 
<!-- hidden parameters --> 
    <parameter ishidden="1" ismandatory="1" type="String">
      <name>invocation</name>
      <attributes>  
       <precond>
      	<language>perl</language>
      	<code>!$more_memory</code>
      </precond>
      <format>
      		<language>perl</language>
        	<code>"spades_3.15.5_expanse -t 16"</code>
      	</format>
      	<group>1</group>
      </attributes>
    </parameter>   
    
    <parameter ishidden="1" ismandatory="1" type="String">
      <name>invocation_more</name>
      <attributes>  
      <precond>
      	<language>perl</language>
      	<code>$more_memory</code>
      </precond>
      <format>
      		<language>perl</language>
        	<code>"spades_3.15.5_expanse -t 128"</code>
      	</format>
      	<group>1</group>
      </attributes>
    </parameter> 
    
<!-- Rules for running SPAdes on Expanse via the CIPRES gateway

All runs are on a single CPU node.

- Ask the user whether more than 32 GB of memory is needed for the run.

- Specify the run parameters according to the following table.

  Maximum             Slurm      Slurm
   memory  Threads   memory  Partition

  <=32 GB       16      32G     shared
   >32 GB      128     243G    compute

- Include the following in the run script for a run in the shared partition.

  #SBATCH -p shared
  #SBATCH -*qos=shared-cipres
  #SBATCH -N 1
  #SBATCH -*ntasks-per-node=1
  #SBATCH -*cpus-per-task=16
  #SBATCH -*mem=32G
  ...
  srun ... <wrapper> -t 16 ...

- Include the following in the run script for a run in the compute partition.

  #SBATCH -p compute
  #SBATCH -*qos=cipres
  #SBATCH -N 1
  #SBATCH -*ntasks-per-node=1
  #SBATCH -*cpus-per-task=128
  #SBATCH mem=243G
  ...
  srun ... <wrapper> -t 128 …
-->      
  
  <parameter ishidden="1" type="String">
			<name>spaces_scheduler</name>
				<attributes>
					<paramfile>scheduler.conf</paramfile>
					<precond>
						<language>perl</language>
						<code>!$more_memory</code>
					</precond>
					<format>
						<language>perl</language>
						<code>
							"threads_per_process=16\\n" .
							"node_exclusive=0\\n" .
							"mem=32G\\n" .
							"nodes=1\\n"
						</code>
					</format>
				</attributes>
		</parameter>  
		
		<parameter ishidden="1" type="String">
			<name>metamarc_scheduler2</name>
				<attributes>
					<paramfile>scheduler.conf</paramfile>
					<precond>
						<language>perl</language>
						<code>$more_memory</code>
					</precond>
					<format>
						<language>perl</language>
							<code>
								"threads_per_process=128\n" .
								"mem=243G\\n" .
								"node_exclusive=1\\n" .
								"nodes=1\\n"
							</code>
					</format>
				</attributes>
		</parameter> 

<!-- this starts the spades command line; the input file name cant be changed here -->    
    <parameter issimple="1" isinput="1" type="Sequence">
          <name>inputfile1_fastq</name>
          <attributes>
			<filenames>inputfastq_1.fq.gz</filenames>
			<group>2</group>
        </attributes>
        </parameter>

<!-- -*s <#> <filename>          file with unpaired reads for single reads library number <#>.-->   
      <parameter issimple="1" ishidden="1" type="String">      
         <name>inputfile1S</name>
          <attributes>
          	<precond>
          		<language>perl</language>
          		<code>$specify_readtype eq "-s"</code>
          	</precond>
			<format>
				<language>perl</language>
				<code>"--s 1 inputfastq_1.fq.gz"</code>
			</format>
			<group>2</group>
        </attributes>
        </parameter>     
 
 <!-- *pe-12 <#> <filename>      file with interlaced reads for paired-end library number <#>.--> 
      <parameter issimple="1" ishidden="1" type="String">      
         <name>inputfile1_2</name>
          <attributes>
          	<precond>
          		<language>perl</language>
          		<code>$specify_readtype ne "-s"</code>
          	</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype 1 inputfastq_1.fq.gz"</code>
			</format>
			<group>2</group>
        </attributes>
        </parameter>  

<!-- 
  -*pe-m <#> <filename>       file with merged reads for paired-end library number <#>.
  -*pe-or <#> <or>            orientation of reads for paired-end library number <#>  (<or> = fr, rf, ff).-->
        
 <!-- -*pe<#>-s <file_name> File with unpaired reads from paired-end library number <#> (<#> = 1,2,..,9) For example, paired reads can become unpaired during the error correction procedure.-->
              	
<!-- end of hidden parameters -->
	
<!-- Visible parameters -->
<!-- Parameters with visible controls start here -->
		<parameter type="Float" issimple="1" ismandatory="1">
			<name>runtime</name>
			<attributes>
				<group>1</group>
				<paramfile>scheduler.conf</paramfile>
				<prompt>Maximum Hours to Run (click here for help setting this correctly)</prompt>
				<vdef>
					<value>12</value>
				</vdef>
				<comment>
<value>Estimate the maximum time your job will need to run. We recommend testing initially with a &lt; 0.5hr test run because Jobs set for 0.5 h or less depedendably run immediately in the "debug" queue. 
Once you are sure the configuration is correct, you then increase the time. The reason is that jobs &gt; 0.5 h are submitted to the "normal" queue, where jobs configured for 1 or a few hours times may
run sooner than jobs configured for the full 168 hours. 
</value>
				</comment>
				<ctrls>
					<ctrl>
						<message>Maximum Hours to Run must be less than 168</message>
						<language>perl</language>
						<code>$runtime &gt; 168.0</code>
					</ctrl>
					<ctrl>
						<message>Maximum Hours to Run must be greater than 0.1 </message>
						<language>perl</language>
						<code>$runtime &lt; 0.1</code>
					</ctrl>
				</ctrls>
				<warns>
					<warn>
						<message>The job will run on 24 processors as configured. If it runs for the entire configured time, it will consume 24 x $runtime cpu hours</message>
						<language>perl</language>
						<code>!$more_memory </code>
					</warn>
					<warn>
						<message>The job will run on 128 processors as configured. If it runs for the entire configured time, it will consume 128 x $runtime cpu hours</message>
						<language>perl</language>
						<code>$more_memory </code>
					</warn>
				</warns>
				<format>
					<language>perl</language>
					<code>"runhours=$value\\n"</code>
				</format>
			</attributes>
		</parameter>

 <!--  -*pe-12 <#> <filename>      file with interlaced reads for paired-end library number <#>.
  -*pe-1 <#> <filename>       file with forward reads for paired-end library number <#>.
  -*pe-s <#> <filename>       file with unpaired reads for paired-end library number <#>.
  -*pe-m <#> <filename>       file with merged reads for paired-end library number <#>.
  -*pe-or <#> <or>            orientation of reads for paired-end library number <#>  (<or> = fr, rf, ff).
  -*s <#> <filename>          file with unpaired reads for single reads library number <#>.s--><!-- 
  -->
   <parameter issimple="1" ismandatory="1" type="Excl">
      <name>specify_readtype</name>
      <attributes>
      <prompt>My read files are:</prompt>  
      <vlist>
         <value>-s</value>
      	<label>Single reads</label>    
      	 <value>--pe</value>
      	<label>Paired end reads</label>
 <!--     	 <value>-*mp</value>
      	<label>Mate paired reads</label> -->
      	 <value>--hqmp</value>
      	<label>High quality mate-paired reads</label>  
      </vlist> 
      </attributes>
    </parameter> 
   
       <parameter issimple="1" ismandatory="1" type="Excl">
      <name>specify_inputtype</name>
      <attributes>
      <prompt>My first input file is:</prompt>  
      <vlist>
         <value>80</value>
      	<label>Single read file</label>    
      	 <value>-12</value>
      	<label>Interleaved forward and reverse reads (-pe, -hqmp)</label>
      	 <value>-1</value>
      	<label>Forward reads only (-pe, -hqmp)</label>
      	 <value>-m</value>
      	<label>File with merged forward and reverse reads (-pe, -hqmp)</label>  
      </vlist> 
      </attributes>
    </parameter> 
   
   <!--Now  ask the user how many libraries they want to include -->
    <parameter issimple="1" ismandatory="1" type="Excl">
      <name>specify_librarynumber</name>
      <attributes>
      <prompt>How many read libraries?</prompt>  
      <vlist>
         <value>1</value>
      	 <label>1</label>    
      	 <value>2</value>
      	 <label>2</label>
      	 <value>3</value>
      	 <label>3</label>
      	 <value>4</value>
      	 <label>4</label>
      	 <value>5</value>
      	 <label>5</label>    
      	 <value>6</value>
      	 <label>6</label>
      	 <value>7</value>
      	 <label>7</label>
      	 <value>8</value>
      	 <label>8</label>
         <value>9</value>
      	 <label>9</label>
      </vlist>
      </attributes>
    </parameter>
    
  <!--visible specify paired end library files for any library type -->     
   <!--hidden command strings for merged files, single read files, and interleaved PER libraries-->  
   <!--$specify_librarynumber &gt; 1; &amp;&amp; $specify_inputtype eq "80"-->
   <!--$specify_librarynumber &gt; 1; &amp;&amp; $specify_inputtype eq "12"-->
   <!--$specify_librarynumber &gt; 1; &amp;&amp; $specify_inputtype eq "3"-->
   <!--$specify_librarynumber &gt; 1; &amp;&amp; $specify_inputtype eq "4"-->
    <parameter type="Paragraph">
   <paragraph>
   	<name>select_perlibs</name>
   	<prompt>Additional Paired End Read Libraries</prompt>
    <parameters>
   
        <parameter  type="InFile">
          <name>inputfastq22</name>
          <attributes>
          <prompt>Select fastq read library 2 (gzipped)</prompt>
			<filenames>inputfastq_2.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 1 &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype 2 inputfastq_2.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the second paired end read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 1 &amp;&amp; $specify_readtype ne "-s" &amp;&amp; !defined $inputfastq22 </code>
          		</ctrl>
          	</ctrls>
          	<group>5</group>
        </attributes>
        </parameter>  
        
       <parameter  type="InFile">
          <name>inputfastq23</name>
          <attributes>
          <prompt>Select fastq read library 3 (gzipped)</prompt>
			<filenames>inputfastq_3.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 2 &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype 3  inputfastq_3.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the third paired end library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 2 &amp;&amp; $specify_readtype ne "-s"  &amp;&amp; !defined $inputfastq23</code>
          		</ctrl>
          	</ctrls>
          	<group>6</group>
        </attributes>
        </parameter> 
        
        <parameter  type="InFile">
          <name>inputfastq24</name>
          <attributes>
          <prompt>Select fastq read library 4 (gzipped)</prompt>
			<filenames>inputfastq_4.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 3 &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype 4 inputfastq_4.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the fourth paired end read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 3 &amp;&amp; $specify_readtype ne "-s"  &amp;&amp; !defined $inputfastq24</code>
          		</ctrl>
          	</ctrls>
          	<group>7</group>
        </attributes>
        </parameter> 
             
       <parameter  type="InFile">
          <name>inputfastq25</name>
          <attributes>
          <prompt>Select fastq read library5 (gzipped)</prompt>
			<filenames>inputfastq_5.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 4 &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype 5 inputfastq_5.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the fifth paired end read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 4 &amp;&amp; $specify_readtype ne "-s" &amp;&amp; !defined $inputfastq25</code>
          		</ctrl>
          	</ctrls>
          	<group>8</group>
        </attributes>
        </parameter> 
         
       <parameter  type="InFile">
          <name>inputfastq26</name>
          <attributes>
          <prompt>Select fastq read library 6 (gzipped)</prompt>
			<filenames>inputfastq_6.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 5 &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype  6 inputfastq_6.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the sixth paired end read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 5 &amp;&amp; $specify_readtype ne "-s" &amp;&amp; !defined $inputfastq26</code>
          		</ctrl>
          	</ctrls>
          	<group>9</group>
        </attributes>
        </parameter>           
        
       <parameter  type="InFile">
          <name>inputfastq27</name>
          <attributes>
          <prompt>Select fastq read library7 (gzipped)</prompt>
			<filenames>inputfastq_7.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 6  &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype 7 inputfastq_7.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the seventh paired end read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 6 &amp;&amp; $specify_readtype ne "-s"  &amp;&amp; !defined $inputfastq27</code>
          		</ctrl>
          	</ctrls>
          	<group>10</group>
        </attributes>
        </parameter>     

       <parameter  type="InFile">
          <name>inputfastq28</name>
          <attributes>
          <prompt>Select fastq read library 8 (gzipped)</prompt>
			<filenames>inputfastq_8.fq.gz</filenames>
			<precond>
				<language>perl</language> 
				<code>$specify_librarynumber &gt; 7  &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype  8 inputfastq_8.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the eighth paired end read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 7 &amp;&amp; $specify_readtype ne "-s"  &amp;&amp; !defined $inputfastq28 </code>
          		</ctrl>
          	</ctrls>
          	<group>11</group>
        </attributes>
        </parameter>    
        
       <parameter  type="InFile">
          <name>inputfastq29</name>
          <attributes>
          <prompt>Select fastq read library 9 (gzipped)</prompt>
			<filenames>inputfastq_9.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 8  &amp;&amp; $specify_readtype ne "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype$specify_inputtype 9 inputfastq_9.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the ninth paired end library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 8  &amp;&amp; $specify_readtype ne "-s"  &amp;&amp; !defined $inputfastq29</code>
          		</ctrl>
          	</ctrls>
          	<group>12</group>
        </attributes>
        </parameter>    
                     
	</parameters>
</paragraph>
</parameter> 
   
   <!-- This section is single paired end reads in separate libraries-->
    <!-- The user specifies the second set of paired end reads. Must be gzipped fastq files-->  
   <!--Only when inputtype = 1 or 12 -->
   <parameter type="Paragraph">
   <paragraph>
   	<name>select_singleperlibs</name>
   	<prompt>Unpaired Reads from Libraries</prompt>
<!--   -*pe-s <#> <filename>       file with unpaired reads for paired-end library number <#>.-->
    <parameters>
           <parameter  type="InFile">
          <name>inputfastq1s</name>
          <attributes>
          <prompt>Input unpaired fastq reads for library 1 (gzipped)</prompt>
			<filenames>inputfastq_S1.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_readtype eq "--pe"  </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 1 inputfastq_S1.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>13</group>
        </attributes>
        </parameter>
        
       <parameter  type="InFile">
          <name>inputfastq2s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 2 (gzipped)</prompt>
			<filenames>inputfastq_S2.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 1  &amp;&amp; $specify_inputtype  &lt; 20</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 2 inputfastq_S2.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>13</group>
        </attributes>
        </parameter>
        
       <parameter  type="InFile">
          <name>inputfastq3s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 3 (gzipped)</prompt>
			<filenames>inputfastq_S3.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 2  &amp;&amp; $specify_inputtype  &lt; 20</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 3 inputfastq_S3.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>13</group>
        </attributes>
        </parameter>
        
         <parameter  type="InFile">
          <name>inputfastq4s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 4 (gzipped)</prompt>
			<filenames>inputfastq_S4.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 3 &amp;&amp; $specify_inputtype  &lt; 20</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 4 inputfastq_S4.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>16</group>
        </attributes>
        </parameter> 
             
     <parameter  type="InFile">
          <name>inputfastq25s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 5 (gzipped)</prompt>
			<filenames>inputfastq_S5.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 4 &amp;&amp; $specify_inputtype  &lt; 20</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 5 inputfastq_S5.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>17</group>
        </attributes>
        </parameter> 
         
       <parameter  type="InFile">
          <name>inputfastq26s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 6 (gzipped)</prompt>
			<filenames>inputfastq_S6.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 5 &amp;&amp; $specify_inputtype  &lt; 20</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 6 inputfastq_S6.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>18</group>
        </attributes>
        </parameter>           
        
       <parameter  type="InFile">
          <name>inputfastq27s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 7 (gzipped)</prompt>
			<filenames>inputfastq_S7.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 6 &amp;&amp; $specify_inputtype  &lt; 20</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 7 inputfastq_S7.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>19</group>
        </attributes>
        </parameter>     

       <parameter  type="InFile">
          <name>inputfastq28s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 8 (gzipped)</prompt>
			<filenames>inputfastq_S8.fq.gz</filenames>
			<precond>
				<language>perl</language> 
				<code>$specify_librarynumber &gt; 7 &amp;&amp; $specify_inputtype  &lt; "20"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 8 inputfastq_S8.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>20</group>
        </attributes>
        </parameter>    
        
       <parameter  type="InFile">
          <name>inputfastq29s</name>
          <attributes>
          <prompt>Input fastq unpaired reads from paired-end library 9 (gzipped)</prompt>
			<filenames>inputfastq_S9.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 8 &amp;&amp; $specify_inputtype  &lt; 20</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-s 9 inputfastq_S9.fq.gz"</code>
			</format>
<!--			<ctrls>
          		<ctrl>
          			<message>Please select single read paired end library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype  &lt; 20 &amp;&amp; !defined $inputfastq1s</code>
          		</ctrl>
          	</ctrls>-->
          	<group>21</group>
        </attributes>
        </parameter>    
                     
	</parameters>
</paragraph>
</parameter> 

   <parameter type="Paragraph">
   <paragraph>
   	<name>select_revperlibs</name>
   	<prompt>Reverse Read Libraries</prompt>
<!--  -*pe-2 <#> <filename>       file with reverse reads for paired-end library number <#>. -->
    <parameters>
       <parameter  type="InFile">
          <name>inputfastq2r</name>
          <attributes>
          <prompt>Select reverse read library 1 (gzipped)</prompt>
			<filenames>inputfastq_R1.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_inputtype eq "-1"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 1 inputfastq_R1.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 1</message>
          			<language>perl</language>
          			<code>$specify_inputtype eq "-1" &amp;&amp; !defined $inputfastq2r</code>
          		</ctrl>
          	</ctrls>
          	<group>13</group>
        </attributes>
        </parameter>
        
       <parameter  type="InFile">
          <name>inputfastq22r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 2 (gzipped)</prompt>
			<filenames>inputfastq_R2.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 1 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 2 inputfastq_R2.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 2</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 1 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq22r</code>
          		</ctrl>
          	</ctrls>
          	<group>14</group>
        </attributes>
        </parameter>  
        
       <parameter  type="InFile">
          <name>inputfastq23r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 3 (gzipped)</prompt>
			<filenames>inputfastq_R3.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 2 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 3 inputfastq_R3.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 3</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 2 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq23r</code>
          		</ctrl>
          	</ctrls>
          	<group>15</group>
        </attributes>
        </parameter>  
          
       <parameter  type="InFile">
          <name>inputfastq24r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 4 (gzipped)</prompt>
			<filenames>inputfastq_R4.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 3 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 4 inputfastq_R4.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 3</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 3 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq24r</code>
          		</ctrl>
          	</ctrls>
          	<group>16</group>
        </attributes>
       </parameter>
          
       <parameter  type="InFile">
          <name>inputfastq25r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 5 (gzipped)</prompt>
			<filenames>inputfastq_R5.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 4 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 5 inputfastq_R5.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 5</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 4 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq25r</code>
          		</ctrl>
          	</ctrls>
          	<group>17</group>
        </attributes>
        </parameter>  
          
       <parameter  type="InFile">
          <name>inputfastq26r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 6 (gzipped)</prompt>
			<filenames>inputfastq_R6.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 5 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 6 inputfastq_R6.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 6</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 5 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq26r</code>
          		</ctrl>
          	</ctrls>
          	<group>18</group>
        </attributes>
        </parameter>          
          
       <parameter  type="InFile">
          <name>inputfastq27r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 7 (gzipped)</prompt>
			<filenames>inputfastq_R7.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 6 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 7 inputfastq_R7.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 7</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 6 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq27r</code>
          		</ctrl>
          	</ctrls>
          	<group>19</group>
        </attributes>
        </parameter>    
          
       <parameter  type="InFile">
          <name>inputfastq28r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 8 (gzipped)</prompt>
			<filenames>inputfastq_R8.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 7 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 8 inputfastq_R8.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 8</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 7 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq28r</code>
          		</ctrl>
          	</ctrls>
          	<group>21</group>
        </attributes>
        </parameter>    
        
       <parameter  type="InFile">
          <name>inputfastq29r</name>
          <attributes>
          <prompt>Select fastq paired end reverse read library 9 (gzipped)</prompt>
			<filenames>inputfastq_R9.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 8 &amp;&amp; $specify_inputtype eq "-1" </code>
			</precond>
			<format>
				<language>perl</language>
				<code>"$specify_readtype-2 9 inputfastq_R9.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the reverse read library 9</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 8 &amp;&amp; $specify_inputtype  eq "-1"  &amp;&amp; !defined $inputfastq29r</code>
          		</ctrl>
          	</ctrls>
          	<group>22</group>
        </attributes>
        </parameter>     
                     
	</parameters>
</paragraph>
</parameter> 


  <parameter type="Paragraph">
   <paragraph>
   	<name>select_singlelibs</name>
   	<prompt> Select Additional Single Read Libraries</prompt>
    <parameters>
    
          <parameter  type="InFile">
          <name>inputfastq22sr</name>
          <attributes>
          <prompt>Select single paired end read library 2  (gzipped)</prompt>
			<filenames>inputfastq_sr2.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 1 &amp;&amp; $specify_readtype eq "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 2 inputfastq_sr2.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select single read library 2 (gzipped)</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 1 &amp;&amp; $specify_readtype eq "-s" &amp;&amp; !defined $inputfastq22sr</code>
          		</ctrl>
          	</ctrls>
          	<group>5</group>
        </attributes>
        </parameter>
          
          <parameter  type="InFile">
          <name>inputfastq23sr</name>
          <attributes>
          <prompt>Select single paired end read library 3  (gzipped)</prompt>
			<filenames>inputfastq_sr3.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_readtype eq "-s"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 3 inputfastq_sr3.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select single read library 3 (gzipped)</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 2 &amp;&amp; $specify_readtype eq "-s" &amp;&amp; !defined $inputfastq23sr</code>
          		</ctrl>
          	</ctrls>
          	<group>6</group>
        </attributes>
        </parameter>
        
       <parameter  type="InFile">
          <name>inputfastq24sr</name>
          <attributes>
          <prompt>Select fastq single read library 4 (gzipped)</prompt>
			<filenames>inputfastq_4sr.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 3 &amp;&amp; $specify_inputtype eq "80"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 4 inputfastq_4sr.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the fourth single read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 3 &amp;&amp; $specify_inputtype eq "80" &amp;&amp; !defined $inputfastq24sr</code>
          		</ctrl>
          	</ctrls>
          	<group>8</group>
        </attributes>
        </parameter> 
        
       <parameter  type="InFile">
          <name>inputfastq25sr</name>
          <attributes>
          <prompt>Select fastq single read library 5 (gzipped)</prompt>
			<filenames>inputfastq_5sr.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 4 &amp;&amp; $specify_inputtype eq "80"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 5 inputfastq_5sr.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the fifth single read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 4 &amp;&amp; $specify_inputtype eq "80" &amp;&amp; !defined $inputfastq25sr</code>
          		</ctrl>
          	</ctrls>
          	<group>9</group>
        </attributes>
        </parameter> 
        
       <parameter  type="InFile">
          <name>inputfastq26sr</name>
          <attributes>
          <prompt>Select fastq single read library 6 (gzipped)</prompt>
			<filenames>inputfastq_6sr.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 5 &amp;&amp; $specify_inputtype eq "80"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 6 inputfastq_6sr.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the sixth single read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 5 &amp;&amp; $specify_inputtype eq "80" &amp;&amp; !defined $inputfastq26sr</code>
          		</ctrl>
          	</ctrls>
          	<group>9</group>
        </attributes>
        </parameter>       
        
       <parameter  type="InFile">
          <name>inputfastq27sr</name>
          <attributes>
          <prompt>Select fastq single read library 7 (gzipped)</prompt>
			<filenames>inputfastq_7sr.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 6 &amp;&amp; $specify_inputtype eq "80"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 7 inputfastq_7sr.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the seventh single read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 6 &amp;&amp; $specify_inputtype eq "80" &amp;&amp; !defined $inputfastq27sr</code>
          		</ctrl>
          	</ctrls>
          	<group>10</group>
        </attributes>
        </parameter>    

       <parameter  type="InFile">
          <name>inputfastq28sr</name>
          <attributes>
          <prompt>Select fastq single read library 8 (gzipped)</prompt>
			<filenames>inputfastq_8sr.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 7 &amp;&amp; $specify_inputtype eq "80"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 8 inputfastq_8sr.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the eighth single read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 7 &amp;&amp; $specify_inputtype eq "80" &amp;&amp; !defined $inputfastq28sr</code>
          		</ctrl>
          	</ctrls>
          	<group>11</group>
        </attributes>
       </parameter>

       <parameter  type="InFile">
          <name>inputfastq29sr</name>
          <attributes>
          <prompt>Select fastq single read library 9 (gzipped)</prompt>
			<filenames>inputfastq_8sr.fq.gz</filenames>
			<precond>
				<language>perl</language>
				<code>$specify_librarynumber &gt; 8 &amp;&amp; $specify_inputtype eq "80"</code>
			</precond>
			<format>
				<language>perl</language>
				<code>"--s 9 inputfastq_9sr.fq.gz"</code>
			</format>
			<ctrls>
          		<ctrl>
          			<message>Please select the ninth single read library</message>
          			<language>perl</language>
          			<code>$specify_librarynumber &gt; 8 &amp;&amp; $specify_inputtype eq "80" &amp;&amp; !defined $inputfastq29sr</code>
          		</ctrl>
          	</ctrls>
          	<group>12</group>
        </attributes>
        </parameter>        
                     
	</parameters>
</paragraph>
</parameter> 

<!-- The user specifies the name of the output directory for spades results
spades_{file} -->
     <parameter issimple="1" ismandatory="1" type="String">
      <name>name_spadesoutputdir</name>
      <attributes> 
      <prompt>Name for the spades output directory</prompt> 
      <format>
      		<language>perl</language>
        	<code>"-o spades_$name_spadesoutputdir"</code>
      	</format>
      	<vdef>
      		<value>output</value>
      	</vdef>
      	<group>30</group>
      </attributes>
    </parameter>
    
    
    <parameter issimple="1" type="Switch">
      <name>more_memory</name>
      <attributes> 
      <prompt>I need more memory</prompt> 
      </attributes>
    </parameter>
    
    <!-- Basic options:
 datatype 
  -*isolate                   this flag is highly recommended for high-coverage isolate and multi-cell data
  -*sc                        this flag is required for MDA (single-cell) data
  -*meta                      this flag is required for metagenomic data -->
        <parameter issimple="1" ismandatory="1" type="Excl">
      <name>specify_datatype</name>
      <attributes>
      <prompt>Specify if your data type</prompt>  
      <precond>
      			<language>perl</language>
      			<code>$specify_pipelineopt ne "--only-error-correction"</code>
      </precond> 
      <vlist>
      	 <value>--isolate</value>
      	<label>High coverage isolate/multicell</label>
      	 <value>--sc</value>
      	<label>Single cell (MDA)</label>
      	<value>--meta</value>
      	<label>Metagenomic</label>
      </vlist>
      <format>
      		<language>perl</language>
        	<code>defined $specify_datatype ?  "$value":""</code>
      	</format>
      	<ctrls>
      		<ctrl>
      			<message>Please specify the kind of data you are using (High coverage/single cell/metagenomic)</message>
      			<language>perl</language>
      			<code>!defined $specify_datatype &amp;&amp; $specify_pipelineopt ne "--only-error-correction"</code>
      		</ctrl>
      	</ctrls>
      	<group>31</group>   
      </attributes>
    </parameter> 
 
<!--  mode
  -*bio                       this flag is required for biosyntheticSPAdes mode
  -*corona                    this flag is required for coronaSPAdes mode
  -*rna                       this flag is required for RNA-Seq data -->
   <parameter issimple="1" type="Excl">
      <name>specify_spadesmode</name>
      <attributes>
      <prompt>Specify a specialized SPAdes mode</prompt>  
      <vlist>
      	 <value>--bio</value>
      	<label>biosyntheticSPAdes mode</label>
      	 <value>--corona</value>
      	<label>coronaSPAdes mode</label>
      	<value>--rna</value>
      	<label>RNA-Seq data</label>
      </vlist>
      <format>
      		<language>perl</language>
        	<code>defined $specify_spadesmode ?  "$value":""</code>
      	</format>
      	<group>32</group>   
      </attributes>
    </parameter> 
    
 <!--Specifying data for hybrid assembly-->  
    <parameter type="Paragraph">
  	<paragraph>
 		<name>hybrid_options</name>
 		<prompt>Hybrid Assembly Options</prompt>
 	<parameters>
 	
 <!---*pacbio <file_name>
    File with PacBio CLR reads. For PacBio CCS reads use -s option. More information on PacBio reads is provided in section 3.1.s -->
  <parameter type="InFile">
      <name>specify_pacbio</name>
      <attributes>
      <prompt>Specify a PacBio readfile</prompt>  
      <format>
      		<language>perl</language>
        	<code>defined $specify_pacbio ? "--pacbio pacbio.fq.gz":""</code>
      	</format>
      	<filenames>pacbio.fq.gz</filenames>
      	<group>37</group>   
      </attributes>
    </parameter> 
    
 <!---*nanopore <file_name>
    File with Oxford Nanopore reads.-->
      <parameter type="InFile">
      <name>specify_nanopore</name>
      <attributes>
      <prompt>Specify a Nanopore readfile</prompt> 
      <format>
      		<language>perl</language>
        	<code>defined $specify_nanopore ? "--nanopore nanopore.fq.gz":""</code>
      	</format>
      	<filenames>nanopore.fq.gz</filenames>
      	<group>37</group>   
      </attributes>
    </parameter> 

<!-- -*sanger <file_name>
    File with Sanger reads-->
    <parameter type="InFile">
      <name>specify_sanger</name>
      <attributes>
      <prompt>Specify a Sanger readfile</prompt> 
      <format>
      		<language>perl</language>
        	<code>defined $specify_sanger ? "--sanger sanger.fq.gz":""</code>
      	</format>
      	<filenames>sanger.fq.gz</filenames>
      	<group>37</group>   
      </attributes>
    </parameter> 

<!-- -*trusted-contigs <file_name>
    Reliable contigs of the same genome, which are likely to have no misassemblies and small rate of other errors (e.g. mismatches and indels). This option is not intended for contigs of the related species.
-->
    <parameter type="InFile">
      <name>specify_trusted</name>
      <attributes>
      <prompt>Specify a Trusted Contig file</prompt> 
      <format>
      		<language>perl</language>
        	<code>defined $specify_trusted ? "--trusted trusted.fq.gz":""</code>
      	</format>
      	<filenames>trusted.fq.gz</filenames>
      	<group>37</group>   
      </attributes>
    </parameter> 

<!-- -*untrusted-contigs <file_name>
    Contigs of the same genome, quality of which is average or unknown. 
    Contigs of poor quality can be used but may introduce errors in the assembly. 
    This option is also not intended for contigs of the related species.-->   
     <parameter type="InFile">
      <name>specify_untrusted</name>
      <attributes>
      <prompt>Specify an Untrusted Contig file</prompt> 
      <format>
      		<language>perl</language>
        	<code>defined $specify_untrusted ? "--untrusted-contigs trusted.fq.gz":""</code>
      	</format>
      	<filenames>untrusted.fq.gz</filenames>
      	<group>37</group>   
      </attributes>
    </parameter>   
    
	</parameters>  
  	</paragraph>
 </parameter>       
    
  
 <!-- pipeline
  -*plasmid                   runs plasmidSPAdes pipeline for plasmid detection
  -*metaviral                 runs metaviralSPAdes pipeline for virus detection
  -*metaplasmid               runs metaplasmidSPAdes pipeline for plasmid detection in metagenomic datasets (equivalent for -*meta -*plasmid)-->
     <parameter issimple="1" type="Excl">
      <name>specify_spadespipeline</name>
      <attributes>
      <prompt>Specify a specialized SPAdes pipeline</prompt>  
      <vlist>
      	 <value>--plasmid</value>
      	<label>plasmid SPAdes pipeline</label>
      	 <value>--metaviral</value>
      	<label>metaviral SPAdes pipeline</label>
      	<value>--metaplasmid</value>
      	<label>metaPlasmid SPAdes pipeline</label>
      </vlist>
      <format>
      		<language>perl</language>
        	<code>defined $specify_spadespipeline ?  "$value":""</code>
      	</format>
      	<ctrls>
      		<ctrl>
      			<message>Sorry, --plasmid cannot be used with single cell mode (--sc)</message>
      			<language>perl</language>
      			<code>$specify_spadespipeline eq "--plasmid" &amp;&amp; $specify_datatype eq "--sc"</code>
      		</ctrl>
      		<ctrl>
      			<message>Sorry, --metaplasmid cannot be used with single cell mode (--sc)</message>
      			<language>perl</language>
      			<code>$specify_spadespipeline eq "--metaplasmid" &amp;&amp; $specify_datatype eq "--sc"</code>
      		</ctrl>
      	</ctrls>
      	<group>35</group>   
      </attributes>
    </parameter> 
    
  <!--datatype
  -*rnaviral                  this flag enables virus assembly module from RNA-Seq data
  -*rna (same as rnaspades.py) This flag should be used when assembling RNA-Seq data sets (runs rnaSPAdes). To learn more, see rnaSPAdes manual. Not compatible with -*only-error-correction or -*careful options.
-*rnaviral (same as rnaviralspades.py) This flag should be used when assembling viral RNA-Seq data sets (runs rnaviralSPAdes). Not compatible with -*only-error-correction or -*careful options.
  -*iontorrent                this flag is required for IonTorrent data--> 
         <parameter issimple="1" type="Excl">
      <name>specify_datasource</name>
      <attributes>
      <prompt>Specify a specialized data source</prompt>  
      <vlist>
      	 <value>--rnaviral</value>
      	<label>RNA-Seq Viral assembly module</label>
      	 <value>--iontorrent</value>
      	<label>Ion Torrent data</label>
      </vlist>
      <format>
      		<language>perl</language>
        	<code>defined $specify_datasource ?  "$value":""</code>
      	</format>
      	<ctrls>
      		<ctrl>
      			<message>The --rnaviral option cannot be used with the  --careful option</message>
      			<language>perl</language>
      			<code>$specify_datasource eq "--rnaviral" &amp;&amp;  $specify_pipelineopt2</code>
      			</ctrl>
      			<!-- -only-error-correction or thespecify_pipelineop-->
      			<ctrl>
      			 <message>The --rnaviral option cannot be used with the  - -only-error-correction option</message>
      			<language>perl</language>
      			<code>$specify_datasource eq "--rnaviral" &amp;&amp;  $specify_pipelineopt eq "--only-error-correction"</code>
      		</ctrl>
      	</ctrls>
      	<group>36</group>   
      </attributes>
    </parameter>

<!-- Pipeline options:
  -*only-error-correction     runs only read error correction (without assembling)
  -*only-assembler            runs only assembling (without read error correction)
  -*careful                   tries to reduce number of mismatches and short indels
  -*checkpoints <last or all>
                              save intermediate check-points ('last', 'all')
  -*continue                  continue run from the last available check-point (only -o should be specified)
  -*restart-from <cp>         restart run with updated options and from the specified check-point
                              ('ec', 'as', 'k<int>', 'mc', 'last')
  -*disable-gzip-output       forces error correction not to compress the corrected reads
  -*disable-rr                disables repeat resolution stage of assembling-->
 <parameter type="Paragraph">
  	<paragraph>
 		<name>pipeline_options</name>
 		<prompt>Pipeline Options</prompt>
 	<parameters>
 
  <parameter type="Excl">
      <name>specify_pipelineopt</name>
      <attributes>
      <prompt>Specify the Pipeline to run</prompt>  
      <vlist>
      	<value>--only-error-correction</value>
      	<label>Error correction without assembling</label>
      	<value>--only-assembler</value>
      	<label>Assembling without Error Correction</label>
      </vlist>
      <format>
      		<language>perl</language>
        	<code>defined $specify_pipelineopt ? "$value":""</code>
      	</format>
      	<group>37</group>   
      </attributes>
    </parameter> 
    
      <parameter type="Switch">
      <name>specify_pipelineopt2</name>
      <attributes>
      <prompt>Minimize number of mismatches and short indels</prompt>
      		<precond>
      			<language>perl</language>
      			<code>$specify_datatype eq "--sc"</code>
      		</precond>
      <format>
      		<language>perl</language>
        	<code>$specify_pipelineopt2 ? "--careful":""</code>
      	</format>
      	<group>38</group>   
      </attributes>
    </parameter>          
      
<!--      	<label>Save intermediate check-points</label>
      	<value>-*continue</value>
      	<label>Continue run from the last available check-point</label>
      	<value>-*disable-rr</value>
      	<label>Do not compress corrected reads</label>
      </vlist>-->                     
      <parameter type="Switch">
      	<name>specify_pipelineopt3</name>
      	<attributes>
      		<prompt>Save all check-points (default=last)</prompt>
      		<format>
      				<language>perl</language>
      				<code>$specify_pipelineopt3 ? "--checkpoint all":""</code>
      		</format>
      		<group>39</group>   
      </attributes>
    </parameter>

<!--   -*continue                  continue run from the last available check-point (only -o should be specified)
  <parameter type="Switch">
      <name>specify_pipelineopt4</name>
      <attributes>
      <prompt>Continue run from the last available check-point</prompt>
      <format>
      		<language>perl</language>
        	<code>$specify_pipelineopt4 ? "-*continue":""</code>
      	</format>
      	<group>18</group>   
      </attributes>
    </parameter> -->  
    
<!--   -*disable-gzip-output       forces error correction not to compress the corrected reads-->
   <parameter type="Switch">
      <name>specify_pipelineopt5</name>
      <attributes>
      <prompt>Do not compress the corrected reads</prompt>
      <precond>
      	<language>perl</language>
      	<code>$specify_pipelineopt ne "--only-assembler"</code>
      </precond>
      <format>
      		<language>perl</language>
        	<code>$specify_pipelineopt5 ? "--disable-gzip-output":""</code>
      	</format>
      	<group>40</group>   
      </attributes>
    </parameter>   
    
 <!--  -*disable-rr                disables repeat resolution stage of assembling-->
   <parameter type="Switch">
      <name>specify_pipelineopt6</name>
      <attributes>
      <prompt>Disable repeat resolution stage of assembling</prompt>
      <format>
      		<language>perl</language>
        	<code>$specify_pipelineopt6 ? "--disable-rr":""</code>
      	</format>
      	<group>41</group>   
      </attributes>
    </parameter>   
    
	</parameters>  
  	</paragraph>
 </parameter>     
 <!-- Paragraph
Advanced options:
  -*dataset <filename>        file with dataset description in YAML format
 not supported  -t <int>, -*threads <int>   number of threads. [default: 16]
 not supported  -m <int>, -*memory <int>    RAM limit for SPAdes in Gb (terminates if exceeded). [default: 250]
 
not supported  -*tmp-dir <dirname>         directory for temporary files. [default: <output_dir>/tmp]

 supported  -k <int> [<int> ...]        list of k-mer sizes (must be odd and less than 128)
                              [default: 'auto']
 supported  -*cov-cutoff <float>        coverage cutoff value (a positive float number, or 'auto', or 'off')
                              [default: 'off']
 supported  -*phred-offset <33 or 64>   PHRED quality offset in the input reads (33 or 64),
                              [default: auto-detect]
 not supported currently  -*custom-hmms <dirname>     directory with custom hmms that replace default ones,
                              [default: None]
-->
 <parameter type="Paragraph">
  <paragraph>
 <name>advanced_options</name>
 <prompt>Advanced Options</prompt>
 <parameters>

<!--   -*dataset <filename>    file with dataset description in YAML format--> 
       <parameter type="InFile">
      <name>specify_yaml</name>
      <attributes>
      <prompt>File with dataset description in YAML format</prompt>  
      <format>
      		<language>perl</language>
        	<code>"--dataset $value"</code>
      	</format>
      	<filenames>data_description.yaml</filenames>
      	<group>42</group>
      </attributes>
    </parameter>

 <!-- User can specify the kmer values, but these are recommended -k 21,33,55,77,99,127 -->
      <parameter type="String">
      <name>specify_kmer</name>
      <attributes>
      <prompt>Specify the kmer values</prompt>  
      <format>
      		<language>perl</language>
        	<code>defined $specify_kmer ? "-k $specify_kmer":""</code>
      	</format>
      	<vdef>
      		<value>21,33,55,77,99,127</value>
      	</vdef>
      	<group>43</group>   
      </attributes>
    </parameter>

<!--  supported  -*cov-cutoff <float>        coverage cutoff value (a positive float number, or 'auto', or 'off')
                              [default: 'off'] -->
      <parameter type="Float">
      <name>specify_covcutoff</name>
      <attributes>
      <prompt>Specify the  coverage cutoff value</prompt>
      <precond>
      	<language>perl</language>
      	<code>$specify_datatype ne "--meta"</code>
      </precond>  
      <format>
      		<language>perl</language>
        	<code>defined $specify_covcutoff ? "--cov-cutoff $value":""</code>
      	</format>
      	<group>44</group>   
      </attributes>
    </parameter> 
                               
 <!-- supported  -*phred-offset <33 or 64>   PHRED quality offset in the input reads (33 or 64),
                              [default: auto-detect]-->
  <parameter type="Excl">
      <name>specify_phredoffset</name>
      <attributes>
      <prompt>Specify the Phrad quality offset</prompt>  
      <vlist>
      	<value>33</value>
      	<label>33</label>
      	<value>64</value>
      	<label>64</label>
      </vlist>
      <format>
      		<language>perl</language>
        	<code>defined $specify_phredoffset ? "--phred-offset $value":""</code>
      	</format>
      	<group>45</group>   
      </attributes>
    </parameter>           
                     
 <!-- not supported currently  -*custom-hmms <dirname>     directory with custom hmms that replace default ones,
                              [default: None]-->
    </parameters>
    </paragraph> 
</parameter>  

	 	<parameter type="Results">
				<name>all_outputfiles</name>
				<attributes>
					<filenames>*</filenames>
				</attributes>
			</parameter>	
			
</parameters>
</pise>