Mercurial > repos > mvdbeek > igv_take_screenshots
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) |