Mercurial > repos > iuc > idr_download_by_ids
diff idr_download_by_ids.xml @ 0:57aa9597cd31 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/idr_download commit 253efabdfea3a1fecc4c0f2c54c0e97a7d7960ab"
author | iuc |
---|---|
date | Sat, 08 Feb 2020 13:24:39 -0500 |
parents | |
children | 9340cbc7796c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idr_download_by_ids.xml Sat Feb 08 13:24:39 2020 -0500 @@ -0,0 +1,257 @@ +<?xml version="1.0"?> +<tool id="idr_download_by_ids" name="IDR Download" version="0.9" profile="18.09"> + <description>- download images from the Image Data Resource using image IDs</description> + <macros> + <xml name="region_spec" token_pos="upper-left corner"> + <param name="x_coord" type="integer" value="0" min="0" + label="x-coordinate of region @POS@" /> + <param name="y_coord" type="integer" value="0" min="0" + label="y-coordinate of region @POS@" /> + <param name="width" type="integer" value="0" min="0" + label="Region width" + help="Set to zero to extend the rectangle maximally along the x-axis of the image" /> + <param name="height" type="integer" value="0" min="0" + label="Region height" + help="Set to zero to extend the rectangle maximally along the y-axis of the image" /> + </xml> + </macros> + <requirements> + <requirement type="package" version="5.6.0">python-omero</requirement> + <requirement type="package" version="3.1.3">matplotlib</requirement> + </requirements> + <command detect_errors="exit_code"><![CDATA[ + mkdir downloads && cd downloads && + #if str($image_ids.source) == 'link': + python -c 'print("${image_ids.id_spec}".replace(",", "|").split("?show=")[-1].replace("|", "\n"))' + ## https://idr.openmicroscopy.org/webclient/?show=image-3426274|image-3426275|image-3426276|image-3426277 + #else: + cat '${image_ids.id_spec}' + #end if + | python '$__tool_directory__/idr_download_by_ids.py' + #set $channel = str($channel).strip() + #if $channel: + -c '$channel' + #end if + -f $frame + -z $z_section + #if str($clip_image.select): + ${clip_image.select} ${clip_image.x_coord} ${clip_image.y_coord} ${clip_image.width} ${clip_image.height} + #end if + $skip_failed + + 2> >(tee -a $out_log >&2) + ]]></command> +<inputs> + <conditional name="image_ids"> + <param name="source" type="select" label="How would you like to specify the IDs of images to download?"> + <option value="link">As text (comma-separated list of IDs or a valid IDR link)</option> + <option value="dataset">As a dataset (one image ID per line)</option> + </param> + <when value="link"> + <param name="id_spec" type="text" + label="Image IDs to download" + help="You can enter a single image-id, or a comma (or '|')-separated list of IDs. Alternatively, you can paste here a link to an image selection obtained through the IDR webclient."> + <sanitizer> + <valid><add value="|" /></valid> + </sanitizer> + </param> + </when> + <when value="dataset"> + <param name="id_spec" type="data" format="txt" + label="Select a dataset with image IDs (one per line)" /> + </when> + </conditional> + <param name="channel" type="text" + label="Name of the channel to download" + help="For all image IDs only the specified channel will be downloaded. If left empty, the first channel (whatever this is) will be downloaded by default." /> + <param name="z_section" type="integer" value="0" min="0" + label="z-plane of images to download" /> + <param name="frame" type="integer" value="0" min="0" + label="Image frame to download" /> + <conditional name="clip_image"> + <param name="select" type="select" + label="Limit the download to a selected region of the image?"> + <option value="">No, download the entire image plane</option> + <option value="--rectangle">Specify a region using its upper-left corner</option> + <option value="--center">Specify a width x height region around a central point</option> + </param> + <when value="" /> + <when value="--rectangle"> + <expand macro="region_spec" /> + </when> + <when value="--center"> + <expand macro="region_spec" pos="center" /> + </when> + </conditional> + <param name="skip_failed" type="boolean" checked="false" truevalue="--skip-failed" falsevalue="" + label="Skip failed retrievals?" + help="By default the tool will fail with an error on the first non-retrievable image ID. Here, you can choose to skip non-retrievable image IDs and continue downloading the available ones instead. The error log will contain warnings about failed IDs in this case." /> + </inputs> + <outputs> + <data name="out_log" format="txt" label="${tool.name} error log" /> + <collection name="output_file" type="list"> + <discover_datasets pattern="__name_and_ext__" directory="downloads" /> + </collection> + </outputs> + <tests> + <test> + <param name="source" value="dataset" /> + <param name="id_spec" value="ids.txt" /> + <param name="channel" value="615.0" /> + <conditional name="clip_image"> + <param name="select" value="--rectangle" /> + <param name="x_coord" value="3" /> + <param name="y_coord" value="3" /> + <param name="width" value="5" /> + <param name="height" value="5" /> + </conditional> + <param name="frame" value="2" /> + <output_collection name="output_file" type="list"> + <element name="Centrin_PCNT_Cep215_20110506_Fri-1545_0_SIR_PRJ_1884807_3_3_5_5" file="test1.tiff"/> + </output_collection> + </test> + <test> + <param name="source" value="link" /> + <param name="id_spec" value="1884807" /> + <param name="channel" value="615.0" /> + <conditional name="clip_image"> + <param name="select" value="--rectangle" /> + <param name="x_coord" value="3" /> + <param name="y_coord" value="3" /> + <param name="width" value="5" /> + <param name="height" value="5" /> + </conditional> + <param name="frame" value="2" /> + <output_collection name="output_file" type="list"> + <element name="Centrin_PCNT_Cep215_20110506_Fri-1545_0_SIR_PRJ_1884807_3_3_5_5" file="test1.tiff"/> + </output_collection> + </test> + <test> + <param name="source" value="link" /> + <param name="id_spec" value="1884807" /> + <param name="channel" value="615.0" /> + <conditional name="clip_image"> + <param name="select" value="--center" /> + <param name="x_coord" value="5" /> + <param name="y_coord" value="5" /> + <param name="width" value="5" /> + <param name="height" value="5" /> + </conditional> + <param name="frame" value="2" /> + <output_collection name="output_file" type="list"> + <element name="Centrin_PCNT_Cep215_20110506_Fri-1545_0_SIR_PRJ_1884807_3_3_5_5" file="test1.tiff"/> + </output_collection> + </test> + <test> + <param name="source" value="link" /> + <param name="id_spec" value="https://idr.openmicroscopy.org/webclient/?show=image-9036708|image-9036710|image-9036711" /> + <param name="channel" value="Spo20(51-91)" /> + <param name="z_section" value="4" /> + <conditional name="clip_image"> + <param name="select" value="" /> + </conditional> + <param name="frame" value="20" /> + <output_collection name="output_file" type="list" count="3"> + <element name="171101_LeadingEdgeDeletionPSMMovies01_15_R3D_9036711_0_0_1024_1024"> + <assert_contents> + <has_size value="4194510" /> + </assert_contents> + </element> + </output_collection> + <output name="out_log"> + <assert_contents> + <has_text text="(ID: 9036710): Specified image plane (4) is out of bounds"/> + <has_n_lines n="1"/> + </assert_contents> + </output> + </test> + <test expect_failure="true"> + <!-- Test behavior with non-existing image-ID 9036708999 --> + <param name="source" value="link" /> + <param name="id_spec" value="https://idr.openmicroscopy.org/webclient/?show=image-9036708999|image-9036710|image-9036711" /> + <param name="channel" value="Spo20(51-91)" /> + <param name="z_section" value="4" /> + <conditional name="clip_image"> + <param name="select" value="" /> + </conditional> + <param name="frame" value="20" /> + </test> + <test> + <!-- Repeat test with non-existing image-ID 9036708999, + but use skip-failed option --> + <param name="source" value="link" /> + <param name="id_spec" value="https://idr.openmicroscopy.org/webclient/?show=image-9036708999|image-9036710|image-9036711" /> + <param name="channel" value="Spo20(51-91)" /> + <param name="z_section" value="4" /> + <conditional name="clip_image"> + <param name="select" value="" /> + </conditional> + <param name="frame" value="20" /> + <param name="skip_failed" value="true" /> + <output_collection name="output_file" type="list" count="2"> + <element name="171101_LeadingEdgeDeletionPSMMovies01_15_R3D_9036711_0_0_1024_1024"> + <assert_contents> + <has_size value="4194510" /> + </assert_contents> + </element> + </output_collection> + <output name="out_log"> + <assert_contents> + <has_text text="9036708999: Unable to find an image with this ID in the database. Skipping download!" /> + <has_text text="(ID: 9036710): Specified image plane (4) is out of bounds" /> + <has_n_lines n="2"/> + </assert_contents> + </output> + </test> + </tests> + <help><![CDATA[ +Download image data from the IDR_ (Image Data Resource) - a public repository +of reference image datasets from published scientific studies. + +.. _IDR: https://idr.openmicroscopy.org/about/ + +----- + +.. class:: infomark + +**Input** + +A set of image IDs as can be obtained from the IDR webclient_ like this: + +1. select the images you want to download +2. click on the 'Link' button on the top right of the page and copy the provided + URL +3. paste the URL into the input field of this tool, for example: :: + + https://idr.openmicroscopy.org/webclient/?show=image-9036708|image-9036710|image-9036711 + +Alternatively, you can simply provide a list of known image IDs in the text +input field (comma or '|'-separated ), or as an input file (each ID on a +separate line). + +Most images in the IDR have more than two dimensions. Thus, there are +parameters available which allow you to select a particular recording channel, +z-plane or time frame to download. +You can also select a region which will be used to crop the images, rather +than downloading the entire file. + +.. _webclient: https://idr.openmicroscopy.org/ + + +----- + +.. class:: infomark + +**Output** + +Downloaded images will be saved in TIFF format. If you selected multiple image +IDs to download, these will be saved as elements of a collection. + +The accompanying error log dataset may hold valuable information about requests +that could not be fulfilled exactly as specified, or that were found to be +ambiguous. + ]]></help> + <citations> + <citation type="doi">10.1038/nmeth.4326</citation> + </citations> +</tool>