view eden_macros.xml @ 10:d495c233148c draft

Uploaded
author bgruening
date Thu, 15 May 2014 17:22:44 -0400
parents 5be8af51780d
children
line wrap: on
line source

<macros>
    <macro name="input_smooth_conditional">
        <conditional name="smooth_opts">
            <param name="smooth_opts_selector" type="select" label="Adds rescaled features from nearest neighbors (--smooth)">
              <option value="non_smooth" selected="True">Disable smooth</option>
              <option value="smooth">Enable smooth</option>
            </param>
            <when value="non_smooth" />
            <when value="smooth">

                <param name="smoother_param" type="float" value="0.95" label="Scaling features from neighbors"
                    help="Features from neighbors are scaled by the kernel value to the power value assigned to this switch.">
                    <validator type="in_range" min="0.0" />
                </param>

                <param name="no_minhash_cache" type="boolean" label="Deactivate minhash cache" truevalue="--no_minhash_cache" falsevalue="" checked="false" />
                <param name="no_neighborhood_cache" type="boolean" label="Deactivate neighborhood cache" truevalue="-no_neighborhood_cache" falsevalue="" checked="false" />
                <param name="shared_neighborhood" type="boolean" label="Activate shared neighborhood" truevalue="--shared_neighborhood" falsevalue="" checked="false" />

                <param name="num_hash_functions" type="integer" value="400" label="Number of hash functions" help="">
                    <validator type="in_range" min="1" />
                </param>
                <param name="num_repeat_hash_functions" type="integer" value="10" label="Number of repeats for each hash functions" help="">
                    <validator type="in_range" min="1" />
                </param>
                <param name="max_size_bin" type="float" value="0.3" label="Maximum size of one bin" 
                    help="Expressed as the maximum fraction of the datset size. When a bin contains references to more instances than this quantity, the bin is erased. The ratio is that this featrue is common to too many instances and it is therefore not informative. Morover the runtimes become non sub-linear if a significant fraction of the dataset size has to be checked.">
                    <validator type="in_range" min="0.0" />
                </param>
                <param name="eccess_neighbour_size_factor" type="float" value="5.0" label="Access neighborhood size factor" 
                    help="Expressed as a multiplicative factor w.r.t. the neighborhood size required. It means that the approximate neighborhood query stops at the X most frequent instances, where X = eccess_neighbor_size_factor * neighborhood size.">
                    <validator type="in_range" min="0.0" />
                </param>
                <param name="num_nearest_neighbours" type="integer" value="10" label="Number of nearest neighbors" help="">
                    <validator type="in_range" min="1" />
                </param>

                <param name="row_index" type="text" size="30" label="Row indieces of your input file that should be converted" 
                    help="Specify a subset of your dataset by providing the row indieces that should be taken into account.">
                    <sanitizer>
                        <valid initial="string.digits">
                            <add value="," />
                            <add value="-" />
                            <add value=" " />
                        </valid>
                    </sanitizer>
                    <validator type="empty_field" message="You need to specify row indieces"/>
                </param>
                <param name="col_index" type="text" size="30" label="Column indieces of your input file that should be converted" 
                    help="Specify a subset of your dataset by providing the column indieces that should be taken into account.">
                    <sanitizer>
                        <valid initial="string.digits">
                            <add value="," />
                            <add value="-" />
                            <add value=" " />
                        </valid>
                    </sanitizer>
                    <validator type="empty_field" message="You need to specify column indieces"/>
                </param>
            </when>
        </conditional>
    </macro>

    <macro name="normalization_kernel_hash_radius_dist_vertex">
        <param name="no_normalization" type="boolean" label="Skip normalization" truevalue="--no_normalization" falsevalue="" checked="false" />
        <param name="min_kernel" type="boolean" label="Use min kernel" truevalue="--min_kernel" falsevalue="" checked="false" />

        <param name="hash_bit_size" type="integer" value="15" label="Bit size of the used hashing function" help="">
            <validator type="in_range" min="1" />
        </param>
        <param name="radius" type="integer" value="2" label="Radius that defines a neighborhood" help="">
            <validator type="in_range" min="1" />
        </param>
        <param name="distance" type="integer" value="5" label="Distance that defines a neighborhood" help="">
            <validator type="in_range" min="1" />
        </param>
        <param name="vertex_degree_threshold" type="integer" value="7" label="Vertex degree threshold" help="">
            <validator type="in_range" min="1" />
        </param>
    </macro>

    <macro name="graph_types">
        <param name="graph_type" type="select" display="radio" label="Type of Graph">
            <option value="DIRECTED">directed</option>
            <option value="UNDIRECTED">undirected</option>
        </param>
    </macro>

    <xml name="requirements">
        <requirements>
            <requirement type="package" version="1.3.5">eden</requirement>
            <yield />
        </requirements>
        <!--<version_command>EDeN -version</version_command>-->
    </xml>

    <macro name="kernel_type_options">
        <conditional name="kernel_type_opts">
            <param name="kernel_type_opts_selector" type="select" label="Type of the Kernel">
                <option value="NSPDK">NSPDK</option>
                <option value="WDK">WDK</option>
                <option value="PBK">PBK</option>
                <option value="USPK">USPK</option>
                <option value="DDK">DDK</option>
                <option value="NSDDK">ANSDDK</option>
                <option value="SK">SK</option>
                <option value="STRING">STRING</option>
            </param>
            <when value="NSPDK" />
            <when value="WDK" />
            <when value="PBK" />
            <when value="USPK" />
            <when value="STRING" />
            <when value="SK">
                <param name="radius_two" type="integer" value="2" label="Radius Two" help="">
                    <validator type="in_range" min="1" />
                </param>
                <param name="tree_lambda" type="float" value="1.2" label="Tree lambda" help="">
                    <validator type="in_range" min="0.0" />
                </param>
            </when>
            <when value="DDK">
                <param name="radius_two" type="integer" value="2" label="Radius Two" help="">
                    <validator type="in_range" min="1" />
                </param>
                <param name="tree_lambda" type="float" value="1.2" label="Tree lambda" help="">
                    <validator type="in_range" min="0.0" />
                </param>
            </when>
            <when value="NSDDK">
                <param name="radius_two" type="integer" value="2" label="Radius Two" help="">
                    <validator type="in_range" min="1" />
                </param>
                <param name="tree_lambda" type="float" value="1.2" label="Tree lambda" help="">
                    <validator type="in_range" min="0.0" />
                </param>
            </when>
        </conditional>
    </macro>

    <token name="@normalization_kernel_hash_radius_dist_vertex@">
        $no_normalization
        $min_kernel

        --hash_bit_size $hash_bit_size
        --radius $radius
        --distance $distance
        --vertex_degree_threshold $vertex_degree_threshold
    </token>

    <token name="@input_smooth_conditional@">
        #if $smooth_opts.smooth_opts_selector == 'smooth':
            --smooth
            --smooth_param $smooth_opts.smoother_param

            --row_index_file_name $row_index_file_name
            --col_index_file_name $col_index_file_name
            --num_hash_functions $smooth_opts.num_hash_functions
            --num_repeat_hash_functions $smooth_opts.num_repeat_hash_functions
            --max_size_bin $smooth_opts.max_size_bin
            --eccess_neighbour_size_factor $smooth_opts.eccess_neighbour_size_factor
            --num_nearest_neighbours $smooth_opts.num_nearest_neighbours
            $smooth_opts.shared_neighborhood
            $smooth_opts.no_neighborhood_cache
            $smooth_opts.no_minhash_cache
        #end if
    </token>

    <token name="@kernel_type_options@">
        #if $kernel_type_opts.kernel_type_opts_selector in ['DDK','NSDDK','SK']:
            --tree_lambda $kernel_type_opts.tree_lambda
            --radius_two $kernel_type_opts.radius_two
        #end if
    </token>

    <token name="@references@">
This tool is part of the EDeN (Explicit Decomposition with Neighborhoods) suite, developed by Fabrizio Costa.
    </token>




</macros>