comparison igv_make_screenshots.xml @ 31:474837e086cc draft

planemo upload for repository https://github.com/bardin-lab/readtagger/tree/master/galaxy commit cfa400e89cb4bb8de9ca2ca75ee2e50b77c9a610
author mvdbeek
date Sun, 20 Jan 2019 13:30:21 -0500
parents 9d6b4d2ca187
children 9382c8499e73
comparison
equal deleted inserted replaced
30:9d6b4d2ca187 31:474837e086cc
13 #import re 13 #import re
14 #set $path="%s.%s.%s" % ($i, re.sub('[^\w\-_]', '_', $inputsection.input.element_identifier), $inputsection.input.extension) 14 #set $path="%s.%s.%s" % ($i, re.sub('[^\w\-_]', '_', $inputsection.input.element_identifier), $inputsection.input.extension)
15 ]]></token> 15 ]]></token>
16 </macros> 16 </macros>
17 <requirements> 17 <requirements>
18 <!-- Conda can't give us a fully functioning xvfb at this time,
19 need to use custom built container
18 <requirement type="package" version="0.2.9">xvfbwrapper</requirement> 20 <requirement type="package" version="0.2.9">xvfbwrapper</requirement>
19 <!-- TODO: uncomment when igv in conda 21 <requirement type="package" version="2.4.9">igv</requirement>
20 <requirement type="package" version="2.3.93">igv</requirement> 22 <requirement type="package" version="1.6.6">xorg-libx11</requirement>
23 <requirement type="package" version="1.17.4">xorg-x11-server-xvfb-cos6-x86_64</requirement>
24 <requirement type="package" version="11.0.7">mesa-libgl-cos6-x86_64</requirement>
25 <requirement type="package" version="2.0.94">libselinux-cos6-x86_64</requirement>
26 <requirement type="package" version="1.0.2">openssl</requirement>
27 <requirement type="package" version="1.9">samtools</requirement>
28 <requirement type="package" version="8.30">coreutils</requirement>
21 --> 29 -->
30 <container type="docker">mvdbeek/igv_make_screenshots:0.1.2</container>
22 </requirements> 31 </requirements>
23 <command detect_errors="exit_code"><![CDATA[ 32 <command detect_errors="exit_code"><![CDATA[
24 #if $genome_source.input_type_selector == 'history': 33 #if $genome_source.input_type_selector == 'history':
25 ln -s '$genome_source.genome' genome.fa && 34 ln -s '$genome_source.genome' genome.fa &&
26 #else: 35 #else:
27 ln -s '$genome_source.genome.fields.path' genome.fa && 36 ln -s '$genome_source.genome.fields.path' genome.fa &&
28 #end if 37 #end if
29 samtools faidx genome.fa && 38 samtools faidx genome.fa &&
30 sed -i.bak -e "s|\"genome.fa\"|\"\$PWD/genome.fa\"|g" '$igv_session' && 39 cp '$igv_session' igv_session.xml &&
40 sed -i.bak -e "s|\"genome.fa\"|\"\$PWD/genome.fa\"|g" igv_session.xml &&
31 #for $i, $inputsection in enumerate($inputfiles): 41 #for $i, $inputsection in enumerate($inputfiles):
32 @PATH@ 42 @PATH@
33 ln -fs '$inputsection.input' '$path' && 43 ln -fs '$inputsection.input' '$path' &&
34 sed -i.bak -e "s|\"$path\"|\"\$PWD/$path\"|g" '$igv_session' && 44 sed -i.bak -e "s|\"$path\"|\"\$PWD/$path\"|g" igv_session.xml &&
35 #if $inputsection.input.is_of_type('bam') 45 #if $inputsection.input.is_of_type('bam')
36 ln -fs $inputsection.input.metadata.bam_index '$path'.bai && 46 ln -fs $inputsection.input.metadata.bam_index '$path'.bai &&
37 #end if 47 #end if
38 #end for 48 #end for
39 ln -fs $igv_session igv_session.xml &&
40 cat '$load_session' > load_session.txt && 49 cat '$load_session' > load_session.txt &&
41 echo snapshotDirectory "\$PWD" >> load_session.txt && 50 echo snapshotDirectory "\$PWD" >> load_session.txt &&
42 cat load_session.txt '$script_file' '$exit_session' > igv_script.txt && 51 cat load_session.txt '$script_file' '$exit_session' > igv_script.txt &&
43 cp '$igv_session_remote' '$igv_session_out' 52 cp '$igv_session_remote' '$igv_session_out'
44 #if not $skip_screenshots: 53 #if not $skip_screenshots:
45 && python $__tool_directory__/xvfb_igv.py igv_script.txt '$igv_preferences' $width,$height && 54 && python $__tool_directory__/xvfb_igv.py igv_script.txt '$igv_preferences' $width,$height &&
46 zip screenshots.zip *.png && 55 mkdir screenshots && mv *.png screenshots
47 cp screenshots.zip '$screenshots_out'
48 #end if 56 #end if
49 ]]></command> 57 ]]></command>
50 <configfiles> 58 <configfiles>
51 <configfile name="igv_session"><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="no"?> 59 <configfile name="igv_session"><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="no"?>
52 <Session genome="genome.fa" hasGeneTrack="false" hasSequenceTrack="true" version="8"> 60 <Session genome="genome.fa" hasGeneTrack="false" hasSequenceTrack="true" version="8">
160 <param name="script_file" type="data" format="txt" label="Select a IGV script with regions for which to take screenshots"/> 168 <param name="script_file" type="data" format="txt" label="Select a IGV script with regions for which to take screenshots"/>
161 <param name="width" label="Select the screenshot width" type="integer" min="800" value="1920"/> 169 <param name="width" label="Select the screenshot width" type="integer" min="800" value="1920"/>
162 <param name="height" label="Select the screenshot height" type="integer" min="640" value="1080"/> 170 <param name="height" label="Select the screenshot height" type="integer" min="640" value="1080"/>
163 </inputs> 171 </inputs>
164 <outputs> 172 <outputs>
165 <data name="igv_session_out" format="xml"/> 173 <data name="igv_session_out" format="xml" label="IGV session for ${on_string}"/>
166 <data name="screenshots_out" format="zip"> 174 <collection name="screenshots_out" type="list" label="IGV screenshots for ${on_string}">
167 <filter>skip_screenshots == False</filter> 175 <filter>skip_screenshots == False</filter>
168 </data> 176 <discover_datasets pattern="__name_and_ext__" directory="screenshots" />
177 </collection>
169 </outputs> 178 </outputs>
170 <tests> 179 <tests>
171 <test> 180 <test>
172 <param name="genome_source|input_type_selector" value="history"/> 181 <param name="genome_source|input_type_selector" value="history"/>
173 <param name="genome_source|genome" value="rover_reference.fa"/> 182 <param name="genome_source|genome" value="rover_reference.fa"/>
183 <param name="script_file" value="complete_batchscript.txt"/>
174 <repeat name="inputfiles"> 184 <repeat name="inputfiles">
175 <param name="input" value="rover_corrected.bam"/> 185 <param name="input" value="rover_corrected.bam"/>
176 </repeat> 186 </repeat>
177 <output name="igv_session_out" file="igv_session.xml" lines_diff="6"/> 187 <output name="igv_session_out" file="igv_session.xml" lines_diff="6"/>
188 <output_collection name="screenshots_out" type="list" count="1"/>
178 </test> 189 </test>
179 </tests> 190 </tests>
180 <help><![CDATA[ 191 <help><![CDATA[
181 This tool can automate taking screenshots using IGV. 192 This tool can automate taking screenshots using IGV.
182 It takes as input a reference genome, an IGV script file (bedtools igv can produce such a file) 193 It takes as input a reference genome, an IGV script file (bedtools igv can produce such a file)