29
|
1 <?xml version="1.0" ?>
|
|
2 <tool id="qiime_cutadapt_demux-paired" name="qiime cutadapt demux-paired"
|
|
3 version="2020.8">
|
|
4 <description>Demultiplex paired-end sequence data with barcodes in- sequence.</description>
|
|
5 <requirements>
|
|
6 <requirement type="package" version="2020.8">qiime2</requirement>
|
|
7 </requirements>
|
|
8 <command><![CDATA[
|
|
9 qiime cutadapt demux-paired
|
|
10
|
|
11 --i-seqs=$iseqs
|
|
12 # if $input_files_mforwardbarcodesfile:
|
|
13 # def list_dict_to_string(list_dict):
|
|
14 # set $file_list = list_dict[0]['additional_input'].__getattr__('file_name')
|
|
15 # for d in list_dict[1:]:
|
|
16 # set $file_list = $file_list + ' --m-forward-barcodes-file=' + d['additional_input'].__getattr__('file_name')
|
|
17 # end for
|
|
18 # return $file_list
|
|
19 # end def
|
|
20 --m-forward-barcodes-file=$list_dict_to_string($input_files_mforwardbarcodesfile)
|
|
21 # end if
|
|
22
|
|
23 #if '__ob__' in str($mforwardbarcodescolumn):
|
|
24 #set $mforwardbarcodescolumn_temp = $mforwardbarcodescolumn.replace('__ob__', '[')
|
|
25 #set $mforwardbarcodescolumn = $mforwardbarcodescolumn_temp
|
|
26 #end if
|
|
27 #if '__cb__' in str($mforwardbarcodescolumn):
|
|
28 #set $mforwardbarcodescolumn_temp = $mforwardbarcodescolumn.replace('__cb__', ']')
|
|
29 #set $mforwardbarcodescolumn = $mforwardbarcodescolumn_temp
|
|
30 #end if
|
|
31 #if 'X' in str($mforwardbarcodescolumn):
|
|
32 #set $mforwardbarcodescolumn_temp = $mforwardbarcodescolumn.replace('X', '\\')
|
|
33 #set $mforwardbarcodescolumn = $mforwardbarcodescolumn_temp
|
|
34 #end if
|
|
35 #if '__sq__' in str($mforwardbarcodescolumn):
|
|
36 #set $mforwardbarcodescolumn_temp = $mforwardbarcodescolumn.replace('__sq__', "'")
|
|
37 #set $mforwardbarcodescolumn = $mforwardbarcodescolumn_temp
|
|
38 #end if
|
|
39 #if '__db__' in str($mforwardbarcodescolumn):
|
|
40 #set $mforwardbarcodescolumn_temp = $mforwardbarcodescolumn.replace('__db__', '"')
|
|
41 #set $mforwardbarcodescolumn = $mforwardbarcodescolumn_temp
|
|
42 #end if
|
|
43
|
|
44 --m-forward-barcodes-column=$mforwardbarcodescolumn
|
|
45
|
|
46 # if $input_files_mreversebarcodesfile:
|
|
47 # def list_dict_to_string(list_dict):
|
|
48 # set $file_list = list_dict[0]['additional_input'].__getattr__('file_name')
|
|
49 # for d in list_dict[1:]:
|
|
50 # set $file_list = $file_list + ' --m-reverse-barcodes-file=' + d['additional_input'].__getattr__('file_name')
|
|
51 # end for
|
|
52 # return $file_list
|
|
53 # end def
|
|
54 --m-reverse-barcodes-file=$list_dict_to_string($input_files_mreversebarcodesfile)
|
|
55 # end if
|
|
56
|
|
57 #if '__ob__' in str($mreversebarcodescolumn):
|
|
58 #set $mreversebarcodescolumn_temp = $mreversebarcodescolumn.replace('__ob__', '[')
|
|
59 #set $mreversebarcodescolumn = $mreversebarcodescolumn_temp
|
|
60 #end if
|
|
61 #if '__cb__' in str($mreversebarcodescolumn):
|
|
62 #set $mreversebarcodescolumn_temp = $mreversebarcodescolumn.replace('__cb__', ']')
|
|
63 #set $mreversebarcodescolumn = $mreversebarcodescolumn_temp
|
|
64 #end if
|
|
65 #if 'X' in str($mreversebarcodescolumn):
|
|
66 #set $mreversebarcodescolumn_temp = $mreversebarcodescolumn.replace('X', '\\')
|
|
67 #set $mreversebarcodescolumn = $mreversebarcodescolumn_temp
|
|
68 #end if
|
|
69 #if '__sq__' in str($mreversebarcodescolumn):
|
|
70 #set $mreversebarcodescolumn_temp = $mreversebarcodescolumn.replace('__sq__', "'")
|
|
71 #set $mreversebarcodescolumn = $mreversebarcodescolumn_temp
|
|
72 #end if
|
|
73 #if '__db__' in str($mreversebarcodescolumn):
|
|
74 #set $mreversebarcodescolumn_temp = $mreversebarcodescolumn.replace('__db__', '"')
|
|
75 #set $mreversebarcodescolumn = $mreversebarcodescolumn_temp
|
|
76 #end if
|
|
77
|
|
78 #if str($mreversebarcodescolumn):
|
|
79 --m-reverse-barcodes-column=$mreversebarcodescolumn
|
|
80 #end if
|
|
81
|
|
82 --p-error-rate=$perrorrate
|
|
83
|
|
84 --p-minimum-length=$pminimumlength
|
|
85
|
|
86 #if $pmixedorientation:
|
|
87 --p-mixed-orientation
|
|
88 #end if
|
|
89
|
|
90 --o-per-sample-sequences=opersamplesequences
|
|
91
|
|
92 --o-untrimmed-sequences=ountrimmedsequences
|
|
93
|
|
94 #if str($examples) != 'None':
|
|
95 --examples=$examples
|
|
96 #end if
|
|
97
|
|
98 ;
|
|
99 cp ountrimmedsequences.qza $ountrimmedsequences
|
|
100
|
|
101 ]]></command>
|
|
102 <inputs>
|
|
103 <param format="qza,no_unzip.zip" label="--i-seqs: ARTIFACT MultiplexedPairedEndBarcodeInSequence The paired-end sequences to be demultiplexed. [required]" name="iseqs" optional="False" type="data" />
|
|
104 <repeat name="input_files_mforwardbarcodesfile" optional="True" title="--m-forward-barcodes-file">
|
|
105 <param format="tabular,qza,no_unzip.zip" label="--m-forward-barcodes-file: METADATA" name="additional_input" optional="True" type="data" />
|
|
106 </repeat>
|
|
107 <param label="--m-forward-barcodes-column: COLUMN MetadataColumn[Categorical] The sample metadata column listing the per-sample barcodes for the forward reads. [required]" name="mforwardbarcodescolumn" optional="False" type="text" />
|
|
108 <repeat name="input_files_mreversebarcodesfile" optional="True" title="--m-reverse-barcodes-file">
|
|
109 <param format="tabular,qza,no_unzip.zip" label="--m-reverse-barcodes-file: METADATA" name="additional_input" optional="True" type="data" />
|
|
110 </repeat>
|
|
111 <param label="--m-reverse-barcodes-column: COLUMN MetadataColumn[Categorical] The sample metadata column listing the per-sample barcodes for the reverse reads. [optional]" name="mreversebarcodescolumn" optional="False" type="text" />
|
|
112 <param exclude_max="False" label="--p-error-rate: PROPORTION Range(0, 1, inclusive_end=True) The level of error tolerance, specified as the maximum allowable error rate. [default: 0.1]" max="1" min="0" name="perrorrate" optional="True" type="float" value="0.1" />
|
|
113 <param label="--p-minimum-length: INTEGER Range(1, None) Discard reads shorter than specified value. Note, the cutadapt default of 0 has been overridden, because that value produces empty sequence records. [default: 1]" min="1" name="pminimumlength" optional="True" type="integer" value="1" />
|
|
114 <param label="--p-mixed-orientation: --p-mixed-orientation: / --p-no-mixed-orientation Handle demultiplexing of mixed orientation reads (i.e. when forward and reverse reads coexist in the same file). [default: False]" name="pmixedorientation" selected="False" type="boolean" />
|
|
115 <param label="--examples: Show usage examples and exit." name="examples" optional="False" type="data" />
|
|
116
|
|
117 </inputs>
|
|
118
|
|
119 <outputs>
|
|
120 <data format="qza" label="${tool.name} on ${on_string}: persamplesequences.qza" name="opersamplesequences" />
|
|
121 <data format="qza" label="${tool.name} on ${on_string}: untrimmedsequences.qza" name="ountrimmedsequences" />
|
|
122
|
|
123 </outputs>
|
|
124
|
|
125 <help><![CDATA[
|
|
126 Demultiplex paired-end sequence data with barcodes in- sequence.
|
|
127 ###############################################################
|
|
128
|
|
129 Demultiplex sequence data (i.e., map barcode reads to sample ids). Barcodes
|
|
130 are expected to be located within the sequence data (versus the header, or
|
|
131 a separate barcode file).
|
|
132
|
|
133 Parameters
|
|
134 ----------
|
|
135 seqs : MultiplexedPairedEndBarcodeInSequence
|
|
136 The paired-end sequences to be demultiplexed.
|
|
137 forward_barcodes : MetadataColumn[Categorical]
|
|
138 The sample metadata column listing the per-sample barcodes for the
|
|
139 forward reads.
|
|
140 reverse_barcodes : MetadataColumn[Categorical], optional
|
|
141 The sample metadata column listing the per-sample barcodes for the
|
|
142 reverse reads.
|
|
143 error_rate : Float % Range(0, 1, inclusive_end=True), optional
|
|
144 The level of error tolerance, specified as the maximum allowable error
|
|
145 rate.
|
|
146 batch_size : Int % Range(0, None), optional
|
|
147 The number of samples cutadapt demultiplexes concurrently.
|
|
148 Demultiplexing in smaller batches will yield the same result with
|
|
149 marginal speed loss, and may solve "too many files" errors related to
|
|
150 sample quantity. Set to "0" to process all samples at once.
|
|
151 minimum_length : Int % Range(1, None), optional
|
|
152 Discard reads shorter than specified value. Note, the cutadapt default
|
|
153 of 0 has been overridden, because that value produces empty sequence
|
|
154 records.
|
|
155 mixed_orientation : Bool, optional
|
|
156 Handle demultiplexing of mixed orientation reads (i.e. when forward and
|
|
157 reverse reads coexist in the same file).
|
|
158
|
|
159 Returns
|
|
160 -------
|
|
161 per_sample_sequences : SampleData[PairedEndSequencesWithQuality]
|
|
162 The resulting demultiplexed sequences.
|
|
163 untrimmed_sequences : MultiplexedPairedEndBarcodeInSequence
|
|
164 The sequences that were unmatched to barcodes.
|
|
165 ]]></help>
|
|
166 <macros>
|
|
167 <import>qiime_citation.xml</import>
|
|
168 </macros>
|
|
169 <expand macro="qiime_citation"/>
|
|
170 </tool> |