| 
3
 | 
     1 <tool id="svdetect_run_parallel" name="Detect clusters of anomalously mapped pairs">
 | 
| 
 | 
     2 
 | 
| 
 | 
     3 <description>and identify structural variants</description>
 | 
| 
 | 
     4 
 | 
| 
 | 
     5 <command interpreter="perl">SVDetect_run_parallel.pl
 | 
| 
 | 
     6 
 | 
| 
 | 
     7 #if $getLinks.linking == "linking"
 | 
| 
 | 
     8 linking
 | 
| 
 | 
     9 <!-- -out1 '$links_file' -->
 | 
| 
 | 
    10 #end if
 | 
| 
 | 
    11 #if $getFilteredLinks.filtering == "filtering"
 | 
| 
 | 
    12 filtering
 | 
| 
 | 
    13 <!--- out2 '$flinks_file' -->
 | 
| 
 | 
    14 #if str($getFilteredLinks.links2SV) == "create"
 | 
| 
 | 
    15 links2SV
 | 
| 
 | 
    16 -out3 '$sv_file'
 | 
| 
 | 
    17 #end if
 | 
| 
 | 
    18 #if  $getFilteredLinks.file_conversion.file_conversion_select=="convert" and str($getFilteredLinks.file_conversion.links2circos) == "create"
 | 
| 
 | 
    19 links2circos
 | 
| 
 | 
    20 -out4 '$circos_file'
 | 
| 
 | 
    21 #end if
 | 
| 
 | 
    22 #if  $getFilteredLinks.file_conversion.file_conversion_select=="convert" and str($getFilteredLinks.file_conversion.links2bed) == "create"
 | 
| 
 | 
    23 links2bed
 | 
| 
 | 
    24 -out5 '$bed_file'
 | 
| 
 | 
    25 #end if
 | 
| 
 | 
    26 #end if
 | 
| 
 | 
    27 -conf '$config_file'
 | 
| 
 | 
    28 -l '$log_file'
 | 
| 
 | 
    29 -N '$sample_name'
 | 
| 
 | 
    30 
 | 
| 
 | 
    31 </command>
 | 
| 
 | 
    32 
 | 
| 
 | 
    33 <inputs>
 | 
| 
 | 
    34 	<param name="sample_name" type="text" value="sample" label="Sample Name"/>
 | 
| 
 | 
    35 	<param name="mates_file" format="bam" type="data" label="Input BAM file (.ab.bam)"/>
 | 
| 
 | 
    36    	<param name="cmap_file" format="len" type="data" label="Chromosomes list file (.len)" help="Tabulated file format with Chromosome ID (integer from 1), name and length"/>
 | 
| 
 | 
    37   	<param name="mates_orientation" type="select" format="txt" label="Type of sequencing technology and libraries">
 | 
| 
 | 
    38 		<option value="FR">Illumina paired-ends</option>
 | 
| 
 | 
    39 		<option value="RF">Illumina mate-pairs</option>
 | 
| 
 | 
    40 		<option value="FR">SOLiD paired-ends</option>
 | 
| 
 | 
    41 		<option value="RR">SOLiD mate-pairs</option>
 | 
| 
 | 
    42    	</param>
 | 
| 
 | 
    43 	<param name="read1_length" type="integer" size="10" value="50" label="Read 1 length (bp)" help="Length of the first read in a pair (left read)"/>
 | 
| 
 | 
    44 	<param name="read2_length" type="integer" size="10" value="50" label="Read 2 length (bp)" help="Length of the second read in a pair (right read)"/>
 | 
| 
 | 
    45 	<param name="sv_type" type="select" format="txt" label="Type of SV to detect">
 | 
| 
 | 
    46 		<option value="all">all types of SVs</option>
 | 
| 
 | 
    47 		<option value="intra">intrachromosomal SVs only</option>
 | 
| 
 | 
    48 		<option value="inter">interchromosomal SVs only</option>
 | 
| 
 | 
    49   	</param>
 | 
| 
 | 
    50    	
 | 
| 
 | 
    51    	<conditional name="getLinks">
 | 
