view shm_csr.xml @ 4:5ffd52fc35c4 draft

Uploaded
author davidvanzessen
date Mon, 12 Dec 2016 05:22:37 -0500
parents
children
line wrap: on
line source

<tool id="shm_csr" name="SHM &amp; CSR pipeline" version="1.0">
	<description></description>
	<command interpreter="bash">
		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_uniques $class_filter_cond.class_filter $empty_region_filter $fast
	</command>
	<inputs>
		<param name="in_file" type="data" label="IMGT zip file to be analysed" />
		<param name="empty_region_filter" type="select" label="Sequence starts at" help="" >
			<option value="leader" selected="true">Leader: include FR1, CDR1, FR2, CDR2, FR3 in filters</option>
			<option value="FR1" selected="true">FR1: include CDR1,FR2,CDR2,FR3 in filters</option>
			<option value="CDR1">CDR1: include FR2,CDR2,FR3 in filters</option>
			<option value="FR2">FR2: include CDR2,FR3 in filters</option>
		</param>
		<param name="functionality" type="select" label="Functionality filter" help="" >
			<option value="productive" selected="true">Productive (Productive and Productive see comment)</option>
			<option value="unproductive">Unproductive (Unproductive and Unproductive see comment)</option>
			<option value="remove_unknown">Productive and Unproductive (Productive, Productive see comment, Unproductive, Unproductive and Unproductive see comment)</option>
		</param>
		<param name="filter_uniques" type="select" label="Filter unique sequences" help="See below for an example.">
			<option value="remove" selected="true">Remove uniques (Based on nucleotide sequence + C)</option>
			<option value="keep">Keep uniques (Based on nucleotide sequence + C)</option>
			<option value="no">No</option>
		</param>
		<param name="unique" type="select" label="Remove duplicates based on" help="" >
			<option value="VGene,CDR3.IMGT.AA,best_match_class">Top.V.Gene, CDR3 (AA), C region</option>
			<option value="VGene,CDR3.IMGT.AA">Top.V.Gene, CDR3 (AA)</option>
			<option value="CDR3.IMGT.AA,best_match_class">CDR3 (AA), C region</option>
			<option value="CDR3.IMGT.AA">CDR3 (AA)</option>
			
			<option value="VGene,CDR3.IMGT.seq,best_match_class">Top.V.Gene, CDR3 (nt), C region</option>
			<option value="VGene,CDR3.IMGT.seq">Top.V.Gene, CDR3 (nt)</option>
			<option value="CDR3.IMGT.seq,best_match_class">CDR3 (nt), C region</option>
			<option value="CDR3.IMGT.seq">CDR3 (nt)</option>
			<option value="Sequence.ID" selected="true">Don't remove duplicates</option>
		</param>
		<conditional name="class_filter_cond">
			<param name="class_filter" type="select" label="Human Class/Subclass filter" help="" >
				<option value="70_70" selected="true">>70% class and >70% subclass</option>
				<option value="60_55">>60% class and >55% subclass</option>
				<option value="70_0">>70% class</option>
				<option value="60_0">>60% class</option>
				<option value="101_101">Do not assign (sub)class</option>
			</param>
		</conditional>
		<conditional name="naive_output_cond">
			<param name="naive_output" type="select" label="Output new IMGT archives per class into your history?">
				<option value="yes">Yes</option>
				<option value="no" selected="true">No</option>
			</param>
		</conditional>
		<param name="fast" type="select" label="Fast" help="Skips generating the new ZIP files and Change-O/Baseline" >
			<option value="yes">Yes</option>
			<option value="no" selected="true">No</option>
		</param>
	</inputs>
	<outputs>
		<data format="html" name="out_file" label = "SHM &amp; CSR on ${in_file.name}"/>
		<data format="imgt_archive" name="naive_output_ca" label = "Naive CA input data from ${in_file.name}" >
		    <filter>naive_output_cond['naive_output'] == "yes"</filter>
		    <filter>class_filter_cond['class_filter'] != "101_101"</filter>
		</data>
		<data format="imgt_archive" name="naive_output_cg" label = "Naive CG input data from ${in_file.name}" >
		    <filter>naive_output_cond['naive_output'] == "yes"</filter>
		    <filter>class_filter_cond['class_filter'] != "101_101"</filter>
		</data>
		<data format="imgt_archive" name="naive_output_cm" label = "Naive CM input data from ${in_file.name}" >
		    <filter>naive_output_cond['naive_output'] == "yes"</filter>
		    <filter>class_filter_cond['class_filter'] != "101_101"</filter>
		</data>
		<data format="imgt_archive" name="naive_output_ce" label = "Naive CE input data from ${in_file.name}" >
		    <filter>naive_output_cond['naive_output'] == "yes"</filter>
		    <filter>class_filter_cond['class_filter'] != "101_101"</filter>
		</data>
		<data format="imgt_archive" name="naive_output_all" label = "Naive input data from ${in_file.name}" >
		    <filter>naive_output_cond['naive_output'] == "yes"</filter>
		    <filter>class_filter_cond['class_filter'] == "101_101"</filter>
		</data>
	</outputs>
	<citations>
		<citation type="doi">10.1093/nar/gks457</citation>
		<citation type="doi">10.1093/bioinformatics/btv359</citation>
	</citations>
	<help>
