diff gmql_rest_repository.xml @ 0:bb858d9ad271 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:02:27 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gmql_rest_repository.xml	Tue Jun 26 09:02:27 2018 -0400
@@ -0,0 +1,150 @@
+<tool id="gmql_repository" name="GMQL Repository Access" version="0.1.1">
+    <description>View, browse, rename or delete datasets in the user's space on the GMQL system.</description>
+    <macros>
+        <import>gmql_rest_macros.xml</import>
+    </macros>
+    <command><![CDATA[
+        python $__tool_directory__/gmql_rest_datasets.py
+        #set $cmd = $rep.operation
+        #if $cmd == 'list' :
+         $out_list
+        #elif $cmd == 'samples' :
+         $out_samples
+         -dataset=$rep.ds_name
+        #elif $cmd == 'delete' :
+         $updated_list
+         -dataset=$rep.dataset_del
+        #elif $cmd == 'rename' :
+         $updated_list
+         -dataset=$rep.dataset_ren
+         -new_name=$rep.new_name
+        #end if
+        -user=$authToken
+        -cmd=$cmd
+    ]]></command>
+    <code file="dynamic_utils.py">
+        <hook validate_input="validate" />
+    </code>
+    <inputs>
+        <param format="gmql_user" name="authToken" type="data" label="Select user" />
+        <conditional name="rep">
+            <param name="operation" type="select" display="radio" multiple="false" label="Select the desired action" >
+            <option value="list">View datasets</option>
+            <option value="samples">View a dataset's samples</option>
+            <option value="rename">Rename a dataset</option>
+            <option value="delete">Delete a dataset</option>
+        </param>
+            <when value="list">
+                <!-- do nothing -->
+            </when>
+            <when value="samples">
+                <param name="gmql_datasets" type="data" format="gmql_repository" label="Working Datasets"/>
+                <param name="ds_name" type="select" label="Select Dataset">
+                    <options from_dataset="gmql_datasets">
+                        <column name="value" index="0"/>
+                    </options>
+                </param>
+
+            </when>
+            <when value="rename">
+                <param name="gmql_datasets" type="data" format="gmql_repository" label="Working Datasets" />
+                <param name="dataset_ren" type="select" label="Select Dataset to rename">
+                    <options from_dataset="gmql_datasets">
+                        <column name="value" index="0" />
+                        <filter column="1" type="static_value" value="public" keep="false" />
+                    </options>
+                </param>
+                <param name="new_name" type="text" label="New Dataset Name" >
+		            <validator type="regex" message="Only alphanumeric characters and underscore are allowed">[\w]+$</validator>
+	            </param>
+            </when>
+            <when value="delete">
+                <param name="gmql_datasets" type="data" format="gmql_repository" label="Working Datasets" />
+	            <param name="dataset_del" type="select" label="Select Dataset to delete">
+		            <options from_dataset="gmql_datasets">
+                            <column name="value" index="0" />
+                            <filter column="1" type="static_value" value="public" keep="false"/>
+		            </options>
+                </param>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data format="gmql_repository" name="out_list" label="${authToken.name.split()[0].rstrip('')} GMQL Datasets">
+            <filter>rep['operation'] == 'list'</filter>
+            <actions>
+                <action name="column_names" type="metadata" default="dataset,owner" />
+            </actions>
+        </data>
+        <data format="tabular" name="out_samples" label="${rep.ds_name} samples list from ${authToken.name.split()[0].rstrip('')} GMQL Datasets" >
+            <filter>rep['operation'] == 'samples'</filter>
+            <actions>
+                <action name="column_names" type="metadata" default="id,sample,ext" />
+            </actions>
+        </data>
+       <data format="gmql_repository" name="updated_list" label="${authToken.name.split()[0].rstrip('')} GMQL Datasets">
+            <filter>rep['operation'] == 'rename' or rep['operation'] == 'delete'</filter>
+            <actions>
+                <action name="column_names" type="metadata" default="dataset,owner" />
+            </actions>
+       </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="authToken" value="guest.gmql_user" />
+            <conditional name="rep">
+                <param name="operation" value="list" />
+            </conditional>
+            <output name="out_list" ftype="gmql_repository">
+                <assert_contents>
+                    <has_n_columns n="2" />
+                    <has_line_matching expression="Example_Dataset_1\tpublic" />
+                    <has_line_matching expression="Example_Dataset_2\tpublic" />
+                </assert_contents>
+            </output>
+        </test>
+        <test>
+            <param name="authToken" value="guest.gmql_user" />
+            <conditional name="rep">
+                <param name="operation" value="samples" />
+                <param name="gmql_datasets" value="rep.gmql_repository" />
+                <param name="ds_name" value="Example_Dataset_1" />
+            </conditional>
+            <output name="out_samples" ftype="tabular">
+                <assert_contents>
+                    <has_n_columns n="3" />
+                    <has_text text="S_00000" />
+                    <has_text text="S_00001" />
+                    <has_text text="S_00002" />
+                    <has_text text="S_00003" />
+                    <has_text text="S_00004" />
+                    <has_text text="S_00005" />
+                    <has_text text="S_00006" />
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+  <help>
+This tool serves to access the GMQL public repository, and the user’s private one.
+In particular, within the public repository interesting datasets collected from established sources,
+like ENCODE or UCSC, and small example datasets are hosted.
+
+----
+
+**What it does**
+
+- **view datasets**: list all datasets, both private and public
+- **view dataset's samples**: list samples of given dataset
+- **rename dataset**: change name of dataset, return updated datasets list
+- **delete dataset**: delete dataset, return updated dataset list
+
+.. class:: warningmark
+
+Public datasets can only be seen or browsed, but not renamed or deleted.
+
+.. class:: warningmark
+
+A gmql_user authentication token is required for every action.
+  </help>
+  <expand macro="citations" />
+</tool>
\ No newline at end of file