| 
 | 
    52    		<param name="linking" type="select" label="Linking procedure" help="Detection and isolation of links">
 | 
| 
 | 
    53 			<option value="linking">Yes</option>
 | 
| 
 | 
    54 			<option value="">No, already done</option>
 | 
| 
 | 
    55   		</param>
 | 
| 
 | 
    56 		<when value="">
 | 
| 
 | 
    57     			<!-- do nothing here -->
 | 
| 
 | 
    58    		</when>
 | 
| 
 | 
    59     		<when value="linking">
 | 
| 
 | 
    60 			<param name="splitmate" label="Do you want to split the original mate file per chromosome for parallel computing?" type="boolean" truevalue="split" falsevalue="do_not_split" checked="True" help="Untick it if already done"/>
 | 
| 
 | 
    61     			<param name="window_size" type="integer" size="20" value="3000" label="Window size (bp)" help="Equal to at least “2µ+2√2σ"/>
 | 
| 
 | 
    62 			<param name="step_length" type="integer" size="20" value="250" label="Step length size (bp)" help="Equal to 1/2 or 1/4 of the window size"/>
 | 
| 
 | 
    63     		</when>
 | 
| 
 | 
    64    	</conditional>
 | 
| 
 | 
    65 
 | 
| 
 | 
    66    	<conditional name="getFilteredLinks">
 | 
| 
 | 
    67 	   	<param name="filtering" type="select" label="Filtering procedure" help="Filtering of links according different parameters and thresholds">
 | 
| 
 | 
    68 			<option value="filtering">Yes</option>
 | 
| 
 | 
    69                         <option value="">No</option>
 | 
| 
 | 
    70 	  	</param>
 | 
| 
 | 
    71 		<when value="">
 | 
| 
 | 
    72 	    		<!-- do nothing here -->
 | 
| 
 | 
    73 	   	</when>
 | 
| 
 | 
    74 	    	<when value="filtering">
 | 
| 
 | 
    75 			
 | 
| 
 | 
    76 			<param name="splitlink" label="Do you want to split the original link file per chromosome for parallel computing?" type="boolean" truevalue="split" falsevalue="do_not_split" checked="False" help="Untick it if (the linking is) already done"/>
 | 
| 
 | 
    77 			<param name="chromosomes" type="text" size="20" label="List of chromosome names to keep or exclude"/>
 | 
| 
 | 
    78 			<param name="nb_pairs_threshold" type="integer" size="20" value="5" label="Minimum number of pairs in a cluster"/>
 | 
| 
 | 
    79 		
 | 
| 
 | 
    80 			<conditional name="filter1">
 | 
| 
 | 
    81 	   			<param name="strand_filtering" type="select" label="Strand filtering procedure">
 | 
| 
 | 
    82 					<option value="strand">Yes</option>
 | 
| 
 | 
    83 					<option value="">No</option>
 | 
| 
 | 
    84 	  			</param>
 | 
| 
 | 
    85 				<when value="">
 | 
| 
 | 
    86 	    				<!-- do nothing here -->
 | 
| 
 | 
    87 	   			</when>
 | 
| 
 | 
    88 	    			<when value="strand">
 | 
| 
 | 
    89 
 | 
| 
 | 
    90 					<conditional name="filter2">
 | 
| 
 | 
    91 			   			<param name="order_filtering" type="select" label="Order filtering procedure">
 | 
| 
 | 
    92 							<option value="order">Yes</option>
 | 
| 
 | 
    93 							<option value="">No</option>
 | 
| 
 | 
    94 			  			</param>
 | 
| 
 | 
    95 						<when value="">
 | 
| 
 | 
    96 			    				<!-- do nothing here -->
 | 
| 
 | 
    97 			   			</when>
 | 
| 
 | 
    98 			    			<when value="order">
 | 
| 
 | 
    99 
 | 
| 
 | 
   100 							<conditional name="filter3">
 | 
| 
 | 
   101 					   			<param name="insert_size_filtering" type="select" label="Insert-size filtering procedure">
 | 
| 
 | 
   102 									<option value="insert">Yes</option>
 | 
| 
 | 
   103 									<option value="">No</option>
 | 
