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