view gmql_operators_tests.xml @ 0:a80c93182db3 draft default tip

planemo upload for repository https://github.com/lu-brn/gmql-galaxy commit 953ee36ceda5814dc9baa03427bc0eb4ee2e93bd-dirty
author geco-team
date Tue, 26 Jun 2018 09:08:06 -0400
parents
children
line wrap: on
line source

<macros>
    <xml name="query_intro" token_name="@NAME@">
        <param name="authToken" value="guest2.gmql_user"/>
        <param name="query_name" value="@NAME@"/>
        <conditional name="query_create">
            <param name="create" value="yes"/>
        </conditional>
    </xml>
    <xml name="query_end" token_mat="@MAT@">
        <conditional name="materialize">
            <param name="materialize_result" value="@MAT@"/>
            <yield />
        </conditional>
    </xml>
    <xml name="simple_select" token_ds="@DS@">
        <repeat name="operations">
            <conditional name="operation">
                <param name="operator" value="SELECT"/>
                <conditional name="input">
                    <param name="input_type" value="i_ds"/>
                    <param name="gmql_datasets" value="rep.gmql_repository"/>
                    <param name="input_ds" value="@DS@"/>
                    <section name="region_predicates">
                        <conditional name="conditions">
                            <param name="ad_flags" value="strings"/>
                            <param name="conditions_string" value=""/>
                        </conditional>
                    </section>
                    <section name="metadata_predicates">
                        <conditional name="conditions">
                            <param name="ad_flags" value="strings"/>
                            <param name="conditions_string" value=""/>
                        </conditional>
                    </section>
                    <section name="semijoin_predicate">
                        <param name="condition" value="IN"/>
                        <param name="ds_ext" value=""/>
                    </section>
                </conditional>
                <yield />
            </conditional>
        </repeat>
    </xml>
    <xml name="composer_tests">
        <tests>
            <test>
                <!-- TEST 1: Select (Simple Metadata Condition) -->
                <expand macro="query_intro" name="test_select1"/>
                <repeat name="operations">
                    <conditional name="operation" >
                        <param name="operator" value="SELECT"/>
                        <conditional name="input">
                            <param name="input_type" value="i_ds"/>
                            <param name="gmql_datasets" value="rep.gmql_repository"/>
                            <param name="input_ds" value="Example_Dataset_1"/>
                            <section name="metadata_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="steps"/>
                                    <param name="negate" value="false"/>
                                    <param name="attribute" value="grant"/>
                                    <param name="condition" value="eq"/>
                                    <param name="value" value="Stam"/>
                                </conditional>
                            </section>
                            <section name="region_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="strings"/>
                                    <param name="conditions_string" value=""/>
                                </conditional>
                            </section>
                            <section name="semijoin_predicate">
                                <param name="condition" value="IN"/>
                                <param name="ds_ext" value=""/>
                            </section>
                        </conditional>
                    </conditional>
                </repeat>
                <param name="output_var" value="OUT"/>
                <conditional name="m_stm">
                        <param name="materialize_stm" value="false" />
                </conditional>
                <expand macro="query_end" mat="false"/>
            <output name="query" file="select1.gmql_query"/>
            </test>
            <test>
                <!-- TEST 2: Select (Multiple Metadata, Region condition) -->
                <expand macro="query_intro" name="test_select2"/>
                <repeat name="operations">
                    <conditional name="operation" >
                        <param name="operator" value="SELECT"/>
                        <conditional name="input">
                            <param name="input_type" value="i_ds"/>
                            <param name="gmql_datasets" value="rep.gmql_repository"/>
                            <param name="input_ds" value="Example_Dataset_1" />
                            <section name="region_predicates">
                                <conditional name="conditions">
                                    <param name="is_meta_value" value="false" />
                                    <param name="ad_flag" value="steps" />
                                    <param name="attribute" value="score" />
                                    <param name="value" value="3" />
                                    <param name="negate" value="false" />
                                    <param name="condition" value="gt" />
                                </conditional>
                            </section>
                            <section name="metadata_predicates" >
                                <conditional name="conditions" >
                                    <param name="ad_flag" value="steps" />
                                    <param name="attribute" value="patient_age" />
                                    <param name="value" value="64" />
                                    <param name="negate" value="false" />
                                    <param name="condition" value="eq" />
                                    <repeat name="pm_additional" >
                                        <param name="negate" value="false" />
                                        <param name="attribute" value="cell" />
                                        <param name="logCon" value="AND" />
                                        <param name="value" value="8988T" />
                                        <param name="condition" value="eq" />
                                    </repeat>
                                </conditional>
                            </section>
                            <section name="semijoin_predicate">
                                <param name="condition" value="IN"/>
                                <param name="ds_ext" value=""/>
                            </section>
                        </conditional>
                    </conditional>
                </repeat>
                <param name="output_var" value="OUT"/>
                <conditional name="m_stm">
                        <param name="materialize_stm" value="false" />
                </conditional>
                <expand macro="query_end" mat="false"/>
            <output name="query" file="select2.gmql_query"/>
            </test>
            <test>
                <!-- TEST 3: Select (TEST2 + Semijoin predicate) -->
                <expand macro="query_intro" name="test_select3"/>
                <repeat name="operations">
                    <conditional name="operation" >
                        <param name="operator" value="SELECT"/>
                        <conditional name="input">
                            <param name="input_type" value="i_ds"/>
                            <param name="gmql_datasets" value="rep.gmql_repository"/>
                            <param name="input_ds" value="Example_Dataset_1" />
                            <section name="region_predicates">
                                <conditional name="conditions">
                                    <param name="is_meta_value" value="false" />
                                    <param name="ad_flag" value="steps" />
                                    <param name="attribute" value="score" />
                                    <param name="value" value="3" />
                                    <param name="negate" value="false" />
                                    <param name="condition" value="gt" />
                                </conditional>
                            </section>
                            <section name="metadata_predicates" >
                                <conditional name="conditions" >
                                    <param name="ad_flag" value="steps" />
                                    <param name="attribute" value="patient_age" />
                                    <param name="value" value="64" />
                                    <param name="negate" value="false" />
                                    <param name="condition" value="eq" />
                                    <repeat name="pm_additional" >
                                        <param name="negate" value="false" />
                                        <param name="attribute" value="cell" />
                                        <param name="logCon" value="AND" />
                                        <param name="value" value="8988T" />
                                        <param name="condition" value="eq" />
                                    </repeat>
                                </conditional>
                            </section>
                            <section name="semijoin_predicate">
                                <param name="condition" value="IN"/>
                                <param name="ds_ext" value=""/>
                            </section>
                        </conditional>
                    </conditional>
                </repeat>
                <param name="output_var" value="OUT"/>
                <conditional name="m_stm">
                        <param name="materialize_stm" value="false" />
                </conditional>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="SELECT" />
                        <conditional name="input">
                            <param name="input_type" value="i_ds"/>
                            <param name="gmql_datasets" value="rep.gmql_repository"/>
                            <param name="input_ds" value="Example_Dataset_2" />
                            <section name="region_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="strings"/>
                                    <param name="conditions_string" value=""/>
                                </conditional>
                            </section>
                            <section name="metadata_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="strings"/>
                                    <param name="conditions_string" value=""/>
                                </conditional>
                            </section>
                            <section name="semijoin_predicate">
                                <repeat name="sj_attributes" >
                                    <param name="sj_att" value="cell" />
                                </repeat>
                                <param name="ds_ext" value="OUT" />
                            </section>
                        </conditional>
                        <param name="output_var" value="OUT2"/>
                    </conditional>
                </repeat>
                <expand macro="query_end" mat="false"/>
            <output name="query" file="select3.gmql_query"/>
            </test>
            <test>
                <!-- TEST 4: PROJECT -->
                <expand macro="query_intro" name="test_project1"/>
                <expand macro="simple_select" ds="Example_Dataset_1" />
                <param name="output_var" value="OUT"/>
                <conditional name="m_stm">
                        <param name="materialize_stm" value="false" />
                </conditional>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="PROJECT"/>
                        <param name="input_var" value="OUT"/>
                        <section name="region_att">
                            <conditional name="allbut">
                                <param name="allbut_flag" value="exclude"/>
                                <repeat name="list_exclude">
                                    <param name="attribute" value="name"/>
                                </repeat>
                                <repeat name="list_exclude">
                                    <param name="attribute" value="frame"/>
                                </repeat>
                            </conditional>
                        </section>
                        <section name="meta_att">
                            <conditional name="allbut">
                                <param name="allbut_flag" value="keep"/>
                                <repeat name="list_keep">
                                    <param name="attribute" value="cell"/>
                                </repeat>
                            </conditional>
                        </section>
                        <section name="project_new_meta"/>
                        <section name="project_new_regions">
                            <repeat name="new_region_att">
                                <param name="new_name" value="lengh"/>
                                <conditional name="gen_function">
                                    <param name="expression" value="stop - start"/>
                                    <param name="gen_type" value="arithmetic"/>
                                </conditional>
                            </repeat>
                        </section>
                        <param name="output_var" value="OUT2"/>
                    </conditional>
                </repeat>
                <output name="query" file="project1.gmql_query"/>
            </test>
            <test>
                <!-- TEST 5: EXTEND -->
                <expand macro="query_intro" name="test_extend1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="OUT"/>
                <conditional name="m_stm">
                    <param name="materialize_stm" value="false"/>
                </conditional>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="EXTEND"/>
                        <section name="new_metadata_attributes">
                            <repeat name="new_attributes">
                                <param name="new_name" value="avg_score"/>
                                <param name="function" value="AVG"/>
                                <param name="argument" value="score"/>
                            </repeat>
                            <repeat name="new_attributes">
                                <param name="new_name" value="max_p"/>
                                <param name="function" value="MAX"/>
                                <param name="argument" value="pvalue"/>
                            </repeat>
                        </section>
                        <param name="input_var" value="OUT" />
                        <param name="output_var" value="OUT2"/>
                    </conditional>
                </repeat>
                <output name="query" file="extend1.gmql_query" />
            </test>
            <test>
                <!-- TEST 6: ORDER -->
                <expand macro="query_intro" name="test_order1" />
                <expand macro="simple_select" ds="Example_Dataset_1" />
                <param name="output_var" value="OUT" />
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="ORDER"/>
                        <param name="output_var" value="OUT2"/>
                        <param name="input_var_ordering_ds" value="OUT"/>
                        <section name="ordering_attributes">
                            <repeat name="attributes">
                                <param name="attribute_name" value="score"/>
                                <param name="att_type" value="region"/>
                                <param name="order_type" value="desc"/>
                            </repeat>
                            <repeat name="attributes">
                                <param name="attribute_name" value="start"/>
                                <param name="att_type" value="region"/>
                                <param name="order_type" value="asc"/>
                            </repeat>
                            <repeat name="attributes">
                                <param name="attribute_name" value="ID"/>
                                <param name="att_type" value="metadata"/>
                                <param name="order_type" value="asc"/>
                            </repeat>
                        </section>
                        <section name="top_options">
                            <repeat name="to">
                                <param name="type" value="metadata"/>
                                <conditional name="opt">
                                    <param name="k_type" value="n"/>
                                    <param name="k" value="5"/>
                                </conditional>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <output name="query" file="order1.gmql_query" />
            </test>
            <test>
                <!-- TEST 7: GROUP -->
                <expand macro="query_intro" name="test_group1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="OUT"/>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="GROUP"/>
                        <param name="output_var" value="OUT2"/>
                        <param name="input_var" value="OUT"/>
                        <conditional name="add_grouping">
                            <param name="group_type" value="both"/>
                            <section name="regions">
                                <repeat name="group_regions_atts">
                                    <param name="attribute" value="score"/>
                                </repeat>
                                <repeat name="new_attributes">
                                    <param name="new_name" value="min_signal"/>
                                    <param name="function" value="MIN"/>
                                    <param name="argument" value="signal"/>
                                </repeat>
                            </section>
                            <section name="metadata">
                                <conditional name="meta_agg">
                                    <param name="meta_agg_flag" value="true"/>
                                    <repeat name="new_attributes">
                                        <param name="new_name" value="min_tier"/>
                                        <param name="function" value="MIN"/>
                                        <param name="argument" value="cell_tier"/>
                                    </repeat>
                                </conditional>
                                <repeat name="group_meta_atts">
                                    <param name="metajoin_match" value="SIMPLE"/>
                                    <param name="j_att" value="cell_tissue"/>
                                </repeat>
                            </section>
                        </conditional>
                    </conditional>
                </repeat>
                <output name="query" file="group1.gmql_query" />
            </test>
            <test>
                <!-- TEST 8: MERGE -->
                <expand macro="query_intro" name="test_merge1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="OUT"/>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="MERGE"/>
                        <param name="output_var" value="OUT2"/>
                        <param name="input_var" value="OUT"/>
                        <section name="groupby">
                            <repeat name="group_meta_atts">
                                <param name="metajoin_match" value="EXACT"/>
                                <param name="j_att" value="antibody_target"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
            </test>
            <test>
                <!-- TEST 9: UNION -->
                <expand macro="query_intro" name="test_merge1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="IN"/>
                <expand macro="simple_select" ds="Example_Dataset_2" >
                    <param name="output_var" value="IN2" />
                </expand>
                <repeat name="operations">
                    <conditional name="operation" >
                        <param name="operator" value="UNION" />
                        <param name="output_var" value="OUT" />
                        <param name="input_var_second" value="IN2" />
                        <param name="input_var_first" value="IN" />
                    </conditional>
                </repeat>
                <output name="query" file="union1.gmql_query" />
            </test>
            <test>
                <!-- TEST 10: DIFFERENCE -->
                <expand macro="query_intro" name="test_merge1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="IN"/>
                <expand macro="simple_select" ds="Example_Dataset_2">
                    <param name="output_var" value="IN2"/>
                </expand>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="DIFFERENCE"/>
                        <param name="output_var" value="OUT"/>
                        <param name="input_var_negative" value="IN2"/>
                        <param name="input_var_reference" value="IN"/>
                        <param name="exact_flag" value="true"/>
                        <section name="joinby">
                            <repeat name="group_meta_atts">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="cell"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <output name="query" file="difference1.gmql_query"/>
            </test>
            <test>
                <!-- TEST 11: JOIN (Genomic Predicate + Joinby condition) -->
                <expand macro="query_intro" name="test_join1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="IN"/>
                <expand macro="simple_select" ds="Example_Dataset_2">
                    <param name="output_var" value="IN2"/>
                </expand>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="JOIN"/>
                        <param name="output_var" value="OUT"/>
                        <param name="input_var_anchor" value="IN"/>
                        <param name="input_var_experiment" value="IN2"/>
                        <section name="conditions_section">
                            <conditional name="conditions">
                                <param name="c_type" value="distance"/>
                                <repeat name="distance_conditions">
                                    <conditional name="type_dc">
                                        <param name="type_dc_value" value="dist"/>
                                        <param name="dc" value="MD"/>
                                        <param name="n" value="1"/>
                                    </conditional>
                                </repeat>
                                <repeat name="distance_conditions">
                                    <conditional name="type_dc">
                                        <param name="type_dc_value" value="stream"/>
                                        <param name="ds" value="UP"/>
                                    </conditional>
                                </repeat>
                                <param name="output_opt" value="RIGHT"/>
                            </conditional>
                        </section>
                        <section name="joinby">
                            <repeat name="joinby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="cell"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <output name="query" file="join1.gmql_query"/>
            </test>
            <test>
                <!-- TEST 12: JOIN (Genomic Predicate, Region Conditions, Joinby) -->
                <expand macro="query_intro" name="test_join2"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="IN"/>
                <expand macro="simple_select" ds="Example_Dataset_2">
                    <param name="output_var" value="IN2"/>
                </expand>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="JOIN"/>
                        <param name="input_var_anchor" value="IN"/>
                        <param name="output_var" value="OUT"/>
                        <param name="input_var_experiment" value="IN2"/>
                        <section name="conditions_section">
                            <conditional name="conditions">
                                <param name="c_type" value="both"/>
                                <repeat name="distance_conditions">
                                    <conditional name="type_dc">
                                        <param name="type_dc_value" value="dist"/>
                                        <param name="dc" value="DL"/>
                                        <param name="n" value="0"/>
                                    </conditional>
                                </repeat>
                                <param name="output_opt" value="INT"/>
                                <repeat name="region_attributes">
                                    <param name="attribute" value="score" />
                                </repeat>
                                <repeat name="region_attributes">
                                    <param name="attribute" value="chr" />
                                </repeat>
                            </conditional>
                        </section>
                        <section name="joinby">
                            <repeat name="joinby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="cell"/>
                            </repeat>
                            <repeat name="joinby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="provider"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <output name="query" file="join2.gmql_query"/>
            </test>
            <test>
                <!-- TEST 13: MAP -->
                <expand macro="query_intro" name="test_map1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="IN"/>
                <expand macro="simple_select" ds="Example_Dataset_2">
                    <param name="output_var" value="IN2"/>
                </expand>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="input_var_reference" value="IN"/>
                        <param name="output_var" value="OUT"/>
                        <param name="count_result" value="mapped_n"/>
                        <param name="input_var_experiment" value="IN2"/>
                        <param name="operator" value="MAP"/>
                        <section name="new_regions_attributes">
                            <repeat name="new_regions">
                                <param name="new_name" value="avg_score"/>
                                <param name="function" value="AVG"/>
                                <param name="argument" value="score"/>
                            </repeat>
                            <repeat name="new_regions">
                                <param name="new_name" value="min_score"/>
                                <param name="function" value="MIN"/>
                                <param name="argument" value="score"/>
                            </repeat>
                            <repeat name="new_regions">
                                <param name="new_name" value="chr_list"/>
                                <param name="function" value="BAG"/>
                                <param name="argument" value="chr"/>
                            </repeat>
                        </section>
                        <section name="joinby">
                            <repeat name="joinby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="cell_tissue"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <output name="query" file="map1.gmql_query"/>
            </test>
            <test>
                <!-- TEST 13: COVER (Base Variant) -->
                <expand macro="query_intro" name="test_cover1"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="IN"/>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="output_var" value="OUT"/>
                        <param name="cover_variant" value="COVER"/>
                        <param name="input_var" value="IN"/>
                        <param name="operator" value="COVER"/>
                        <conditional name="minAcc">
                            <param name="min_type" value="value"/>
                            <param name="value" value="1"/>
                        </conditional>
                        <conditional name="maxAcc">
                            <param name="max_type" value="ANY"/>
                        </conditional>
                        <section name="new_regions_attributes">
                            <repeat name="new_regions">
                                <param name="new_name" value="min_pvalue"/>
                                <param name="function" value="MIN"/>
                                <param name="argument" value="pvalue"/>
                            </repeat>
                        </section>
                        <section name="groupby">
                            <repeat name="groupby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="cell"/>
                            </repeat>
                            <repeat name="groupby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="antibody_target"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <output name="query" file="cover1.gmql_query"/>
            </test>
            <test>
                <!-- TEST 14: COVER (Variants) -->
                <expand macro="query_intro" name="test_cover2"/>
                <expand macro="simple_select" ds="Example_Dataset_1"/>
                <param name="output_var" value="IN"/>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="COVER"/>
                        <param name="output_var" value="OUT1"/>
                        <param name="cover_variant" value="FLAT"/>
                        <param name="input_var" value="IN"/>
                        <conditional name="minAcc">
                            <param name="min_type" value="value"/>
                            <param name="value" value="2"/>
                        </conditional>
                        <conditional name="maxAcc">
                            <param name="max_type" value="value"/>
                            <param name="value" value="4"/>
                        </conditional>
                        <section name="groupby">
                            <repeat name="groupby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="cell"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="COVER"/>
                        <param name="output_var" value="OUT2"/>
                        <param name="cover_variant" value="SUMMIT"/>
                        <param name="input_var" value="IN"/>
                        <conditional name="minAcc">
                            <param name="min_type" value="value"/>
                            <param name="value" value="2"/>
                        </conditional>
                        <conditional name="maxAcc">
                            <param name="max_type" value="value"/>
                            <param name="value" value="4"/>
                        </conditional>
                        <section name="groupby">
                            <repeat name="groupby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="cell"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="COVER"/>
                        <param name="output_var" value="OUT3"/>
                        <param name="cover_variant" value="HISTOGRAM"/>
                        <param name="input_var" value="IN"/>
                        <conditional name="minAcc">
                            <param name="min_type" value="ALL_n"/>
                            <param name="n" value="2"/>
                        </conditional>
                        <conditional name="maxAcc">
                            <param name="max_type" value="ALL_n_k"/>
                            <param name="k" value="1"/>
                            <param name="n" value="2"/>
                        </conditional>
                        <section name="groupby">
                            <repeat name="groupby_clause">
                                <param name="metajoin_match" value="SIMPLE"/>
                                <param name="j_att" value="antibody_target"/>
                            </repeat>
                        </section>
                    </conditional>
                </repeat>
                <output name="query" file="cover2.gmql_query"/>
            </test>
            <test>
                <!-- TEST 15: Query Compilation -->
                <expand macro="query_intro" name="test_compile"/>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="SELECT"/>
                        <conditional name="input">
                            <param name="input_type" value="i_ds"/>
                            <param name="gmql_datasets" value="rep.gmql_repository"/>
                            <param name="input_ds" value="Example_Dataset_1"/>
                            <section name="metadata_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="steps"/>
                                    <param name="negate" value="false"/>
                                    <param name="attribute" value="grant"/>
                                    <param name="condition" value="eq"/>
                                    <param name="value" value="Stam"/>
                                </conditional>
                            </section>
                            <section name="region_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="strings"/>
                                    <param name="conditions_string" value=""/>
                                </conditional>
                            </section>
                            <section name="semijoin_predicate">
                                <param name="condition" value="IN"/>
                                <param name="ds_ext" value=""/>
                            </section>
                        </conditional>
                    </conditional>
                </repeat>
                <param name="output_var" value="VAR"/>
                <conditional name="materialize">
                    <param name="file_name" value="TG"/>
                    <param name="materialize_result" value="true"/>
                    <conditional name="choose_op">
                        <param name="op" value="compile"/>
                    </conditional>
                </conditional>
                <output name="query" file="query.gmql_query"/>
                <output name="log" ftype="txt">
                    <assert_contents>
                        <has_text text="COMPILE_SUCCESS"/>
                    </assert_contents>
                </output>
            </test>
            <test>
                <!-- TEST 16: Query Execution -->
                <param name="authToken" value="guest2.gmql_user"/>
                <param name="query_name" value="testexec"/>
                <conditional name="query_create">
                    <param name="create" value="yes"/>
                </conditional>
                <repeat name="operations">
                    <conditional name="operation">
                        <param name="operator" value="SELECT"/>
                        <conditional name="input">
                            <param name="input_type" value="i_ds"/>
                            <param name="gmql_datasets" value="rep.gmql_repository"/>
                            <param name="input_ds" value="Example_Dataset_1"/>
                            <section name="metadata_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="steps"/>
                                    <param name="negate" value="false"/>
                                    <param name="attribute" value="grant"/>
                                    <param name="condition" value="eq"/>
                                    <param name="value" value="Stam"/>
                                </conditional>
                            </section>
                            <section name="region_predicates">
                                <conditional name="conditions">
                                    <param name="ad_flags" value="strings"/>
                                    <param name="conditions_string" value=""/>
                                </conditional>
                            </section>
                            <section name="semijoin_predicate">
                                <param name="condition" value="IN"/>
                                <param name="ds_ext" value=""/>
                            </section>
                        </conditional>
                    </conditional>
                </repeat>
                <param name="output_var" value="VAR"/>
                <conditional name="materialize">
                    <param name="file_name" value="TG"/>
                    <param name="materialize_result" value="true"/>
                    <conditional name="choose_op">
                        <param name="op" value="run"/>
                        <param name="out_format" value="gdm"/>
                        <param name="import" value="true"/>
                    </conditional>
                </conditional>
                <output name="query" file="query.gmql_query"/>
                <output name="log" ftype="txt">
                    <assert_contents>
                        <has_text text="SUCCESS"/>
                    </assert_contents>
                </output>
                <output name="updated_list" ftype="gmql_repository">
                    <assert_contents>
                        <has_text_matching expression="testexec_\d+_\d+_TG"/>
                    </assert_contents>
                </output>
                <collection name="query_results_s" type="list">
                    <metadata name="name" value="testexec results"/>
                    <discovered_dataset designation="S00000" file="TG/S_00000.gdm"/>
                    <discovered_dataset designation="S00001" file="TG/S_00001.gdm"/>
                    <discovered_dataset designation="S00002" file="TG/S_00002.gdm"/>
                </collection>
                <collection name="query_results_m" type="list">
                    <metadata name="name" value="testexec results metadata"/>
                    <discovered_dataset designation="S00000" file="TG/S_00000.gdm.meta"/>
                    <discovered_dataset designation="S00001" file="TG/S_00001.gdm.meta"/>
                    <discovered_dataset designation="S00002" file="TG/S_00002.gdm.meta"/>
                </collection>
            </test>
        </tests>
    </xml>
</macros>