comparison data_reader.xml @ 0:b737d0ed42be draft default tip

Uploaded
author brenninc
date Tue, 21 Jun 2016 03:38:52 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:b737d0ed42be
1 <tool id="directory_table_reader" name="Directory Data Reader" version="0.2">
2 <description>Reads data from preconfigured directories table.</description>
3 <command interpreter="python">
4 <![CDATA[
5 directory_copier.py
6 --ending .${directory.fields.original_extension}
7 --new_ending .${directory.fields.galaxy_extension}
8 #if $results.required=="data"
9 --new_ending .${directory.fields.galaxy_extension}
10 --decompress ${directory.fields.decompress}
11 #if $results.start
12 --start "$results.start"
13 #end if
14 #if $results.last
15 --last "$results.last"
16 #end if
17 #if $results.regex
18 --regex "$results.regex"
19 #end if
20 #end if
21 --path ${directory.fields.path}
22 --list ${listing}
23 ]]>
24 </command>
25 <inputs>
26 <param name="directory" type="select" label="Directory to import data from">
27 <options from_data_table="directory_data"/>
28 <validator type="no_options" message="No Data Directory Setup"/>
29 </param>
30 <param name="list_name" type="text" size="25" label="output name" value="input data"/>
31 <conditional name="results">
32 <param name="required" type="select" label="Download data or just directory listing" help="Select type of action required.">
33 <option value="data" selected="true">Data and listing of selected type</option>
34 <option value="listing">Get listing of selected file types </option>
35 </param>
36 <when value="data">
37 <param name="start" type="text" value="" label="String which must be at the start of each file name" />
38 <param name="last" type="text" value="" label="String which must be at the end of the file name (excluding the file type)" />
39 <param name="regex" type="text" value="" label="Regex pattern which must somewhere in the file name (excluding the file type)" >
40 <sanitizer>
41 <valid initial="string.printable"/>
42 </sanitizer>
43 </param>
44 </when>
45 <when value="listing"/>
46 </conditional>
47 </inputs>
48 <outputs>
49 <data format="txt" name="listing" label="List of files in $list_name">
50 </data>
51 <!-- Ideally galaxy can get the type based on the file extensions. If so just add the type here -->
52 <collection type="list" label="$list_name" name="data_collection">
53 <filter>(results['required'] == 'data')</filter>
54 <discover_datasets pattern="__designation_and_ext__" directory="output" visible="true" />
55 </collection>
56 </outputs>
57 <tests>
58 <test>
59 <param name="directory" value="fastq.gz_files_id" />
60 <param name="list_name" value="test_files" />
61 <param name="results|required" value="listing"/>
62 <output name="listing">
63 <assert_contents>
64 <has_line line="sample1.fastqsanger" />
65 <has_line line="other.fastqsanger" />
66 </assert_contents>
67 </output>
68 </test>
69 <test>
70 <param name="directory" value="fastq.gz_files_id" />
71 <output name="listing_fastq_gz">
72 <assert_contents>
73 <has_line line="sample1.fastqsanger" />
74 </assert_contents>
75 </output>
76 <output_collection name="data_collection" type="list">
77 <element name="sample1" ftype="fastqsanger" file="sample1.fastq" />
78 <element name="other" ftype="fastqsanger" file="other.fastq" />
79 </output_collection>
80 </test>
81 <test>
82 <param name="directory" value="fastq_files_id" />
83 <param name="results|start" value="sam" />
84 <output name="listing_fastq">
85 <assert_contents>
86 <has_line line="sample1.fastq" />
87 <not_has_text text="other.fastq" />
88 </assert_contents>
89 </output>
90 <output_collection name="data_collection" type="list">
91 <element name="sample1" ftype="fastq" file="sample1.fastq" />
92 </output_collection>
93 </test>
94 <test>
95 <param name="directory" value="fastq_files_id" />
96 <param name="results|regex" value="le.?" />
97 <output name="listing_fastq">
98 <assert_contents>
99 <has_line line="sample1.fastq" />
100 <not_has_text text="other.fastq" />
101 </assert_contents>
102 </output>
103 <output_collection name="data_collection" type="list">
104 <element name="sample1" ftype="fastq" file="sample1.fastq" />
105 </output_collection>
106 </test>
107 </tests>
108
109 <help>
110 <![CDATA[
111 This tool will lookup files on the Galaxy server machine, including mounted directories.
112
113 Only directories and ending combinations set up by a Galaxy admin can be listed or loaded in this way.
114 These endings are case senitive.
115
116 ====
117
118 The data options will look for all files that have a particular ending in the selected directory.
119
120 The tool will return two things.
121
122 1. A Dataset collection of all the detected files. (If data requested)
123
124 2. A file with the names of all the detected files. These will be sorted in the same order as galaxy builds the dataset collection.
125
126 The files can be filtered by setting a specific start string for the file name.
127 Only files that start with this string (case senstive) will be included.
128
129 Files can also be filter for the last part before the file extsentions.
130
131 Files can also be filtered by a regex pattern.
132 Only files that contain the regex string will be included.
133 This uses the python search funtion so as long as the Regex pattern is found somewhere in file name (excluding extension).
134
135 The three filter start, last and regex if supplied work indepently, so only files that pass all supplied test will be included.
136
137 Note: Before applying the last and regex test the ending (includig the . just before the ending are removed)
138
139 Assuming the directory has:
140 C01_R1_001.fasta C01_R2_001.fatsa C02_R1_001.fasta C02_R2_002.fatsa
141
142 Setting start C01 will return just the C01 files: C01_R1_001.fasta C01_R2_002.fatsa
143
144 Setting last R1_001 will return the read1 files: C01_R1_001.fasta C02_R1_001.fasta
145
146 Setting regex R2_00.$ will return the R2 files: C01_R2_001.fatsa C02_R2_002.fatsa
147
148 As Galaxy detects the file type based on the extension this tool will change the exstension as setup by the admin.
149
150 This tool will unzip gz files if requested to by the admin,
151
152 ]]>
153 </help>
154 <citations>
155 </citations>
156
157 </tool>