<![CDATA[
**References**

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`_]

.. _doi:10.1093/nar/gks457: http://dx.doi.org/10.1093/nar/gks457

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`_]

.. _doi:10.1093/bioinformatics/btv359: http://dx.doi.org/10.1093/bioinformatics/btv359

-----

**Input files**

IMGT/HighV-QUEST .zip and .txz are accepted as input files.

.. class:: infomark

Note: Files can be uploaded by using “get data” and “upload file” and selecting “IMGT archive“ as a file type. 

-----

**Sequence starts at**

Identifies the region which will be included in the analysis (analysed region)

- Sequences which are missing a gene region (FR1/CDR1 etc) in the analysed region are excluded
- Sequences containing an ambiguous base in the analysed region are excluded
- All other filtering/analysis is based on the analysed region

-----

**Functionality filter**

Allows filtering on productive rearrangement, unproductive rearrangements or both based on the assignment provided by IMGT. 

**Filter unique sequences**

*Remove unique:*


This filter consists of two different steps.

Step 1: removes all sequences of which the nucleotide sequence in the “analysed region” (see sequence starts at filter) occurs only once. (Sub)classes are not taken into account in this filter step.

Step 2: removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region and the same (sub)class).

.. class:: infomark

Note: This means that sequences with the same nucleotide sequence but a different (sub)class will be included in the results of both (sub)classes.

*Keep unique:*

Removes all duplicate sequences (sequences with the exact same nucleotide sequence in the analysed region and the same (sub)class).

Example of the sequences that are included using either the “remove unique filter” or the “keep unique filter”

+--------------------------+
|       unique filter      |
+--------+--------+--------+
| values | remove | keep   |
+--------+--------+--------+
|   A    |   A    |   A    |
+--------+--------+--------+
|   A    |   B    |   B    |
+--------+--------+--------+
|   B    |   D    |   C    |
+--------+--------+--------+
|   B    |        |   D    |
+--------+--------+--------+
|   C    |        |        |
+--------+--------+--------+
|   D    |        |        |
+--------+--------+--------+
|   D    |        |        |
+--------+--------+--------+

-----
 
**Remove duplicates based on**

Allows the selection of a single sequence per clone. Different definitions of a clone can be chosen. 

.. class:: infomark

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 influence results. 

-----

**Human Class/Subclass filter**

.. class:: warningmark

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. 

The class percentage is based on the ‘chunk hit percentage’ (see below). The subclass percentage is based on the ‘nt hit percentage’ (see below).

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. 

*Chunk hit percentage*: the percentage of the chunks that is aligned 

*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. 

-----

**Output new IMGT archives per class into your history?**

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 IGGalaxy. 

]]>
	</help>
</tool>