view autogenJB2.xml @ 46:4181e97c70a7 draft

planemo upload for repository https://github.com/usegalaxy-eu/temporary-tools/tree/master/jbrowse2 commit 3a43e9e0ffce0966101203102e769d1ced28618a
author fubar
date Mon, 04 Mar 2024 09:47:19 +0000
parents e1a3d3221ed3
children
line wrap: on
line source

 <tool id="autogenjb2" name="autogenjb2" version="2.10.2.0" profile="22.05">
    <description>Track collection to JBrowse2</description>
    <macros>
        <import>macros.xml</import>
    </macros>
    <expand macro="edamInc"/>
    <xrefs>
        <xref type="bio.tools">jbrowse2</xref>
    </xrefs>
    <expand macro="requirements"/>
    <version_command>python '${__tool_directory__}/autogenJB2.py' --version</version_command>
    <command detect_errors="aggressive"><![CDATA[
export JBROWSE2_PATH=\$(dirname \$(which jbrowse))/../opt/jbrowse2  &&
python '$__tool_directory__/autogenJB2.py'
#for $key in $autoCollection.keys():
    #if $autoCollection[$key].is_collection:
        #set subCol=$autoCollection[$key]
        #set pafs=[($subCol[x],$subcol[x].ext,x) for x in $subCol.keys() if $subCol[x].ext == 'paf']
        #if len($pafs) > 0:
             --pafmeta '$pafs[0]'
            #set refs = [($pafs[0][2],$subCol[x],x) for x in $subCol.keys() if $subCol[x].ext == 'fasta']
            #for $ref in $refs:
             --pafreferencemeta '$ref'
            #end for
        #end if
    #else if $autoCollection[$key].ext == 'fasta':
      --referencemeta '$autoCollection[$key],$autoCollection[$key].ext,$key'
    #else if $autoCollection[$key].ext in ['bed', 'bigwig', 'cool', 'gff', 'gff3', 'hic', 'maf', 'mcool', 'scool', 'vcf']
      --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key'
    #else if $autoCollection[$key].ext in ['bam',]
      --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key,$autoCollection[$key].metadata.bam_index'
     #else if $autoCollection[$key].ext in ['cram',]
      --trackmeta '$autoCollection[$key],$autoCollection[$key].ext,$key,$autoCollection[$key].metadata.cram_index'
    #end if
#end for
--outdir '$output.files_path'
--jbrowse2path \${JBROWSE2_PATH}
--sessName "Autogen JBrowse" &&

  cp '$output.files_path/index.html' '$output'
## Ugly testing hack since I cannot get <extra_files> to test the files I want to test. Hmph.
#if str($uglyTestingHack) == "enabled":
 &&   cp '$output.files_path/config.json' '$output'
#end if
  ]]></command>
    <inputs>
        <param
                    label="Collection of files to become tracks - they must have short, informative names"
                    name="autoCollection"
                    type="data_collection">
        </param>
   <param type="hidden" name="uglyTestingHack" value="" />
    </inputs>
    <outputs>
        <data format="html" name="output" label="AutoJBrowse2"/>
    </outputs>
<tests>
   <test>
      <param name="uglyTestingHack" value="enabled" />
      <param name="autoCollection">
        <collection type="list">
          <element name="Merlin" value="merlin.fa" ftype="fasta"/>
          <element name="test-6.bed" value="bed/test-6.bed" ftype="bed"/>
        </collection>
      </param>
      <output name="output">
            <assert_contents>
                <has_text text='"name": "Merlin",'/>
                <has_text text='"name": "test-6.bed",'/>
                <has_text text='"uri": "Merlin.fa.gz.fai"'/>
            </assert_contents>
      </output>
    </test>
</tests>
    <help><![CDATA[

Autogenerated JBrowse2
======================

Given a collection of datatypes suited for making JB2 tracks, this tool will create a working JBrowse2 configuration.
A paf track requires a nested collection with the paf file and all the genomes used in creating it.


Use and local viewing
=====================


A JBrowse2 history item can be opened by viewing it (the "eye" icon).

The same browser data and setup can also be downloaded as a compressed zip archive by clicking the download ("floppy disk") icon in the history.
This can be shared and viewed without Galaxy.

A replacement application to serve the browser is required without Galaxy. A local python web server can be started using a script included in each archive,
assuming that Python3 is already working on your desktop - if not you will have to install it first. Unzip the archive (*unzip [filename].zip*) and change
directory to the first level in that zip archive. It contains a file named *jb2_webserver.py*

With python3 installed,

*python3 jb2_webserver.py*

will serve the unarchived JBrowse2 configuration from the same directory as the python script automatically. If a new browser window does not open,
but the script appears to be running, try pointing your web browser to the default of *localhost:8080*

Overview
--------

JBrowse is a fast, embeddable genome browser built completely with
JavaScript and HTML5.

The JBrowse-in-Galaxy (JiG) tool was written to help build complex
JBrowse installations straight from Galaxy. It allows you to build up a JBrowse instance without worrying
about how to run the command line tools to format your data, and which
options need to be supplied and where.

The JBrowse-in-Galaxy tool has been rejected by `a Galaxy IUC
<https://github.com/galaxyproject/tools-iuc/issues>`__, reviewer.

Options
-------

**Reference or Assembly**

Choose either a built-in or select one from your history.

Track coordinates and contig names *must* match this reference precisely
or they will not display.

**Track Groups** represent a set of tracks in a single category.

Annotation Tracks
-----------------

GFF3/BED
~~~~~~~~

Standard feature tracks. They usually highlight genes, mRNAs and other features of interest along a genomic region.

When these contain tens of millions of features, such as repeat regions from a VGP assembly, displaying one at a time leads
to extremely slow loading times when a large region is in view, unless the "LinearPileupDisplay" display option is
selected for that track in the styling options section. The default is LinearBasicDisplay, which shows all details and works
well for relatively sparse bed files. A better option is to make a bigwig track using a set of windows based on the
lengths of each assembly or reference contig.

BAM Pileups
~~~~~~~~~~~

We support BAM files and can automatically generate SNP tracks based on
that bam data.


BlastXML
~~~~~~~~

JiG now supports both blastn and blastp datasets. JiG internally uses a
blastXML to gapped GFF3 tool to convert your blastxml datasets into a
format amenable to visualization in JBrowse. This tool is also
available separately from the IUC on the toolshed.

**Minimum Gap Size** reflects how long a gap must be before it becomes a
real gap in the processed gff3 file. In the picture above, various sizes
of gaps can be seen. If the minimum gap size was set much higher, say
100nt, many of the smaller gaps would disappear, and the features on
both sides would be merged into one, longer feature. This setting is
inversely proportional to runtime and output file size. *Do not set this
to a low value for large datasets*. By setting this number lower, you
will have extremely large outputs and extremely long runtimes. The
default was configured based off of the author's experience, but the
author only works on small viruses. It is *strongly* recommended that
you filter your blast results before display, e.g. picking out the top
10 hits or so.

**Protein blast search** option merely informs underlying tools that
they should adjust feature locations by 3x.


@ATTRIBUTION@
]]></help>
    <expand macro="citations"/>
</tool>