view export_to_spreadsheet.xml @ 0:10257d6d545b draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 6d73056a625002d0275b5a9a90a9fae329ce47f1"
author bgruening
date Thu, 26 Mar 2020 16:38:48 -0400
parents
children c956182d4e2c
line wrap: on
line source

<tool id="cp_export_to_spreadsheet" name="ExportToSpreadsheet" version="@CP_VERSION@">
    <description>exports measurements into one or more files</description>
    <macros>
        <import>macros.xml</import>
    </macros>

    <expand macro="py_requirements"/>
    <expand macro="cmd_modules" />

    <configfiles>
        <inputs name="inputs"/>
        <configfile name="script_file">
import json
import sys
import os

FOURSPACES=@SPACES@

input_json_path = sys.argv[1]
input_pipeline= sys.argv[2]

params = json.load(open(input_json_path, "r"))


def write_etss():
    _str = "\nExportToSpreadsheet:[module_num:%d|svn_version:\\'Unknown\\'|variable_revision_number:12|show_window:True|notes:\\x5B\\x5D|batch_state:array(\\x5B\\x5D, dtype=uint8)|enabled:True|wants_pause:False]\n" % new_count
    _str += FOURSPACES + "Select the column delimiter:%s\n" % params["delimiter"]
    _str += FOURSPACES + "Add image metadata columns to your object data file?:%s\n" % params["add_metadata_column_to_object"]

    measurement = params["con_measurement_export"]

    _str += FOURSPACES + "Select the measurements to export:%s\n" % measurement['export_measurement']
    _str += FOURSPACES + "Calculate the per-image mean values for object measurements?:%s\n" % params['calc_mean']
    _str += FOURSPACES + "Calculate the per-image median values for object measurements?:%s\n" % params['calc_median']
    _str += FOURSPACES + "Calculate the per-image standard deviation values for object measurements?:%s\n" % params['calc_standard_deviation']
    _str += FOURSPACES + "Output file location:%s\\x7C\n" % params['output_file_location']

    create_gene = params["con_create_gene_pattern"]["create_gene_pattern"]

    if create_gene == "No":
        _str += FOURSPACES + "Create a GenePattern GCT file?:%s\n" % create_gene
        _str += FOURSPACES + "Select source of sample row name:Metadata\n"
        _str += FOURSPACES + "Select the image to use as the identifier:None\n"
        _str += FOURSPACES + "Select the metadata to use as the identifier:None\n"
    else:
        _str += FOURSPACES + "Create a GenePattern GCT file?:%s\n" % create_gene
        _str += FOURSPACES + "Select the image to use as the identifier:None\n"
        _str += FOURSPACES + "Select the metadata to use as the identifier:None\n"

    export_all_measurements = params["con_export_all_measurements"]["export_all_measurements"]

    if export_all_measurements == "Yes":
        _str += FOURSPACES + "Export all measurement types?:%s\n" % export_all_measurements

    if 'select_measurements' in params['con_measurement_export']:
        _str += FOURSPACES + "Press button to select measurements:%s\n" % params['con_measurement_export']['select_measurements']
    else:
        _str += FOURSPACES + "Press button to select measurements:\n"

    _str += FOURSPACES + "Representation of Nan/Inf:%s\n" % params["represent_nan"]
    _str += FOURSPACES + "Add a prefix to file names?:%s\n" % params["con_prefix"]["add_prefix"]

    if "filename_prefix" in params["con_prefix"]:
        _str += FOURSPACES + "Filename prefix:%s\n" % params["con_prefix"]["filename_prefix"]
    else:
        _str += FOURSPACES + "Filename prefix:MyPrefix_\n"

    _str += FOURSPACES + "Overwrite existing files without warning?:%s\n" % params["overwrite_existing_file"]

    if export_all_measurements == "Yes":
        _str += FOURSPACES + "Data to export:Do not use\n"
        _str += FOURSPACES + "Combine these object measurements with those of the previous object?:No\n"
        _str += FOURSPACES + "File name:DATA.csv\n"
        _str += FOURSPACES + "Use the object name for the file name?:Yes\n"
    else:
        _str += FOURSPACES + "Data to export:%s\n" % params["con_export_all_measurements"]["data_to_export"]

    return _str

with open(input_pipeline) as fin:
    lines = fin.readlines()

    k, v = lines[4].strip().split(':')

    module_count = int(v)
    new_count = module_count + 1
    lines[4] = k + ":%d\n" % new_count
    with open("output", "w") as f:
        f.writelines(lines)
        f.write(write_etss())