| 
 | 
   104 					  			</param>
 | 
| 
 | 
   105 								<when value="">
 | 
| 
 | 
   106 					    				<!-- do nothing here -->
 | 
| 
 | 
   107 					   			</when>
 | 
| 
 | 
   108 					    			<when value="insert">
 | 
| 
 | 
   109 									<param name="indel_sigma_threshold" type="float" size="20" value="3" label="Minimal number of sigma fold for the insert size filtering and to call insertions and deletions"/>
 | 
| 
 | 
   110 									<param name="dup_sigma_threshold" type="float" size="20" value="3" label="minimal number of sigma fold for the insert size filtering to call tandem duplications"/>
 | 
| 
 | 
   111 									<param name="singleton_sigma_threshold" type="float" size="20" value="4" label="Minimal number of sigma fold for the insert size filtering to call singletons" help="for Illumina mate-pairs only"/>
 | 
| 
 | 
   112 			    					</when>
 | 
| 
 | 
   113 			   				</conditional>
 | 
| 
 | 
   114 
 | 
| 
 | 
   115 							<param name="mu_length" type="integer" size="20" value="3000" label="Mean insert size value (µ) of normally mapped mate-pairs, in bp"/>
 | 
| 
 | 
   116 							<param name="sigma_length" type="integer" size="20" value="250" label="Calculated sd value (σ) from the distribution of normally mapped  mate-pairs, in bp"/>
 | 
| 
 | 
   117 			    				<param name="nb_pairs_order_threshold" type="integer" size="20" value="2" label="Minimal number of pairs in a subgroup of paired-end reads for balanced events"/>
 | 
| 
 | 
   118 			    			</when>
 | 
| 
 | 
   119 			   		</conditional>
 | 
| 
 | 
   120 						
 | 
| 
 | 
   121 					<param name="final_score_threshold" type="float" size="20"  value="1.0" label="Minimal final filtering score for calling SVs" help="A value of 1 means all the pairs in a cluster were consistent between each other after applying filters"/>
 | 
| 
 | 
   122 	    			</when>
 | 
| 
 | 
   123 	   		</conditional>
 | 
| 
 | 
   124 		
 | 
| 
 | 
   125 			<param name="links2SV" label="Do you want to have filtered links in a tabulated file format showing significant SVs?" type="boolean" truevalue="create" falsevalue="do_not_create" checked="True"/>
 | 
| 
 | 
   126 		
 | 
| 
 | 
   127 			<conditional name="file_conversion">
 | 
| 
 | 
   128 				<param name="file_conversion_select" type="select" label="Output file conversion" help="Converts filtered links to Circos/BED files format for graphical view of SVs">
 | 
| 
 | 
   129 					<option value="do_not_convert">No</option>
 | 
| 
 | 
   130 					<option value="convert">Yes</option>
 | 
| 
 | 
   131 				</param>
 | 
| 
 | 
   132 				<when value="do_not_convert">
 | 
| 
 | 
   133 					    <!-- do nothing here -->
 | 
| 
 | 
   134 				</when>
 | 
| 
 | 
   135 				<when value="convert">
 | 
| 
 | 
   136 					<param name="links2circos" label="Converts the link list to the Circos link format" type="boolean" truevalue="create" falsevalue="do_not_create" checked="True"/>
 | 
| 
 | 
   137 					<param name="links2bed" label="Converts the link list to the UCSC BED format" type="boolean" truevalue="create" falsevalue="do_not_create" checked="False"/>
 | 
| 
 | 
   138 					<param name="organism_id" type="text" size="10" value="hs" label="Organism ID"/>
 | 
| 
 | 
   139 					<repeat name="color_code" title="Color-code" min="1" max="7">
 | 
| 
 | 
   140 						<param name="color" type="select" label="Color">
 | 
| 
 | 
   141 							<option value="grey">grey</option>
 | 
| 
 | 
   142 							<option value="black">black</option>
 | 
| 
 | 
   143 							<option value="blue">blue</option>
 | 
| 
 | 
   144 							<option value="green">green</option>
 | 
| 
 | 
   145 							<option value="purple">purple</option>
 | 
