Mercurial > repos > perssond > ashlar
diff ashlar.xml @ 0:b3054f3d42b2 draft
"planemo upload for repository https://github.com/ohsu-comp-bio/ashlar commit 27f0c9be58e9e5aecc69067d0e60b5cb945de4b2-dirty"
author | perssond |
---|---|
date | Fri, 12 Mar 2021 00:14:49 +0000 |
parents | |
children | f183d9de4622 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ashlar.xml Fri Mar 12 00:14:49 2021 +0000 @@ -0,0 +1,180 @@ +<tool id="ashlar" name="ASHLAR" version="@VERSION@.6" profile="17.09"> + <description>Alignment by Simultaneous Harmonization of Layer/Adjacency Registration</description> + <macros> + <import>macros.xml</import> + </macros> + + <expand macro="requirements"/> + @VERSION_CMD@ + + <command detect_errors="exit_code"><![CDATA[ + + #def clean(file,type) + #set name_clean = str($file.element_identifier).replace('.ome.tiff','').replace('.tiff','').replace('.tiff.','') + + #if $type == "raw" + #set file_clean = $name_clean + ".ome.tiff" + #elif $type == "ffp" + #set file_clean = $name_clean + "_ffp.ome.tiff" + #elif $type == "dfp" + #set file_clean = $name_clean + "_dfp.ome.tiff" + #end if + + #return $file_clean + #end def + + ## Link the illumination files to appropriate file extension + #for $dfp in $ldfp: + ln -s "$dfp" "$clean($dfp,"dfp")" && + #end for + #for $ffp in $lffp: + ln -s "$ffp" "$clean($ffp,"ffp")" && + #end for + + @CMD_BEGIN@ + + ## Supply the raw images + #for $raw in $lraw: + "$raw" + #end for + + ## Additional arguments + -m $max_shift + + #if $flip_x + --flip-x + #end if + + #if $flip_y + --flip-y + #end if + + -c $adv.align_channel + + #if $adv.filter_sigma + --filter-sigma $adv.filter_sigma + #end if + + #if $adv.tile_size + --tile-size $adv.tile_size + #end if + + --ffp + #for $ffp in $lffp: + "$clean($ffp,"ffp")" + #end for + --dfp + #for $dfp in $ldfp: + "$clean($dfp,"dfp")" + #end for + --pyramid + -f registered.ome.tif; + + #if $upgrade.decide == "do_upgrade" + python ${__tool_directory__}/pyramid_upgrade.py + registered.ome.tif + + #if $upgrade.markers_file + -n `python "$get_markers" "${upgrade.markers_file}"` + #end if + #end if + ]]></command> + + <configfiles> + <configfile name="get_markers"> +import pandas as pd +import sys + +marker_file = sys.argv[1] +df = pd.read_csv(marker_file) +print(' '.join(df['marker_name'].array)) + </configfile> + </configfiles> + + + + <inputs> + <param name="lraw" type="data_collection" format="tiff" collection_type="list" label="Raw Images"/> + <param name="ldfp" type="data_collection" format="tiff" collection_type="list" label="Deep Field Profile Images"/> + <param name="lffp" type="data_collection" format="tiff" collection_type="list" label="Flat Field Profile Images"/> + + <param name="flip_x" type="boolean" value="false" label="Flip X-axis"/> + <param name="flip_y" type="boolean" value="false" label="Flip Y-axis"/> + + <param name="max_shift" type="integer" value="30" label="Maximum allowed per-tile corrective shift" help="In micros"/> + + <conditional name="upgrade"> + <param name="decide" type="select" label="Upgrade to BF6-Compliant OME-TIFF Pyramid"> + <option value="do_upgrade">Upgrade Pyramid</option> + <option value="dont_upgrade">Leave Legacy Pyramid</option> + </param> + <when value="do_upgrade"> + <param name="markers_file" type="data" format="csv,tabular" optional="true" label="Markers File (optional)"/> + </when> + <when value="dont_upgrade"> + </when> + </conditional> + <section name="adv" title="Advanced Options" expanded="false"> + <param name="align_channel" type="integer" value="0" label="Align Channel Number"/> + <param name="filter_sigma" type="float" optional="true" label="Sigma"/> + <param name="tile_size" type="integer" optional="true" label="Cyto Mask Channel"/> + </section> + </inputs> + + <outputs> + <data format="tiff" name="output" from_work_dir="registered.ome.tif" label="${tool.name} on ${on_string}"/> + </outputs> + <help><![CDATA[ +Ashlar python package for microscopy registration, developed by HMS (repo: https://github.com/labsyspharm/ashlar) + ashlar [-h] [-o DIR] [-c [CHANNEL]] + [--output-channels [CHANNEL [CHANNEL ...]]] [-m SHIFT] + [--filter-sigma SIGMA] [-f FORMAT] [--pyramid] + [--tile-size PIXELS] [--ffp [FILE [FILE ...]]] + [--dfp [FILE [FILE ...]]] [--plates] [-q] [--version] + [FILE [FILE ...]] + +Stitch and align one or more multi-series images + +positional arguments: + FILE an image file to be processed (one file per cycle) + +optional arguments: + -h, --help show this help message and exit + -o DIR, --output DIR write output image files to DIR; default is the + current directory + -c [CHANNEL], --align-channel [CHANNEL] + align images using channel number CHANNEL; numbering + starts at 0 + --output-channels [CHANNEL [CHANNEL ...]] + output only channels listed in CHANNELS; numbering + starts at 0 + -m SHIFT, --maximum-shift SHIFT + maximum allowed per-tile corrective shift in microns + --filter-sigma SIGMA width in pixels of Gaussian filter to apply to images + before alignment; default is 0 which disables + filtering + -f FORMAT, --filename-format FORMAT + use FORMAT to generate output filenames, with {cycle} + and {channel} as required placeholders for the cycle + and channel numbers; default is + cycle_{cycle}_channel_{channel}.tif + --pyramid write output as a single pyramidal TIFF + --tile-size PIXELS set tile width and height to PIXELS (pyramid output + only); default is 1024 + --ffp [FILE [FILE ...]] + read flat field profile image from FILES; if specified + must be one common file for all cycles or one file for + each cycle + --dfp [FILE [FILE ...]] + read dark field profile image from FILES; if specified + must be one common file for all cycles or one file for + each cycle + --plates enable plate mode for HTS data + -q, --quiet suppress progress display + --version print version + +OHSU Wrapper Repo: https://github.com/ohsu-comp-bio/ashlar +Conda Package Available From: https://anaconda.org/ohsu-comp-bio/ashlar + ]]></help> + <expand macro="citations" /> +</tool>