comparison shm_csr.xml @ 81:b6f9a640e098 draft

Uploaded
author davidvanzessen
date Fri, 19 Feb 2021 15:10:54 +0000
parents
children 729738462297
comparison
equal deleted inserted replaced
80:a4617f1d1d89 81:b6f9a640e098
1 <tool id="shm_csr" name="SHM &amp; CSR pipeline" version="1.0">
2 <description></description>
3 <requirements>
4 <requirement type="package" version="2.7">python</requirement>
5 <requirement type="package" version="1.16.0">numpy</requirement>
6 <requirement type="package" version="1.2.0">xlrd</requirement>
7 <requirement type="package" version="3.0.0">r-ggplot2</requirement>
8 <requirement type="package" version="1.4.3">r-reshape2</requirement>
9 <requirement type="package" version="0.5.0">r-scales</requirement>
10 <requirement type="package" version="3.4_5">r-seqinr</requirement>
11 <requirement type="package" version="1.11.4">r-data.table</requirement>
12 </requirements>
13 <command interpreter="bash">
14 #if str ( $filter_unique.filter_unique_select ) == "remove":
15 wrapper.sh $in_file custom $out_file $out_file.files_path "${in_file.name}" "-" $functionality $unique $naive_output_cond.naive_output $naive_output_ca $naive_output_cg $naive_output_cm $naive_output_ce $naive_output_all $filter_unique.filter_unique_select $filter_unique.filter_unique_clone_count $class_filter_cond.class_filter $empty_region_filter $fast
16 #else:
17 wrapper.sh $in_file custom $out_file $out_file.files_path "${in_file.name}" "-" $functionality $unique $naive_output_cond.naive_output $naive_output_ca $naive_output_cg $naive_output_cm $naive_output_ce $naive_output_all $filter_unique.filter_unique_select 2 $class_filter_cond.class_filter $empty_region_filter $fast
18 #end if
19 </command>
20 <inputs>
21 <param name="in_file" type="data" format="data" label="IMGT zip file to be analysed" />
22 <param name="empty_region_filter" type="select" label="Sequence starts at" help="" >
23 <option value="leader" selected="true">Leader: include FR1, CDR1, FR2, CDR2, FR3 in filters</option>
24 <option value="FR1" selected="true">FR1: include CDR1,FR2,CDR2,FR3 in filters</option>
25 <option value="CDR1">CDR1: include FR2,CDR2,FR3 in filters</option>
26 <option value="FR2">FR2: include CDR2,FR3 in filters</option>
27 </param>
28 <param name="functionality" type="select" label="Functionality filter" help="" >
29 <option value="productive" selected="true">Productive (Productive and Productive see comment)</option>
30 <option value="unproductive">Unproductive (Unproductive and Unproductive see comment)</option>
31 <option value="remove_unknown">Productive and Unproductive (Productive, Productive see comment, Unproductive, Unproductive and Unproductive see comment)</option>
32 </param>
33 <conditional name="filter_unique">
34 <param name="filter_unique_select" type="select" label="Filter unique sequences" help="See below for an example.">
35 <option value="remove" selected="true">Remove uniques (Based on nucleotide sequence + C)</option>
36 <option value="remove_vjaa">Remove uniques (Based on V+J+CDR3 (AA))</option>
37 <option value="keep">Keep uniques (Based on nucleotide sequence + C)</option>
38 <option value="no">No</option>
39 </param>
40 <when value="remove">
41 <param name="filter_unique_clone_count" size="4" type="integer" label="How many sequences should be in a group to keep 1 of them" value="2" min="2"/>
42 </when>
43 <when value="keep"></when>
44 <when value="no"></when>
45 </conditional>
46 <param name="unique" type="select" label="Remove duplicates based on" help="" >
47 <option value="VGene,CDR3.IMGT.AA,best_match_class">Top.V.Gene, CDR3 (AA), C region</option>
48 <option value="VGene,CDR3.IMGT.AA">Top.V.Gene, CDR3 (AA)</option>
49 <option value="CDR3.IMGT.AA,best_match_class">CDR3 (AA), C region</option>
50 <option value="CDR3.IMGT.AA">CDR3 (AA)</option>
51
52 <option value="VGene,CDR3.IMGT.seq,best_match_class">Top.V.Gene, CDR3 (nt), C region</option>
53 <option value="VGene,CDR3.IMGT.seq">Top.V.Gene, CDR3 (nt)</option>
54 <option value="CDR3.IMGT.seq,best_match_class">CDR3 (nt), C region</option>
55 <option value="CDR3.IMGT.seq">CDR3 (nt)</option>
56 <option value="Sequence.ID" selected="true">Don't remove duplicates</option>
57 </param>
58 <conditional name="class_filter_cond">
59 <param name="class_filter" type="select" label="Human Class/Subclass filter" help="" >
60 <option value="70_70" selected="true">>70% class and >70% subclass</option>
61 <option value="60_55">>60% class and >55% subclass</option>
62 <option value="70_0">>70% class</option>
63 <option value="60_0">>60% class</option>
64 <option value="19_0">>19% class</option>
65 <option value="101_101">Do not assign (sub)class</option>
66 </param>
67 <when value="70_70"></when>
68 <when value="60_55"></when>
69 <when value="70_0"></when>
70 <when value="60_0"></when>
71 <when value="19_0"></when>
72 <when value="101_101"></when>
73 </conditional>
74 <conditional name="naive_output_cond">
75 <param name="naive_output" type="select" label="Output new IMGT archives per class into your history?">
76 <option value="yes">Yes</option>
77 <option value="no" selected="true">No</option>
78 </param>
79 <when value="yes"></when>
80 <when value="no"></when>
81 </conditional>
82 <param name="fast" type="select" label="Fast" help="Skips generating the new ZIP files and Change-O/Baseline" >
83 <option value="yes">Yes</option>
84 <option value="no" selected="true">No</option>
85 </param>
86 </inputs>
87 <outputs>
88 <data format="html" name="out_file" label = "SHM &amp; CSR on ${in_file.name}"/>
89 <data format="imgt_archive" name="naive_output_ca" label = "Filtered IMGT IGA: ${in_file.name}" >
90 <filter>naive_output_cond['naive_output'] == "yes"</filter>
91 <filter>class_filter_cond['class_filter'] != "101_101"</filter>
92 </data>
93 <data format="imgt_archive" name="naive_output_cg" label = "Filtered IMGT IGG: ${in_file.name}" >
94 <filter>naive_output_cond['naive_output'] == "yes"</filter>
95 <filter>class_filter_cond['class_filter'] != "101_101"</filter>
96 </data>
97 <data format="imgt_archive" name="naive_output_cm" label = "Filtered IMGT IGM: ${in_file.name}" >
98 <filter>naive_output_cond['naive_output'] == "yes"</filter>
99 <filter>class_filter_cond['class_filter'] != "101_101"</filter>
100 </data>
101 <data format="imgt_archive" name="naive_output_ce" label = "Filtered IMGT IGE: ${in_file.name}" >
102 <filter>naive_output_cond['naive_output'] == "yes"</filter>
103 <filter>class_filter_cond['class_filter'] != "101_101"</filter>
104 </data>
105 <data format="imgt_archive" name="naive_output_all" label = "Filtered IMGT all: ${in_file.name}" >
106 <filter>naive_output_cond['naive_output'] == "yes"</filter>
107 <filter>class_filter_cond['class_filter'] == "101_101"</filter>
108 </data>
109 </outputs>
110 <tests>
111 <test>
112 <param name="fast" value="yes"/>
113 <output name="out_file" file="test1.html"/>
114 </test>
115 </tests>
116 <help>
117 <![CDATA[
118 **References**
119
120 Yaari, G. and Uduman, M. and Kleinstein, S. H. (2012). Quantifying selection in high-throughput Immunoglobulin sequencing data sets. In *Nucleic Acids Research, 40 (17), pp. e134–e134.* [`doi:10.1093/nar/gks457`_]
121
122 .. _doi:10.1093/nar/gks457: http://dx.doi.org/10.1093/nar/gks457
123
124 Gupta, Namita T. and Vander Heiden, Jason A. and Uduman, Mohamed and Gadala-Maria, Daniel and Yaari, Gur and Kleinstein, Steven H. (2015). Change-O: a toolkit for analyzing large-scale B cell immunoglobulin repertoire sequencing data: Table 1. *In Bioinformatics, 31 (20), pp. 3356–3358.* [`doi:10.1093/bioinformatics/btv359`_]
125
126 .. _doi:10.1093/bioinformatics/btv359: http://dx.doi.org/10.1093/bioinformatics/btv359
127
128 -----
129
130 **Input files**
131
132 IMGT/HighV-QUEST .zip and .txz are accepted as input files. The file to be analysed can be selected using the dropdown menu.
133
134 .. class:: infomark
135
136 Note: Files can be uploaded by using “get data” and “upload file” and selecting “IMGT archive“ as a file type. Special characters should be prevented in the file names of the uploaded samples as these can give errors when running the immune repertoire pipeline. Underscores are allowed in the file names.
137
138 -----
139
140 **Sequence starts at**
141
142 Identifies the region which will be included in the analysis (analysed region)
143
144 - Sequences which are missing a gene region (FR1/CDR1 etc) in the analysed region are excluded.
145 - Sequences containing an ambiguous base in the analysed region or the CDR3 are excluded.
146 - All other filtering/analysis is based on the analysed region.
147
148 -----
149
150 **Functionality filter**
151
152 Allows filtering on productive rearrangements, unproductive rearrangements or both based on the assignment provided by IMGT.
153
154 **Filter unique sequences**
155
156 *Remove unique:*
157
158
159 This filter consists of two different steps.
160
161 Step 1: removes all sequences of which the nucleotide sequence in the “analysed region” and the CDR3 (see sequence starts at filter) occurs only once. (Sub)classes are not taken into account in this filter step.
162
163 Step 2: removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region, the CDR3 and the same (sub)class).
164
165 .. class:: infomark
166
167 This means that sequences with the same nucleotide sequence but a different (sub)class will be included in the results of both (sub)classes.
168
169 *Keep unique:*
170
171 Removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region and the same (sub)class).
172
173 Example of the sequences that are included using either the “remove unique filter” or the “keep unique filter”
174
175 +--------------------------+
176 | unique filter |
177 +--------+--------+--------+
178 | values | remove | keep |
179 +--------+--------+--------+
180 | A | A | A |
181 +--------+--------+--------+
182 | A | B | B |
183 +--------+--------+--------+
184 | B | D | C |
185 +--------+--------+--------+
186 | B | | D |
187 +--------+--------+--------+
188 | C | | |
189 +--------+--------+--------+
190 | D | | |
191 +--------+--------+--------+
192 | D | | |
193 +--------+--------+--------+
194
195 -----
196
197 **Remove duplicates based on**
198
199 Allows the selection of a single sequence per clone. Different definitions of a clone can be chosen.
200
201 .. class:: infomark
202
203 Note: The first sequence (in the data set) of each clone is always included in the analysis. When the first matched sequence is unmatched (no subclass assigned) the first matched sequence will be included. This means that altering the data order (by for instance sorting) can change the sequence which is included in the analysis and therefore slightly influences the results.
204
205 -----
206
207 **Human Class/Subclass filter**
208
209 .. class:: warningmark
210
211 Note: This filter should only be applied when analysing human IGH data in which a (sub)class specific sequence is present. Otherwise please select the do not assign (sub)class option to prevent errors when running the pipeline.
212
213 The class percentage is based on the ‘chunk hit percentage’ (see below). The subclass percentage is based on the ‘nt hit percentage’ (see below).
214
215 The SHM & CSR pipeline identifies human Cµ, Cα, Cγ and Cε constant genes by dividing the reference sequences for the subclasses (NG_001019) in 8 nucleotide chunks which overlap by 4 nucleotides. These overlapping chunks are then individually aligned in the right order to each input sequence. This alignment is used to calculate the chunck hit percentage and the nt hit percentage.
216
217 *Chunk hit percentage*: The percentage of the chunks that is aligned
218
219 *Nt hit percentage*: The percentage of chunks covering the subclass specific nucleotide match with the different subclasses. The most stringent filter for the subclass is 70% ‘nt hit percentage’ which means that 5 out of 7 subclass specific nucleotides for Cα or 6 out of 8 subclass specific nucleotides of Cγ should match with the specific subclass.
220 The option “>25% class” can be chosen when you only are interested in the class (Cα/Cγ/Cµ/Cɛ) of your sequences and the length of your sequence is not long enough to assign the subclasses.
221
222 -----
223
224 **Output new IMGT archives per class into your history?**
225
226 If yes is selected, additional output files (one for each class) will be added to the history which contain information of the sequences that passed the selected filtering criteria. These files are in the same format as the IMGT/HighV-QUEST output files and therefore are also compatible with many other analysis programs, such as the Immune repertoire pipeline.
227
228 -----
229
230 **Execute**
231
232 Upon pressing execute a new analysis is added to your history (right side of the page). Initially this analysis will be grey, after initiating the analysis colour of the analysis in the history will change to yellow. When the analysis is finished it will turn green in the history. Now the analysis can be opened by clicking on the eye icon on the analysis of interest. When an analysis turns red an error has occurred when running the analysis. If you click on the analysis title additional information can be found on the analysis. In addition a bug icon appears. Here more information on the error can be found.
233
234 ]]>
235 </help>
236 <citations>
237 <citation type="doi">10.1093/nar/gks457</citation>
238 <citation type="doi">10.1093/bioinformatics/btv359</citation>
239 </citations>
240 </tool>