f.close()
        </configfile>
    </configfiles>

    <inputs>
        <expand macro="input_pipeline_macro" />
        <param name="delimiter" type="select" label="Select the column delimiter">
            <option value="Comma (&quot;,&quot;)">Comma (",")</option>
            <option value="Tab">Tab</option>
            <sanitizer sanitize="false"/>
        </param>
        <param name="output_file_location" type="select" label="Output file location">
            <option value="Default Output Folder"/>
        </param>
        <conditional name="con_prefix">
            <param name="add_prefix" type="select" display="radio" label="Add a prefix to file names?">
                <option value="Yes">Yes</option>
                <option value="No">No</option>
            </param>
            <when value="Yes">
                <param name="filename_prefix" type="text" label="Filename prefix"/>
            </when>
            <when value="No" />
        </conditional>
        <param name="overwrite_existing_file" display="radio" type="select" label="Overwrite existing files without warning?">
            <option value="Yes">Yes</option>
            <option value="No">No</option>
        </param>
        <param name="add_metadata_column_to_object" display="radio" type="select" label="Add image metadata columns to  your object data file?">
            <option value="Yes">Yes</option>
            <option value="No">No</option>
        </param>       
        <param name="represent_nan" type="select" label="Representation of Nan/Inf">
            <option value="NaN">NaN</option>
            <option value="Null">Null</option>
        </param>
        <conditional name="con_measurement_export">
            <param name="export_measurement" type="select" display="radio" label="Select the measurements to export">
                <option value="Yes">Yes</option>
                <option value="No">No</option>
            </param>
            <when value="Yes">
                <param name="select_measurement" type="text" label="Select measurements"/>
            </when>
            <when value="No" />
        </conditional>
        <param name="calc_mean" type="select" display="radio" label="Calculate the per-image mean values for object measurments">
            <option value="Yes">Yes</option>
            <option value="No">No</option>
        </param>
        <param name="calc_median" type="select" display="radio" label="Calculate the per-image median values for object measurments">
            <option value="Yes">Yes</option>
            <option value="No">No</option>
        </param>  
        <param name="calc_standard_deviation" type="select" display="radio" label="Calculate the per-image standard deviation values for object measurments">
            <option value="Yes">Yes</option>
            <option value="No">No</option>
        </param>
        <conditional name="con_create_gene_pattern">
            <param name="create_gene_pattern" type="select" display="radio" label="Create a GenePattern GCT file?">
                <option value="Yes">Yes</option>
                <option value="No">No</option>
            </param>
            <when value="Yes">
                <conditional name="con_source_sample_row">
                    <param name="select_source_sample_row_name" type="select" label="Select source of sample row name">
                        <option value="Metadata">Metadata</option>
                        <option value="Image filename">Image filename</option>
                    </param>
                    <when value="Metadata">
                        <param name="metadata_cat" type="select" label="Select the metadata to use as the indentifier">
                            <option value="AreaOccupied">AreaOccupied</option>
                        </param>
                    </when>
                    <when value="Image filename">
                        <param name="image_filename_cat" type="select" label="Select the image to use as the indentifier">
                            <option value="None">None</option>
                        </param>
                    </when>
                </conditional>
            </when>
            <when value="No" />
        </conditional>
        <conditional name="con_export_all_measurements">
            <param name="export_all_measurements" type="select" display="radio" label="Export all measuremnt types?">
                <option value="Yes">Yes</option>
                <option value="No">No</option>
            </param>
            <when value="No">
                <repeat name="r_data_to_export" title="Add another data set">
                    <param name="data_to_export" type="select" label="Data to export">
                        <option value="Image">Image</option>
                        <option value="Experiment">Experiement</option>
                        <option value="Object relationship">Object relationship</option>
                    </param>
                    <param name="use_as_filename" type="select" display="radio" label="Use the object name for the file name?">
                        <option value="Yes">Yes</option>
                        <option value="No">No</option>
                    </param>
                </repeat>
            </when>   
            <when value="Yes" />
        </conditional>
    </inputs>

    <outputs>
        <expand macro="output_pipeline_macro" />
    </outputs>

    <tests>
        <test>
            <expand macro="test_input_pipeline_param" />
            <param name="delimiter" value="Tab" />
            <param name="output_file_location" value="Default Output Folder" />
            <conditional name="con_prefix">
                <param name="add_prefix" value="No"/>
            </conditional>
            <param name="overwrite_existing_file" value="Yes" />
            <param name="add_metadata_column_to_object" value="Yes" />
            <param name="represent_nan" value="NaN" />
            <conditional name="con_measurement_export">
                <param name="export_measurement" value="No" />
            </conditional>
            <param name="calc_mean" value="Yes" />
            <param name="calc_median" value="Yes" />
            <param name="calc_standard_deviation" value="Yes" />
            <conditional name="con_create_gene_pattern">
                <param name="create_gene_pattern" value="No" />
            </conditional>
            <conditional name="con_export_all_measurements" >
                <param name="export_all_measurements" value="Yes" />
            </conditional>
            <expand macro="test_out_file" file="export_to_spreadsheet.txt" />
        </test>
    </tests>

    <expand macro="help" module="ExportToSpreadsheet" />
    <expand macro="citations" />

</tool>