| 
 | 
   146 							<option value="orange">orange</option>
 | 
| 
 | 
   147 							<option value="red">red</option>
 | 
| 
 | 
   148 						</param>
 | 
| 
 | 
   149 						<param name="interval" type="text" value="1,3" label="Interval"/>
 | 
| 
 | 
   150 					</repeat>
 | 
| 
 | 
   151 				</when>
 | 
| 
 | 
   152 			</conditional>
 | 
| 
 | 
   153     		</when>
 | 
| 
 | 
   154 	</conditional>
 | 
| 
 | 
   155 </inputs>
 | 
| 
 | 
   156 
 | 
| 
 | 
   157 
 | 
| 
 | 
   158 <outputs>
 | 
| 
 | 
   159 	<!--<data format="txt" name="links_file" label="svdetect.links">
 | 
| 
 | 
   160 		<filter>getLinks['linking']=="linking"</filter>
 | 
| 
 | 
   161 	</data>
 | 
| 
 | 
   162 	<data format="txt" name="flinks_file" label="svdetect.links.filtered">
 | 
| 
 | 
   163 		<filter>getFilteredLinks['filtering']=="filtering"</filter>
 | 
| 
 | 
   164 	</data>-->
 | 
| 
 | 
   165 	<data format="sv" name="sv_file" label="${sample_name}.sv">
 | 
| 
 | 
   166 		<filter>(
 | 
| 
 | 
   167 			getFilteredLinks['filtering']=="filtering" and
 | 
| 
 | 
   168 			getFilteredLinks['links2SV'] is True
 | 
| 
 | 
   169 			)
 | 
| 
 | 
   170 	         </filter>
 | 
| 
 | 
   171 	</data>
 | 
| 
 | 
   172 	<data format="segdup" name="circos_file" label="${sample_name}.segdup">
 | 
| 
 | 
   173 		<filter>(
 | 
| 
 | 
   174 			getFilteredLinks['filtering']=="filtering" and
 | 
| 
 | 
   175 			getFilteredLinks['file_conversion']['file_conversion_select']=="convert" and
 | 
| 
 | 
   176 			getFilteredLinks['file_conversion']['links2circos'] is True
 | 
| 
 | 
   177 			)
 | 
| 
 | 
   178 	         </filter>
 | 
| 
 | 
   179 	</data>
 | 
| 
 | 
   180 	<data format="bed" name="bed_file" label="${sample_name}.bed">
 | 
| 
 | 
   181 		<filter>(
 | 
| 
 | 
   182 			getFilteredLinks['filtering']=="filtering" and
 | 
| 
 | 
   183 			getFilteredLinks['file_conversion']['file_conversion_select']=="convert" and
 | 
| 
 | 
   184 			getFilteredLinks['file_conversion']['links2bed'] is True
 | 
| 
 | 
   185 			)
 | 
| 
 | 
   186 	         </filter>
 | 
| 
 | 
   187 	</data>
 | 
| 
 | 
   188 	<data format="txt" name="log_file" label="${sample_name}.svdetect_run.log"/>
 | 
| 
 | 
   189 </outputs>
 | 
| 
 | 
   190 
 | 
| 
 | 
   191 
 | 
| 
 | 
   192 
 | 
| 
 | 
   193 <configfiles>
 | 
| 
 | 
   194 	<configfile name="config_file">
 | 
| 
 | 
   195 <general>
 | 
| 
 | 
   196 input_format = bam
 | 
| 
 | 
   197 sv_type = ${sv_type}
 | 
| 
 | 
   198 mates_orientation=${mates_orientation}
 | 
| 
 | 
   199 read1_length=${read1_length}
 | 
| 
 | 
   200 read2_length=${read2_length}
 | 
| 
 | 
   201 mates_file=${mates_file}
 | 
| 
 | 
   202 cmap_file=${cmap_file}
 | 
| 
 | 
   203 tmp_dir=$__new_file_path__/svdetect/tmp
 | 
| 
 | 
   204 output_dir=$__new_file_path__/svdetect
 | 
| 
 | 
   205 num_threads=8
 | 
