view fasttree.xml @ 0:614a12d56e58 draft default tip

planemo upload for repository https://github.com/sanbi-sa/tools-sanbi-uwc/tree/master/tools/fasttree commit 4db125fcd73327813d7bd511852bbe9ffc68a25c
author sanbi-uwc
date Mon, 09 Jan 2017 08:07:45 -0500
parents
children
line wrap: on
line source

<tool id="fasttree" name="FastTree" version="0.1">
  <description>infers approximately-maximum-likelihood phylogenetic trees from alignments of nucleotide or protein sequences.</description>

  <requirements>
      <requirement type="package" version="2.1.9">fasttree</requirement>
  </requirements>

  <command detect_errors="aggressive">
  <![CDATA[
    OMP_NUM_THREADS=\${GALAXY_SLOTS:-1} &&
    export OMP_NUM_THREADS &&
    FastTreeMP
    #if ( ( str( $advanced_options.advanced_options_selector ) == 'false'
           and str( $advanced_options.alignment_type1 ) == 'nucl' ) or
          ( str( $advanced_options.advanced_options_selector ) == 'true'
             and str( $advanced_options.alignment_type_selection.alignment_type2 ) == 'nucl' ) ):
      -nt
    #end if
    #if str( $advanced_options.advanced_options_selector ) == 'true':
      $advanced_options.fastest
      $advanced_options.gamma
      $advanced_options.noml
      $advanced_options.nosupport
      $advanced_options.log
      #if str( $advanced_options.alignment_type_selection.alignment_type2 ) == 'nucl':
        $advanced_options.alignment_type_selection.nucl_alignment_model
      #else
        $advanced_options.alignment_type_selection.prot_alignment_model
      #end if
    #end if
    '${input_alignment}' > '${output_tree}'
  ]]>
  </command>

  <inputs>
    <param name="input_alignment" type="data" format="fasta,phylip"
      label="Multiple sequence alignment"/>
    <conditional name="advanced_options">
      <param name="advanced_options_selector" type="select" label="Advanced options">
        <option value="true">Yes</option>
        <option value="false" selected="True">No</option>
      </param>
      <when value="true">
        <param argument="-fastest" type="boolean" truevalue="-fastest" falsevalue=""
          label="Fastest mode (recommended for > 50,000 sequences)"/>
        <param argument="-gamma" type="boolean" truevalue="-gamma" falsevalue=""
          label="Rescale likelihoods using Gamma20 model" />
        <param argument="-noml" type="boolean" truevalue="-noml" falsevalue=""
          label="Disable Maximum-Likelihood topology refinement step" />
        <param argument="-nosupport" type="boolean" truevalue="-nosupport" falsevalue=""
          label="Disable computation of support values for tree splits" />
        <param argument="-log" type="boolean" truevalue="-log output_log.txt" falsevalue=""
          label="Save log file" />
        <conditional name="alignment_type_selection">
        <param name="alignment_type2" type="select" label="Alignment type">
          <option value="nucl">Nucleotide</option>
          <option value="prot" selected="True">Protein</option>
        </param>
        <when value="nucl">
          <param name="nucl_alignment_model" label="Alignment model" type="select">
            <option value="" selected="True">Jukes-Cantor+CAT</option>
            <option value="-gtr">GTR+CAT</option>
          </param>
        </when>
        <when value="prot">
          <param name="prot_alignment_model" label="Alignment model" type="select">
            <option value="">JTT+CAT</option>
            <option value="-wag">WAG+CAT</option>
            <option value="-lg">LG+CAT</option>
          </param>
        </when>
        </conditional>
      </when>
      <when value="false">
        <param name="alignment_type1" type="select" label="Alignment type">
          <option value="nucl">Nucleotide</option>
          <option value="prot" selected="True">Protein</option>
        </param>
      </when>
    </conditional>

  </inputs>

  <outputs>
    <data name="output_tree" format="nhx" />
    <data name="output_log" format="txt" label="Log from ${tool.name} on ${on_string}" from_work_dir="output_log.txt">
      <filter>advanced_options['advanced_options_selector'] == 'true' and advanced_options['log'] is True</filter>
    </data>
  </outputs>

  <tests>
    <test>
      <param name="input_alignment" value="sample_aln1.fasta" ftype="fasta" />
      <param name="advanced_options_selector" value="false" />
      <param name="alignment_type1" value="nucl" />
      <output name="output_tree">
        <assert_contents>
          <has_text_matching expression="^^\(\(\(471528:[^,]+,\(\(484305:[^,]+,\(471785:[^,]+,\(484347:[^,]+,484343:" />
        </assert_contents>
      </output>
    </test>
    <test>
      <param name="input_alignment" value="sample_aln2.fasta" ftype="fasta" />
      <param name="advanced_options_selector" value="false" />
      <output name="output_tree">
        <assert_contents>
          <has_text_matching expression="^\(\(N3970:\d\.\d+,N3339:\d\.\d+\)\d+\.\d+:\d\.\d+,\(\(\(\(N3243:\d\.\d+,\(\(N3234:\d\.\d+,\(N500:" />
        </assert_contents>
      </output>
    </test>
    <test>
      <param name="input_alignment" value="sample_aln2.fasta" ftype="fasta" />
      <param name="advanced_options_selector" value="true" />
      <param name="log" value="True" />
      <output name="output_log">
        <assert_contents>
          <has_text text="Amino acid distances: BLOSUM45 Joins: balanced Support: SH-like 1000" />
        </assert_contents>
      </output>
    </test>
  </tests>

  <help>
  <![CDATA[
    FastTree infers approximately-maximum-likelihood phylogenetic trees from
    alignments of nucleotide or protein sequences. For more information see
    the `FastTree`_ website.

    .. _FastTree: http://www.microbesonline.org/fasttree
  ]]>
  </help>

  <citations>
    <citation type="doi">10.1093/molbev/msp077</citation>
    <citation type="doi">10.1371/journal.pone.0009490</citation>
  </citations>
</tool>