diff 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 diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gmql_operators_tests.xml	Tue Jun 26 09:08:06 2018 -0400
@@ -0,0 +1,796 @@
+<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>
\ No newline at end of file