| 
 | 
   206 </general> 
 | 
| 
 | 
   207 
 | 
| 
 | 
   208 #if $getLinks.linking == "linking"
 | 
| 
 | 
   209 <detection>
 | 
| 
 | 
   210 #if str($getLinks.splitmate) == "split"
 | 
| 
 | 
   211 split_mate_file=1
 | 
| 
 | 
   212 #else
 | 
| 
 | 
   213 split_mate_file=0
 | 
| 
 | 
   214 #end if
 | 
| 
 | 
   215 window_size=${getLinks.window_size}
 | 
| 
 | 
   216 step_length=${getLinks.step_length}
 | 
| 
 | 
   217 </detection> 
 | 
| 
 | 
   218 #end if
 | 
| 
 | 
   219 
 | 
| 
 | 
   220 #if $getFilteredLinks.filtering == "filtering"
 | 
| 
 | 
   221 <filtering>
 | 
| 
 | 
   222 #if str($getFilteredLinks.splitlink) == "split"
 | 
| 
 | 
   223 split_link_file=1
 | 
| 
 | 
   224 #else
 | 
| 
 | 
   225 split_link_file=0
 | 
| 
 | 
   226 #end if
 | 
| 
 | 
   227 #if str($getFilteredLinks.chromosomes) != ""
 | 
| 
 | 
   228 chromosomes=${getFilteredLinks.chromosomes}
 | 
| 
 | 
   229 #end if
 | 
| 
 | 
   230 nb_pairs_threshold=${getFilteredLinks.nb_pairs_threshold}
 | 
| 
 | 
   231 #if $getFilteredLinks.filter1.strand_filtering == "strand"
 | 
| 
 | 
   232 strand_filtering=1
 | 
| 
 | 
   233 final_score_threshold=${getFilteredLinks.filter1.final_score_threshold}
 | 
| 
 | 
   234 #if $getFilteredLinks.filter1.filter2.order_filtering == "order"
 | 
| 
 | 
   235 order_filtering=1
 | 
| 
 | 
   236 mu_length=${getFilteredLinks.filter1.filter2.mu_length}
 | 
| 
 | 
   237 sigma_length=${getFilteredLinks.filter1.filter2.sigma_length}
 | 
| 
 | 
   238 nb_pairs_order_threshold=${getFilteredLinks.filter1.filter2.nb_pairs_order_threshold}
 | 
| 
 | 
   239 #if $getFilteredLinks.filter1.filter2.filter3.insert_size_filtering == "insert"
 | 
| 
 | 
   240 insert_size_filtering=1
 | 
| 
 | 
   241 indel_sigma_threshold=${getFilteredLinks.filter1.filter2.filter3.indel_sigma_threshold}
 | 
| 
 | 
   242 dup_sigma_threshold=${getFilteredLinks.filter1.filter2.filter3.dup_sigma_threshold}
 | 
| 
 | 
   243 singleton_sigma_threshold=${getFilteredLinks.filter1.filter2.filter3.singleton_sigma_threshold}
 | 
| 
 | 
   244 #else
 | 
| 
 | 
   245 insert_size_filtering=0
 | 
| 
 | 
   246 #end if
 | 
| 
 | 
   247 #else
 | 
| 
 | 
   248 order_filtering=0
 | 
| 
 | 
   249 #end if
 | 
| 
 | 
   250 #else
 | 
| 
 | 
   251 strand_filtering=0
 | 
| 
 | 
   252 #end if
 | 
| 
 | 
   253 </filtering> 
 | 
| 
 | 
   254 #end if
 | 
| 
 | 
   255 
 | 
| 
 | 
   256 #if $getFilteredLinks.filtering == "filtering"
 | 
| 
 | 
   257 #if $getFilteredLinks.file_conversion.file_conversion_select == "convert"
 | 
| 
 | 
   258 #if str($getFilteredLinks.file_conversion.links2circos) == "create"
 | 
| 
 | 
   259 <circos>
 | 
| 
 | 
   260 organism_id=${getFilteredLinks.file_conversion.organism_id}
 | 
| 
 | 
   261 <colorcode>
 | 
