1
|
1 <tool id="ngs-tools_split_by_barcode" name="Barcode Splitter (ngs-tools)" force_history_refresh="True">
|
|
2 <description></description>
|
3
|
3 <requirements>
|
|
4 <requirement type="package" version="0.1.4">ngs-tools</requirement>
|
|
5 </requirements>
|
1
|
6 <command>
|
|
7 ngs-tools split-by-barcode
|
4
|
8 $trim_barcode $input_format.format
|
1
|
9 --barcode-size $barcode_length --max-distance $max_distance
|
|
10 #for $i in $barcodes
|
|
11 --barcode ${i.barcode}
|
|
12 #end for
|
|
13 --report $output1 --galaxy $output1.id --output $__new_file_path__
|
|
14 $barcode_index
|
|
15 #for $i in $input_format.inputs
|
|
16 ${i.input}
|
|
17 #end for
|
|
18 </command>
|
|
19
|
|
20 <inputs>
|
2
|
21 <conditional name="input_format">
|
|
22 <param name="format" type="select" label="Input format">
|
|
23 <option value="--fastq" selected="true">Fastq</option>
|
|
24 <option value="">Fasta</option>
|
|
25 </param>
|
|
26 <when value="--fastq">
|
|
27 <repeat name="inputs" title="Dataset" help="Datasets to split.">
|
|
28 <param name="input" type="data" label="Dataset to split" format="fastq,fastqsanger,fastqsolexa,fastqillumina" />
|
|
29 </repeat>
|
|
30 </when>
|
|
31 <when value="">
|
|
32 <repeat name="inputs" title="Dataset" help="Datasets to split.">
|
|
33 <param name="input" type="data" label="Dataset to split" format="fasta" />
|
|
34 </repeat>
|
|
35 </when>
|
|
36 </conditional>
|
|
37 <param format="tabular" name="barcode_index" type="data" label="Barcodes index" help="See below for description." />
|
1
|
38 <param name="barcode_length" type="integer" size="3" value="11" label="Barcode length" help="Please specify the barcode length." />
|
|
39 <repeat name="barcodes" title="Barcode" help="Barcodes to use. By default all barcodes with the correct length in the index are used. By using this option you can limit which ones to use.">
|
|
40 <param name="barcode" type="text" label="Barcode to use" />
|
|
41 </repeat>
|
4
|
42 <param name="trim_barcode" type="select" label="Trim the barcode" help="By default barcodes are trimmed from the resulting splitted datasets">
|
|
43 <option value="" selected="true">Yes</option>
|
|
44 <option value="--keep-barcode">No</option>
|
1
|
45 </param>
|
|
46 <param name="max_distance" type="integer" size="3" value="2" label="Number of allowed polymorphisms" help="Max Levenshtein's distance when looking for mutated barcodes." />
|
|
47 </inputs>
|
|
48
|
|
49 <outputs>
|
|
50 <data format="interval" name="output1" />
|
|
51 </outputs>
|
|
52 <help>
|
|
53
|
|
54 **What it does**
|
|
55
|
|
56 This tool splits FASTQ or FASTA datasets into several datasets, using barcodes as the split criteria.
|
|
57
|
|
58 --------
|
|
59
|
|
60 **Barcode index format**
|
|
61
|
|
62 Barcode index datasets are simple tab separated files.
|
|
63 Each line should contain an identifier (descriptive name for the barcode), and the barcode itself (A/C/G/T), separated by a TAB character.
|
|
64 Example::
|
|
65
|
|
66 RL001 ACACGACGACT
|
|
67 RL002 ACACGTAGTAT
|
|
68 RL003 ACACTACTCGT
|
|
69 RL004 ACGACACGTAT
|
|
70 RL005 ACGAGTAGACT
|
|
71
|
|
72 For each barcode, a new FASTQ or FASTA dataset will be created (with the barcode's identifier as part of the dataset name).
|
|
73 Sequences matching the barcode will be stored in the appropriate dataset.
|
|
74
|
|
75 One additional FASTQ or FASTA dataset will be created (the 'Unassigned' dataset), where sequences not matching any barcode will be stored.
|
|
76
|
|
77 The output of this tool is one history dataset per each barcode provided plus a report with the split counts.
|
|
78
|
|
79 ------
|
|
80
|
|
81 This tool is based on `ngs-tools`__ by Carlos Borroto <carlos.borroto@gmail.com>.
|
|
82
|
|
83 .. __: https://github.com/cjav/ngs-tools/
|
|
84
|
|
85 </help>
|
|
86 </tool>
|