| 
 | 
   262 #for $color_repeat in $getFilteredLinks.file_conversion.color_code
 | 
| 
 | 
   263 ${color_repeat.color}=${color_repeat.interval}
 | 
| 
 | 
   264 #end for
 | 
| 
 | 
   265 </colorcode>
 | 
| 
 | 
   266 </circos>
 | 
| 
 | 
   267 #end if
 | 
| 
 | 
   268 #if str($getFilteredLinks.file_conversion.links2bed) == "create"
 | 
| 
 | 
   269 <bed>
 | 
| 
 | 
   270 <colorcode>
 | 
| 
 | 
   271 #for $color_repeat in $getFilteredLinks.file_conversion.color_code
 | 
| 
 | 
   272 #if str($color_repeat.color)== "grey"
 | 
| 
 | 
   273 190,190,190=${color_repeat.interval}
 | 
| 
 | 
   274 #end if
 | 
| 
 | 
   275 #if str($color_repeat.color)== "black"
 | 
| 
 | 
   276 0,0,0=${color_repeat.interval}
 | 
| 
 | 
   277 #end if
 | 
| 
 | 
   278 #if str($color_repeat.color)== "blue"
 | 
| 
 | 
   279 0,0,255=${color_repeat.interval}
 | 
| 
 | 
   280 #end if
 | 
| 
 | 
   281 #if str($color_repeat.color)== "green"
 | 
| 
 | 
   282 0,255,0=${color_repeat.interval}
 | 
| 
 | 
   283 #end if
 | 
| 
 | 
   284 #if str($color_repeat.color)== "purple"
 | 
| 
 | 
   285 153,50,205=${color_repeat.interval}
 | 
| 
 | 
   286 #end if
 | 
| 
 | 
   287 #if str($color_repeat.color)== "orange"
 | 
| 
 | 
   288 255,140,0=${color_repeat.interval}
 | 
| 
 | 
   289 #end if
 | 
| 
 | 
   290 #if str($color_repeat.color)== "red"
 | 
| 
 | 
   291 255,0,0=${color_repeat.interval}
 | 
| 
 | 
   292 #end if
 | 
| 
 | 
   293 #end for
 | 
| 
 | 
   294 </colorcode>
 | 
| 
 | 
   295 </bed>
 | 
| 
 | 
   296 #end if
 | 
| 
 | 
   297 #end if
 | 
| 
 | 
   298 #end if	
 | 
| 
 | 
   299 	</configfile>
 | 
| 
 | 
   300 </configfiles>
 | 
| 
 | 
   301 
 | 
| 
 | 
   302   <help>
 | 
| 
 | 
   303 **What it does**
 | 
| 
 | 
   304 
 | 
| 
 | 
   305 SVDetect - Version : 0.8b
 | 
| 
 | 
   306 
 | 
| 
 | 
   307 Parallel version (nCPU=8)
 | 
| 
 | 
   308 
 | 
| 
 | 
   309 SVDetect is a application for the isolation and the type prediction of intra- and inter-chromosomal rearrangements from paired-end/mate-pair sequencing data provided by the high-throughput sequencing technologies
 | 
| 
 | 
   310 
 | 
| 
 | 
   311 This tool aims to identifying structural variations (SVs) with both clustering and sliding-window strategies, and helping in their visualization at the genome scale.
 | 
| 
 | 
   312 SVDetect is compatible with SOLiD and Illumina (>=1.3) reads.
 | 
| 
 | 
   313 
 | 
| 
 | 
   314 Manual documentation available at the http://svdetect.sourceforge.net/Site/Manual.html
 | 
| 
 | 
   315 
 | 
| 
 | 
   316 -----
 | 
| 
 | 
   317 
 | 
| 
 | 
   318 .. class:: infomark
 | 
| 
 | 
   319 
 | 
| 
 | 
   320 Contact Bruno Zeitouni (svdetect@curie.fr) for any questions or concerns about the Galaxy implementation of SVDetect.
 | 
| 
 | 
   321 
 | 
| 
 | 
   322   </help>
 | 
| 
 | 
   323 
 | 
| 
 | 
   324 </tool>
 |