Mercurial > repos > iuc > circos
comparison circos.xml @ 6:740057a5126d draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/circos commit 1584882716a1d2c598e8485da9d73bcf80d9b29a"
author | iuc |
---|---|
date | Fri, 01 May 2020 07:28:50 -0400 |
parents | 184dfd9e113d |
children | 4b519282a05b |
comparison
equal
deleted
inserted
replaced
5:a64dc31ab7f2 | 6:740057a5126d |
---|---|
1 <?xml version="1.0"?> | 1 <?xml version="1.0"?> |
2 <tool id="circos" name="Circos" version="@WRAPPER_VERSION@"> | 2 <tool id="circos" name="Circos" version="@WRAPPER_VERSION@"> |
3 <description>visualizes data in a circular layout</description> | 3 <description>visualizes data in a circular layout</description> |
4 <xrefs> | |
5 <xref type="bio.tools">galactic_circos</xref> | |
6 <!--<xref type="bioconda">circos</xref>--> | |
7 <!--<xref type="rrid">RRID:SCR_018207</xref>--> | |
8 </xrefs> | |
4 <macros> | 9 <macros> |
5 <import>macros.xml</import> | 10 <import>macros.xml</import> |
6 <import>macros_conffiles.xml</import> | 11 <import>macros_conffiles.xml</import> |
7 <import>macros_tests.xml</import> | 12 <import>macros_tests.xml</import> |
8 </macros> | 13 </macros> |
9 <expand macro="requirements"/> | 14 <expand macro="requirements"/> |
10 <version_command>circos --version</version_command> | 15 <version_command>circos --version</version_command> |
11 <command detect_errors="exit_code"><![CDATA[ | 16 <stdio> |
17 <!-- Anything other than zero is an error --> | |
18 <exit_code range="1:"/> | |
19 <exit_code range=":-1"/> | |
20 <!-- In case the return code has not been set propery check stderr too --> | |
21 <regex match="Circos::Error::fatal_error.* called at"/> | |
22 </stdio> | |
23 <command><![CDATA[ | |
12 ## Directory structure | 24 ## Directory structure |
13 mkdir -p circos/conf/ circos/data/ && | 25 mkdir -p circos/conf/ circos/data/ && |
14 | 26 |
15 #if $reference_genome.ref.ref_source == 'history': | 27 #if $reference_genome.ref.ref_source == 'history': |
16 ln -s '$reference_genome.ref.genome_fasta' genomeref.fa && | 28 ln -s '$reference_genome.ref.genome_fasta' genomeref.fa && |
27 #else | 39 #else |
28 ## Otherwise only the reduced list, as the full list will often overwhelm circos | 40 ## Otherwise only the reduced list, as the full list will often overwhelm circos |
29 <(head -n 50 '${reference_genome.ref.fasta_indexes.fields.len_path}') | 41 <(head -n 50 '${reference_genome.ref.fasta_indexes.fields.len_path}') |
30 #end if | 42 #end if |
31 #end if | 43 #end if |
32 '${ideogram.color}' | 44 '${reference_genome.ref.color}' |
33 > circos/conf/karyotype.txt && | 45 > circos/conf/karyotype.txt && |
34 #else if $reference_genome.ref.ref_source == 'karyotype': | 46 #else if $reference_genome.ref.ref_source == 'karyotype': |
35 cp $reference_genome.ref.input_karyotype circos/conf/karyotype.txt && | 47 cp $reference_genome.ref.input_karyotype circos/conf/karyotype.txt && |
36 #else if str($reference_genome.ref.ref_source) == 'history': | 48 #else if str($reference_genome.ref.ref_source) == 'history': |
37 ## Process the karyotype.txt file | 49 ## Process the karyotype.txt file |
38 python | 50 python |
39 '$__tool_directory__/fasta-to-karyotype.py' | 51 '$__tool_directory__/fasta-to-karyotype.py' |
40 genomeref.fa | 52 genomeref.fa |
41 '${ideogram.color}' | 53 '${reference_genome.ref.color}' |
42 | 54 |
43 > circos/conf/karyotype.txt && | 55 > circos/conf/karyotype.txt && |
56 #else if $reference_genome.ref.ref_source == 'preset': | |
57 cp '$__tool_directory__/karyotype/'${reference_genome.ref.preset_karyotype} circos/conf/karyotype.txt && | |
44 #end if | 58 #end if |
45 | 59 |
46 touch circos/conf/karyotype-colors.conf && | 60 touch circos/conf/karyotype-colors.conf && |
47 #if $ideogram.bands.bands: | 61 |
48 #if $ideogram.bands.convert_bands: | 62 ## #if $ideogram.bands.bands: |
49 python '$__tool_directory__/process-cytogenetic-bands.py' | 63 ## #if $ideogram.bands.convert_bands: |
50 '${ideogram.bands.bands}' | 64 ## python '$__tool_directory__/process-cytogenetic-bands.py' |
51 >> circos/conf/karyotype.txt | 65 ## '${ideogram.bands.bands}' |
52 2> circos/conf/karyotype-colors.conf && | 66 ## >> circos/conf/karyotype.txt |
53 #else | 67 ## 2> circos/conf/karyotype-colors.conf && |
54 cat '${ideogram.bands.bands}' | 68 ## #else |
55 >> circos/conf/karyotype.txt && | 69 ## cat '${ideogram.bands.bands}' |
56 #end if | 70 ## >> circos/conf/karyotype.txt && |
57 #end if | 71 ## #end if |
72 ## #end if | |
58 | 73 |
59 #if $plot_options.colour_profile: | 74 #if $plot_options.colour_profile: |
60 #if str($plot_options.colour_profile) == 'cg': | 75 #if str($plot_options.colour_profile) == 'cg': |
61 cat '$__tool_directory__/colours/cg.conf' >> circos/conf/karyotype-colors.conf && | 76 cat '$__tool_directory__/colours/cg.conf' >> circos/conf/karyotype-colors.conf && |
62 #end if | 77 #end if |
64 | 79 |
65 cp '$circos_conf' circos/conf/circos.conf && | 80 cp '$circos_conf' circos/conf/circos.conf && |
66 cp '$ticks_conf' circos/conf/ticks.conf && | 81 cp '$ticks_conf' circos/conf/ticks.conf && |
67 cp '$ideogram_conf' circos/conf/ideogram.conf && | 82 cp '$ideogram_conf' circos/conf/ideogram.conf && |
68 cp '$data_conf' circos/conf/data.conf && | 83 cp '$data_conf' circos/conf/data.conf && |
69 cp '$highlight_conf' circos/conf/highlight.conf && | |
70 cp '$links_conf' circos/conf/links.conf && | 84 cp '$links_conf' circos/conf/links.conf && |
71 cp '$test_case_conf' circos/conf/galaxy_test_case.json && | 85 cp '$test_case_conf' circos/conf/galaxy_test_case.json && |
72 | |
73 ## Highlights | |
74 #for $hi, $data in enumerate($sec_highlight.data): | |
75 cp '${data.data_source}' circos/data/highlight-${hi}.txt && | |
76 #end for | |
77 | 86 |
78 ## 2D Data Plots | 87 ## 2D Data Plots |
79 #for $hi, $data in enumerate($sec_tdd.data): | 88 #for $hi, $data in enumerate($sec_tdd.data): |
80 cp '${data.plot_format.data_source}' circos/data/data-${hi}.txt && | 89 cp '${data.plot_format.data_source}' circos/data/data-${hi}.txt && |
81 #end for | 90 #end for |
97 <expand macro="configfile_circos_conf" /> | 106 <expand macro="configfile_circos_conf" /> |
98 <expand macro="configfile_ticks_conf" /> | 107 <expand macro="configfile_ticks_conf" /> |
99 <expand macro="configfile_ideogram_conf" /> | 108 <expand macro="configfile_ideogram_conf" /> |
100 <expand macro="configfile_data_conf" /> | 109 <expand macro="configfile_data_conf" /> |
101 <expand macro="configfile_links_conf" /> | 110 <expand macro="configfile_links_conf" /> |
102 <expand macro="configfile_highlight_conf" /> | |
103 <expand macro="test_case" /> | 111 <expand macro="test_case" /> |
104 </configfiles> | 112 </configfiles> |
105 <inputs> | 113 <inputs> |
106 <section name="reference_genome" title="Karyotype" expanded="true"> | 114 <section name="reference_genome" title="Karyotype" expanded="true"> |
107 <conditional name="ref"> | 115 <conditional name="ref"> |
108 <param name="ref_source" type="select" label="Reference Genome Source"> | 116 <param name="ref_source" type="select" label="Reference Genome Source"> |
109 <option value="history" selected="True">FASTA File from History</option> | 117 <option value="preset" selected="True">Circos Presets</option> |
118 <option value="history"> FASTA File from History (can be slow, generate a length file to improve execution time.)</option> | |
110 <option value="cached">Locally Cached</option> | 119 <option value="cached">Locally Cached</option> |
111 <option value="karyotype">Karyotype</option> | 120 <option value="karyotype">Custom Karyotype</option> |
112 <option value="lengths">Lengths File</option> | 121 <option value="lengths">Lengths File</option> |
113 </param> | 122 </param> |
114 <!-- | 123 <!-- |
115 This does not work at all for us. Many dbkeys lengths simply have too many contigs that are completely irrelevant for 99% of plotting operations. Our options were: | 124 This does not work at all for us. Many dbkeys lengths simply have too many contigs that are completely irrelevant for 99% of plotting operations. Our options were: |
116 | 125 |
123 - using one of the legacy chromosomes that doesn't include detritus | 132 - using one of the legacy chromosomes that doesn't include detritus |
124 | 133 |
125 But none of the optinos work well or uniformly, so, no. We're forced to remove this as an option completely. | 134 But none of the optinos work well or uniformly, so, no. We're forced to remove this as an option completely. |
126 | 135 |
127 --> | 136 --> |
137 <when value="preset"> | |
138 <param name="preset_karyotype" type="select" label="Choose your Circos karyotype" help="In parentheses are the naming conventions for chromosomes used in each karyotype file. These are required for some plot parameters (e.g. filtering chromosomes or specifying rules). The karyotype will also be output along with your plot, for your review."> | |
139 <option value="karyotype.arabidopsis.tair10.txt">Arabidopsis tair10 (chr1,chr2,..)</option> | |
140 <option value="karyotype.chimp.pt4.txt">Chimp pt4 (pt1,pt2a,pt2b,..)</option> | |
141 <option value="karyotype.drosophila.dm6.hires.txt">Drosophila dm6 (M,X,Y,2L,2R,..)</option> | |
142 <option value="karyotype.drosophila.hires.dm3.txt">Drosophila dm3 (dmX,dm2l,dm2r,..)</option> | |
143 <option value="karyotype.human.hg38.txt" selected="True">Human hg38 (hs1,hs2,..,hsX,hsY)</option> | |
144 <option value="karyotype.human.hg19.txt">Human hg19 (hs1,hs2,..,hsX,hsY)</option> | |
145 <option value="karyotype.human.hg18.txt">Human hg18 (hs1,hs2,..,hsX,hsY)</option> | |
146 <option value="karyotype.human.hg17.txt">Human hg17 (hs1,hs2,..,hsX,hsY)</option> | |
147 <option value="karyotype.human.hg16.txt">Human hg16 (hs1,hs2,..,hsX,hsY)</option> | |
148 <option value="karyotype.mouse.mm10.txt">Mouse mm10 (mm1,mm2,..)</option> | |
149 <option value="karyotype.mouse.mm9.txt">Mouse mm9 (mm1,mm2,..)</option> | |
150 <option value="karyotype.oryzasativa.txt">Oryzasativa (os1,os2,..)</option> | |
151 <option value="karyotype.rat.rn4.txt">Rat rn4 (rn1,rn2,..)</option> | |
152 <option value="karyotype.sorghum.txt">Sorghum (sb1,sb2,..)</option> | |
153 <option value="karyotype.yeast.txt">Yeast (chrI, chrII,..)</option> | |
154 <option value="karyotype.zeamays.txt">Zeamays (zm1,zm2,..)</option> | |
155 </param> | |
156 </when> | |
128 <when value="cached"> | 157 <when value="cached"> |
129 <param name="fasta_indexes" type="select" label="Source Genome Build" help="Warning: this also contains unplaced scaffolds present in the reference genome. You can restrict the regions to plot in 'Limit/Filter Chromosomes' below, or supply your own file."> | 158 <param name="fasta_indexes" type="select" label="Source Genome Build" help="Warning: this also contains unplaced scaffolds present in the reference genome. You can restrict the regions to plot in 'Limit/Filter Chromosomes' below, or supply your own file."> |
130 <options from_data_table="__dbkeys__"/> | 159 <options from_data_table="__dbkeys__"/> |
131 </param> | 160 </param> |
161 <expand macro="brewer_scale" name="color" label="Ideogram Color Scheme" help="This will apply a color scheme to the generated karyotype file"/> | |
132 </when> | 162 </when> |
133 <when value="history"> | 163 <when value="history"> |
134 <param name="genome_fasta" type="data" format="fasta" label="Source FASTA Sequence"/> | 164 <param name="genome_fasta" type="data" format="fasta" label="Source FASTA Sequence"/> |
165 <expand macro="brewer_scale" name="color" label="Ideogram Color Scheme" help="This will apply a color scheme to the generated karyotype file"/> | |
135 </when> | 166 </when> |
136 <when value="karyotype"> | 167 <when value="karyotype"> |
137 <param name="input_karyotype" type="data" format="tabular,txt" label="Karyotype Configuration" help="Provide your own karyotype configuration. Should be 'chr - ID LABEL START END COLOR'"/> | 168 <param name="input_karyotype" type="data" format="tabular,txt" label="Karyotype Configuration" help="Provide your own karyotype configuration. Should be 'chr - ID LABEL START END COLOR'"/> |
138 </when> | 169 </when> |
139 <when value="lengths"> | 170 <when value="lengths"> |
140 <param name="input_lengths" type="data" format="tabular" label="Sequence Lengths" help="This needs to be a 2+ column tabular, e.g. from 'Compute sequence lengths', the first column should be chromosome and second should be length."/> | 171 <param name="input_lengths" type="data" format="tabular" label="Sequence Lengths" help="This needs to be a 2+ column tabular, e.g. from 'Compute sequence lengths', the first column should be chromosome and second should be length."/> |
172 <expand macro="brewer_scale" name="color" label="Ideogram Color Scheme" help="This will apply a color scheme to the generated karyotype file"/> | |
141 </when> | 173 </when> |
142 </conditional> | 174 </conditional> |
175 </section> | |
176 | |
177 <section name="ideogram" title="Ideogram"> | |
178 <param name="limit_chromosomes" type="text" optional="true" label="Limit/Filter and Order Chromosomes" help="For example: 'hs1;hs2;hs3' or 'chr1:1-1000;chr2:3000-9000' to plot only a subset of regions. The chromosome names must match those in your karyotype file. They will be displayed in this order as well, you will need to specify all chromosomes that you wish to plot. The numerical positions are in terms of chromosome units (whatever this is set to)"> | |
179 <sanitizer> | |
180 <valid initial="string.letters,string.digits"> | |
181 <add value=","/> | |
182 <add value="_"/> | |
183 <add value="."/> | |
184 <add value=":"/> | |
185 <add value=";"/> | |
186 <add value="-"/> | |
187 </valid> | |
188 </sanitizer> | |
189 </param> | |
190 <param name="chromosomes_reverse" type="text" optional="true" label="Reverse these Chromosomes" help="Important: If you set this, you will need to set the 'Limit/Filter Chromosomes' option (above) as well"> | |
191 <sanitizer> | |
192 <valid initial="string.letters,string.digits"> | |
193 <add value=","/> | |
194 <add value="_"/> | |
195 <add value="."/> | |
196 <add value=":"/> | |
197 <add value=";"/> | |
198 <add value="-"/> | |
199 </valid> | |
200 </sanitizer> | |
201 </param> | |
202 | |
203 <param name="units" type="select" label="Chromosome units" help="Setting this to MB allows usage of numbers like 5u to represent 5MB, rather than having to specify 5000000 or 5e6"> | |
204 <option value="bases">Bases</option> | |
205 <option value="kb">Kilobases</option> | |
206 <option value="mb" selected="true">Megabases</option> | |
207 <option value="gb">Gigabases</option> | |
208 </param> | |
209 | |
210 <param name="spacing" value="0.5" type="float" min="0" label="Spacing Between Ideograms (in chromosome units)"/> | |
211 <repeat name="pairwise_spacing" title="Spacing between specific ideograms"> | |
212 <param name="chr1" type="text" label="Chromosome" help="as written in your karyotype file"> | |
213 <sanitizer> | |
214 <valid initial="string.letters,string.digits"> | |
215 <add value="_"/> | |
216 <add value="."/> | |
217 <add value="-"/> | |
218 </valid> | |
219 </sanitizer> | |
220 </param> | |
221 | |
222 <param name="chr2" type="text" label="Chromosome" help="as written in your karyotype file"> | |
223 <sanitizer> | |
224 <valid initial="string.letters,string.digits"> | |
225 <add value="_"/> | |
226 <add value="."/> | |
227 <add value="-"/> | |
228 </valid> | |
229 </sanitizer> | |
230 </param> | |
231 | |
232 <param name="spacing" type="float" min="0" label="Spacing between these two ideograms (in chromosome units)" value="1" /> | |
233 </repeat> | |
234 | |
235 <param name="radius" type="float" value="0.90" label="Radius" min="0"/> | |
236 <param name="thickness" type="float" value="30" label="Thickness" min="0"/> | |
237 <param name="angle_offset" type="integer" min="-180" max="180" value="-90" label="Angle Offset" help="Rotate the plot such that the first ideogram is at the top center of the page."/> | |
238 <param name="angle_orientation" type="select" label="Angle orientation" help="Chromosomes are plotted clockwise around the chromosome" > | |
239 <option value="clockwise">Clockwise</option> | |
240 <option value="counterclockwise">Counterclockwise</option> | |
241 </param> | |
242 | |
243 <section name="ideogram_labels" title="Labels"> | |
244 <param name="show_label" type="boolean" truevalue="yes" falsevalue="no" label="Show Label" checked="true"/> | |
245 <param type="float" value="0.075" label="Radius" name="radius_offset"/> | |
246 <param type="integer" value="24" label="Label Font Size" name="size"/> | |
247 <param name="parallel" type="boolean" label="Parallel" truevalue="yes" falsevalue="no" checked="true" | |
248 help="When set to yes/true, labels will be perpendicular to the tangent of the circle at the location of the label. Otherwise, they will be parallel with the tangent of the circle"/> | |
249 </section> | |
250 | |
251 <section name="bands" title="Cytogenic Bands"> | |
252 <param name="show_bands" type="boolean" truevalue="yes" falsevalue="no" label="Show Cytogenic Bands?" checked="true" help="Cytogenic bands can be defined inside the karyotype file"/> | |
253 <!-- Removed these based on reviewer feedback and that they are | |
254 not heavily used. Re-enable upon user-request, perhaps | |
255 with a more well defined use case rather than a | |
256 speculative one. | |
257 <param name="bands" type="data" format="tabular" optional="true" label="Cytogenetic Bands" help="If defined, will display cytogenetic bands as part of the karyotype configuration. This field accepts any tabular format file. If you provide a BED file you should enable automatic conversion below. Otherwise disable conversion below and it is expected that your file have 7 columns: 'band', chromosome ID (should match fasta), band ID, band ID (again), start, end, color (gneg, gpos, or r,g,b triple). E.g. a complete row would look like: 'band chr1 p32.2 p32.2 56100000 59000000 gneg25'"/> | |
258 <param name="convert_bands" type="boolean" truevalue="yes" falsevalue="no" label="Convert bands from BED format to circos karyotype band format" checked="true" | |
259 help="Automatically reformat BED file into the appropriate columns. This should be a BED 6+ file, BED 9+ if you want the colours from the BED file automatically used. Otherwise everything will appear grey."/> | |
260 --> | |
261 <param name="fill_bands" type="boolean" truevalue="yes" falsevalue="no" label="Fill Bands" checked="true"/> | |
262 <param name="band_transparency" type="integer" label="Band Transparency" value="3" min="0" max="5" help="0 is solid, 1 is the least transparent, and 5 is the most transparent"/> | |
263 | |
264 <param type="integer" value="0" label="Band Stroke Thickness" name="band_stroke_thickness"/> | |
265 <expand macro="circos_color" label="Band Stroke Color" name="band_stroke_color" value="#000000"/> | |
266 </section> | |
267 </section> | |
268 | |
269 <section name="plot_options" title="General"> | |
270 <conditional name="background"> | |
271 <param name="background_select" type="select" label="Plot Background"> | |
272 <option value="transparent">Transparent</option> | |
273 <option value="color" selected="true">Solid Color</option> | |
274 </param> | |
275 <when value="transparent" /> | |
276 <when value="color"> | |
277 <expand macro="circos_color" label="Background Color" name="background_color" value="#ffffff"/> | |
278 </when> | |
279 </conditional> | |
280 <param name="radius" type="integer" label="Image Radius" value="1500" min="500" max="5000" help="Plot radius (in pixels), final plot dimensions will be 2*r by 2*r"/> | |
281 <param name="colour_profile" type="select" label="Load additional colour profiles" optional="true" help="Only useful in a tiny subset of situations"> | |
282 <option value="cg">Complete Genomics</option> | |
283 </param> | |
143 </section> | 284 </section> |
144 | 285 |
145 <section name="sec_tdd" title="2D Data Tracks"> | 286 <section name="sec_tdd" title="2D Data Tracks"> |
146 <repeat name="data" title="2D Data Plot" help="2D Data Plots allow you to graph all sorts of data visually such as scatter or line plots, heatmaps, or tiles representing gene locations. These are commonly used to plot sequencing density tracks or other datasets that have some value at different positions along a genome."> | 287 <repeat name="data" title="2D Data Plot" help="2D Data Plots allow you to graph all sorts of data visually such as scatter or line plots, heatmaps, or tiles representing gene locations. These are commonly used to plot sequencing density tracks or other datasets that have some value at different positions along a genome."> |
147 <!-- Positioning --> | 288 <!-- Positioning --> |
148 <param name="r1" type="float" value="0.89" min="0" max="1" label="Outside Radius" help="Value must be between 1 (outer edge of plot) and 0 (center of the plot)"/> | 289 <param name="r1" type="float" value="0.89" min="0" max="1" label="Outside Radius" help="Value must be between 1 (outer edge of plot) and 0 (center of the plot)"/> |
149 <param name="r0" type="float" value="0.8" min="0" max="1" label="Inside Radius" help="Value must be between 1 (outer edge of plot) and 0 (center of the plot)"/> | 290 <param name="r0" type="float" value="0.8" min="0" max="1" label="Inside Radius" help="Value must be between 1 (outer edge of plot) and 0 (center of the plot)"/> |
291 <expand macro="zdepth"/> | |
150 | 292 |
151 | 293 |
152 <conditional name="plot_format"> | 294 <conditional name="plot_format"> |
153 <param name="plot_format_select" type="select" label="Plot Type"> | 295 <param name="plot_format_select" type="select" label="Plot Type"> |
154 <option value="histogram" selected="True">Histogram</option> | 296 <option value="histogram" selected="True">Histogram</option> |
155 <option value="histogram-stacked">Stacked Histogram</option> | 297 <option value="histogram-stacked">Stacked Histogram</option> |
156 <option value="heatmap">Heatmap</option> | 298 <option value="heatmap">Heatmap</option> |
299 <option value="highlight">Highlight</option> | |
157 <option value="line">Line</option> | 300 <option value="line">Line</option> |
158 <option value="scatter">Scatter</option> | 301 <option value="scatter">Scatter</option> |
159 <option value="tile">Tiles</option> | 302 <option value="tile">Tiles</option> |
160 <option value="text">Text Labels</option> | 303 <option value="text">Text Labels</option> |
304 <option value="connector">Connectors</option> | |
161 </param> | 305 </param> |
162 <when value="histogram"> | 306 <when value="histogram"> |
163 <param name="data_source" type="data" format="tabular,interval" label="Histogram Data Source" help="Columns must be (chrom, start, end, value)"/> | 307 <param name="data_source" type="data" format="tabular,interval" label="Histogram Data Source" help="Columns must be (chrom, start, end, value)"/> |
164 <section name="format_specific" title="Plot Format Specific Options"> | 308 <section name="format_specific" title="Plot Format Specific Options"> |
165 <expand macro="circos_color_alpha" label="Fill Color" name="fill_color" value="#ffdcfc"/> | 309 <expand macro="circos_color_alpha" label="Fill Color" name="fill_color" value="#ffdcfc"/> |
183 </section> | 327 </section> |
184 </when> | 328 </when> |
185 <when value="heatmap"> | 329 <when value="heatmap"> |
186 <param name="data_source" type="data" format="tabular,interval" label="Heatmap Data Source" help="Columns must be (chrom, start, end, value)"/> | 330 <param name="data_source" type="data" format="tabular,interval" label="Heatmap Data Source" help="Columns must be (chrom, start, end, value)"/> |
187 <section name="format_specific" title="Plot Format Specific Options"> | 331 <section name="format_specific" title="Plot Format Specific Options"> |
188 <expand macro="brewer_scale" label="Fill Color" name="fill_color"/> | 332 <conditional name="color_scale"> |
333 <param name="color_scale_select" type="select" label="Color Scale"> | |
334 <option value="basic" selected="True">Basic</option> | |
335 <option value="advanced">Advanced</option> | |
336 </param> | |
337 <when value="basic"> | |
338 <expand macro="brewer_scale" label="Fill Color" name="fill_color"/> | |
339 </when> | |
340 <when value="advanced"> | |
341 <param name="fill_color" type="text" label="Advanced color entry" help="E.g. blues-5-seq-rev,reds-5-seq"> | |
342 <sanitizer> | |
343 <valid initial="string.letters,string.digits"> | |
344 <add value="," /> | |
345 <add value="-" /> | |
346 </valid> | |
347 </sanitizer> | |
348 </param> | |
349 </when> | |
350 </conditional> | |
351 <expand macro="stroke_opts"/> | |
352 | |
353 <param name="color_mapping" type="select" label="Color Mapping"> | |
354 <option value="0" selected="True">divided uniformly</option> | |
355 <option value="1">division at min/max boundary 1/2 size of others</option> | |
356 <option value="2">divided uniformly, 0,n reserved for [,min] and [max,]</option> | |
357 </param> | |
358 | |
189 <param name="scale_log_base" type="float" value="1.0" label="Scale Log Base" | 359 <param name="scale_log_base" type="float" value="1.0" label="Scale Log Base" |
190 help="If scale_log_base<1, the dynamic range of color mapping of small values will be increased. If scale_log_base>1, then dynamic range of large values will be increased."/> | 360 help="If scale_log_base<1, the dynamic range of color mapping of small values will be increased. If scale_log_base>1, then dynamic range of large values will be increased."/> |
361 </section> | |
362 </when> | |
363 <when value="highlight"> | |
364 <param name="data_source" type="data" format="tabular,interval" label="Highlight Data Source" help="Columns must be (chrom, start, end)"/> | |
365 <section name="format_specific" title="Plot Format Specific Options"> | |
366 <expand macro="circos_color_alpha" label="Fill Color" name="fill_color" value="#000000"/> | |
367 <expand macro="stroke_opts"/> | |
191 </section> | 368 </section> |
192 </when> | 369 </when> |
193 <when value="line"> | 370 <when value="line"> |
194 <param name="data_source" type="data" format="tabular,interval" label="Line Data Source" help="Columns must be (chrom, start, end, value)"/> | 371 <param name="data_source" type="data" format="tabular,interval" label="Line Data Source" help="Columns must be (chrom, start, end, value)"/> |
195 <section name="format_specific" title="Plot Format Specific Options"> | 372 <section name="format_specific" title="Plot Format Specific Options"> |
204 <option value="circle">Circle</option> | 381 <option value="circle">Circle</option> |
205 <option value="triangle">Triangle</option> | 382 <option value="triangle">Triangle</option> |
206 <option value="rectangle">Rectangle</option> | 383 <option value="rectangle">Rectangle</option> |
207 </param> | 384 </param> |
208 <param name="glyph_size" type="integer" value="8" label="Glyph Size"/> | 385 <param name="glyph_size" type="integer" value="8" label="Glyph Size"/> |
209 <expand macro="circos_color_alpha" name="fill_color" value="#555555" label="Color" /> | 386 <expand macro="circos_color_alpha" name="fill_color" value="#555555" label="Fill Color" /> |
210 <expand macro="stroke_opts"/> | 387 <expand macro="stroke_opts"/> |
211 </section> | 388 </section> |
212 </when> | 389 </when> |
213 <when value="tile"> | 390 <when value="tile"> |
214 <param name="data_source" type="data" format="tabular,interval" label="Tile Data Source" | 391 <param name="data_source" type="data" format="tabular,interval" label="Tile Data Source" |
250 <option value="no">No</option> | 427 <option value="no">No</option> |
251 </param> | 428 </param> |
252 <when value="yes"> | 429 <when value="yes"> |
253 <param name="link_thickness" type="integer" value="2" label="Link thickness" min="0" help="In pixels"/> | 430 <param name="link_thickness" type="integer" value="2" label="Link thickness" min="0" help="In pixels"/> |
254 <expand macro="circos_color" name="link_color" label="Link Color" value="#ff0000"/> | 431 <expand macro="circos_color" name="link_color" label="Link Color" value="#ff0000"/> |
255 <param name="link_dims" type="text" value="1p,2p,3p,2p,1p" label="Link dimensions"> | 432 <param name="link_dims" type="text" value="1p,2p,3p,2p,1p" label="Link dimensions" help="From the manual: "Each link line has five dimensions: outer padding, outer line length (drawn at new position), connecting line length (connects old to new position), inner line length (drawn at old position) and inner padding. If snuggling is not used, then distinction between line lengths is not made"."> |
256 <sanitizer> | 433 <sanitizer> |
257 <valid initial="string.digits"> | 434 <valid initial="string.digits"> |
258 <add value="p"/> | 435 <add value="p"/> |
259 <add value=","/> | 436 <add value=","/> |
437 <add value="."/> | |
260 </valid> | 438 </valid> |
261 </sanitizer> | 439 </sanitizer> |
262 </param> | 440 </param> |
263 | 441 |
264 </when> | 442 </when> |
282 </when> | 460 </when> |
283 </conditional> | 461 </conditional> |
284 | 462 |
285 </section> | 463 </section> |
286 </when> | 464 </when> |
465 <when value="connector"> | |
466 <param name="data_source" type="data" format="interval" label="Connector Data Source" help="Columns must be (chrom, pos1, pos2). Connectors are articulated line segments that relate two positions on an ideogram between two radial positions."/> | |
467 <section name="format_specific" title="Plot Format Specific Options"> | |
468 <expand macro="stroke_opts"/> | |
469 <param name="connector_dims" type="text" value="0,0.3,0.4,0.3,0" label="Connector dimensions" help="From the manual: "Each link line has five dimensions: outer padding, outer line length (drawn at new position), connecting line length (connects old to new position), inner line length (drawn at old position) and inner padding. If snuggling is not used, then distinction between line lengths is not made"."> | |
470 <sanitizer> | |
471 <valid initial="string.digits"> | |
472 <add value=","/> | |
473 <add value="."/> | |
474 </valid> | |
475 </sanitizer> | |
476 </param> | |
477 </section> | |
478 </when> | |
287 </conditional> | 479 </conditional> |
288 <param name="orientation" type="boolean" label="Orient Inwards" truevalue="in" falsevalue="out" | 480 <param name="orientation" type="boolean" label="Orient Inwards" truevalue="in" falsevalue="out" |
289 help="When yes, the plot will face inwards; i.e. lowest values will be plotted to the outside"/> | 481 help="When yes, the plot will face inwards; i.e. lowest values will be plotted to the outside"/> |
482 <expand macro="minsize" /> | |
290 <expand macro="minmax" /> | 483 <expand macro="minmax" /> |
291 | 484 |
292 <expand macro="rules" /> | 485 <expand macro="rules" /> |
293 <expand macro="axes" /> | 486 <expand macro="axes" /> |
294 <expand macro="backgrounds" /> | 487 <expand macro="backgrounds" /> |
297 <section name="sec_links" title="Link Tracks"> | 490 <section name="sec_links" title="Link Tracks"> |
298 <repeat name="data" title="Link Data" help="Link tracks show a relationship between two locations in your plot. They are often used for indicating sequence similarity between two regions of a genome, or some interaction between two groups."> | 491 <repeat name="data" title="Link Data" help="Link tracks show a relationship between two locations in your plot. They are often used for indicating sequence similarity between two regions of a genome, or some interaction between two groups."> |
299 <!-- Positioning --> | 492 <!-- Positioning --> |
300 <param name="radius" type="float" value="0.8" min="0" max="1" label="Inside Radius" | 493 <param name="radius" type="float" value="0.8" min="0" max="1" label="Inside Radius" |
301 help="This is the radial position of the termination of the link. Value must be between 1 (outer edge of plot) and 0 (center of the plot)" /> | 494 help="This is the radial position of the termination of the link. Value must be between 1 (outer edge of plot) and 0 (center of the plot)" /> |
495 <expand macro="zdepth"/> | |
302 <param name="data_source" type="data" format="tabular,interval" label="Link Data Source" help="Select file with link data. Format: chr1 start1 end1 chr2 start2 end2" /> | 496 <param name="data_source" type="data" format="tabular,interval" label="Link Data Source" help="Select file with link data. Format: chr1 start1 end1 chr2 start2 end2" /> |
303 <conditional name="linktype"> | 497 <conditional name="linktype"> |
304 <param name="ribbon" type="select" label="Link Type" help=""> | 498 <param name="ribbon" type="select" label="Link Type" help=""> |
305 <option value="no">basic</option> | 499 <option value="no">basic</option> |
306 <option value="yes" selected="true">ribbon</option> | 500 <option value="yes" selected="true">ribbon</option> |
329 <param name="thickness" type="float" value="15" label="Thickness" help="In pixels"/> | 523 <param name="thickness" type="float" value="15" label="Thickness" help="In pixels"/> |
330 <param name="bezier_radius" type="float" value="0.1" min="0" max="1" label="Bezier Radius" | 524 <param name="bezier_radius" type="float" value="0.1" min="0" max="1" label="Bezier Radius" |
331 help="The radial position of the third control point (in addition to the two positions defined by the link coordinates) used to draw the Bezier curve; if this parameter is 0 then straight lines will be used"/> | 525 help="The radial position of the third control point (in addition to the two positions defined by the link coordinates) used to draw the Bezier curve; if this parameter is 0 then straight lines will be used"/> |
332 | 526 |
333 <section name="advanced" title="Advanced Settings"> | 527 <section name="advanced" title="Advanced Settings"> |
334 <expand macro="zdepth"/> | |
335 <param name="crest" type="float" value="0.5" min="0" max="1" label="Crest" | 528 <param name="crest" type="float" value="0.5" min="0" max="1" label="Crest" |
336 help="Two additional Bezier control points can be set by using the crest parameter. When defined, points p3 and p4 are added. These points lie at the same angular position as the start and end link termini and have the radial position. In the crest=0 extreme, p3 and p4 are at the same position as p0,p1. In this case, crest has no effect. When crest=1, p3,p4 are at the radial position of p2, the control point set by bezier_radius"/> | 529 help="Two additional Bezier control points can be set by using the crest parameter. When defined, points p3 and p4 are added. These points lie at the same angular position as the start and end link termini and have the radial position. In the crest=0 extreme, p3 and p4 are at the same position as p0,p1. In this case, crest has no effect. When crest=1, p3,p4 are at the radial position of p2, the control point set by bezier_radius"/> |
337 <param name="bezier_radius_purity" type="float" value="0.75" min="0" max="1" label="Bezier Radius Purity" | 530 <param name="bezier_radius_purity" type="float" value="0.75" min="0" max="1" label="Bezier Radius Purity" |
338 help="The bezier_radius_purity adjusts the position of p2 for each link. The p2 control point will move along the line formed by the original p2 location and the intersection of p0-p1 and the bisecting radius. When purity = 1, p2' = p2. When purity = 0, p2' = midpoint(p0,p1)"/> | 531 help="The bezier_radius_purity adjusts the position of p2 for each link. The p2 control point will move along the line formed by the original p2 location and the intersection of p0-p1 and the bisecting radius. When purity = 1, p2' = p2. When purity = 0, p2' = midpoint(p0,p1)"/> |
339 <conditional name="perturbation"> | 532 <conditional name="perturbation"> |
358 </when> | 551 </when> |
359 <when value="no"/> | 552 <when value="no"/> |
360 </conditional> | 553 </conditional> |
361 </section> | 554 </section> |
362 <expand macro="linkrules"/> | 555 <expand macro="linkrules"/> |
556 <expand macro="minsize" /> | |
363 </repeat> | 557 </repeat> |
364 </section> | 558 </section> |
365 | 559 |
366 <section name="plot_options" title="General"> | 560 <section name="scaling" title="Scaling"> |
367 <conditional name="background"> | 561 <repeat name="zooms" title="Zoomed Region" help="From the documentation: "Local adjustment of scale is for cases when you want to zoom parts of your data domain without cropping. If you think of the ideogram as a rubber band, applying a local scale adjustment is analogous to locally stretching or compressing the rubber band. The effect is that you still see the entire rubber band, but the length scale across it is variable.""> |
368 <param name="background_select" type="select" label="Plot Background"> | 562 <param name="chr" type="text" label="Chromosome" help="as written in your karyotype file" /> |
369 <option value="transparent">Transparent</option> | 563 |
370 <option value="color" selected="true">Solid Color</option> | 564 <param name="start" type="float" label="Start" value="1" help="in chromosome units" /> |
371 </param> | 565 <param name="end" type="float" label="End" value="5" help="in chromosome units" /> |
372 <when value="transparent" /> | 566 <param name="scale" type="float" min="0" label="Scale" value="5" /> |
373 <when value="color"> | 567 </repeat> |
374 <expand macro="circos_color" label="Background Color" name="background_color" value="#ffffff"/> | |
375 </when> | |
376 </conditional> | |
377 <param name="radius" type="integer" label="Image Radius" value="1500" min="500" max="5000" help="Plot radius (in pixels), final plot dimensions will be 2*r by 2*r"/> | |
378 <param name="colour_profile" type="select" label="Load additional colour profiles" optional="true" help="Only useful in a tiny subset of situations"> | |
379 <option value="cg">Complete Genomics</option> | |
380 </param> | |
381 </section> | |
382 | |
383 <section name="ideogram" title="Ideogram"> | |
384 <expand macro="brewer_scale" name="color" label="Ideogram Color Scheme" help="Note, this will be ignored if you supplied a karyogram file containing colour specifications"/> | |
385 <param name="limit_chromosomes" type="text" optional="true" label="Limit/Filter Chromosomes" help="For example: 'hs1;hs2;hs3' or 'chr1:1-1000;chr2:3000-9000' to plot only a subset of regions"> | |
386 <sanitizer> | |
387 <valid initial="string.letters,string.digits"> | |
388 <add value=","/> | |
389 <add value="_"/> | |
390 <add value="."/> | |
391 <add value=":"/> | |
392 <add value=";"/> | |
393 <add value="-"/> | |
394 </valid> | |
395 </sanitizer> | |
396 </param> | |
397 <param name="chromosomes_reverse" type="text" optional="true" label="Reverse these Chromosomes" help="Important: If you set this, you will need to set the 'Limit/Filter Chromosomes' option (above) as well"> | |
398 <sanitizer> | |
399 <valid initial="string.letters,string.digits"> | |
400 <add value=","/> | |
401 <add value="_"/> | |
402 <add value="."/> | |
403 <add value=":"/> | |
404 <add value=";"/> | |
405 <add value="-"/> | |
406 </valid> | |
407 </sanitizer> | |
408 </param> | |
409 | |
410 <param name="units" type="select" label="Chromosome units" help="Setting this to MB allows usage of numbers like 5u to represent 5MB, rather than having to specify 5000000 or 5e6"> | |
411 <option value="bases">Bases</option> | |
412 <option value="kb">Kilobases</option> | |
413 <option value="mb" selected="true">Megabases</option> | |
414 <option value="gb">Gigabases</option> | |
415 </param> | |
416 | |
417 <param name="spacing" type="float" value="0.005" label="Spacing Between Ideograms" min="0"/> | |
418 <param name="radius" type="float" value="0.90" label="Radius" min="0"/> | |
419 <param name="thickness" type="float" value="10" label="Thickness" min="0"/> | |
420 | |
421 <section name="ideogram_labels" title="Labels"> | |
422 <param name="show_label" type="boolean" truevalue="yes" falsevalue="no" label="Show Label" checked="true"/> | |
423 <param type="float" value="0.075" label="Radius" name="radius_offset"/> | |
424 <param type="integer" value="24" label="Label Font Size" name="size"/> | |
425 <!--<param type="float" value="10" label="Thickness" name="thickness"/>--> | |
426 <param name="parallel" type="boolean" label="Parallel" truevalue="yes" falsevalue="no" checked="true" | |
427 help="When set to yes/true, labels will be perpendicular to the tangent of the circle at the location of the label. Otherwise, they will be parallel with the tangent of the circle"/> | |
428 </section> | |
429 | |
430 <section name="bands" title="Cytogenic Bands"> | |
431 <param name="bands" type="data" format="tabular" optional="true" label="Cytogenetic Bands" | |
432 help="If defined, will display cytogenetic bands as part of the karyotype configuration. This field accepts any tabular format file. If you provide a BED file you should enable automatic conversion below. Otherwise disable conversion below and it is expected that your file have 7 columns: 'band', chromosome ID (should match fasta), band ID, band ID (again), start, end, color (gneg, gpos, or r,g,b triple). E.g. a complete row would look like: 'band chr1 p32.2 p32.2 56100000 59000000 gneg25'"/> | |
433 <param name="convert_bands" type="boolean" truevalue="yes" falsevalue="no" label="Convert bands from BED format to circos karyotype band format" checked="true" | |
434 help="Automatically reformat BED file into the appropriate columns. This should be a BED 6+ file, BED 9+ if you want the colours from the BED file automatically used. Otherwise everything will appear grey."/> | |
435 <param name="fill_bands" type="boolean" truevalue="yes" falsevalue="no" label="Fill Bands" checked="true"/> | |
436 <param name="band_transparency" type="integer" label="Band Transparency" value="0" min="0" max="5" help="0 is solid, 1 is the least transparent, and 5 is the most transparent"/> | |
437 | |
438 <param type="integer" value="2" label="Band Stroke Thickness" name="band_stroke_thickness"/> | |
439 <expand macro="circos_color" label="Band Stroke Color" name="band_stroke_color" value="#000000"/> | |
440 </section> | |
441 </section> | 568 </section> |
442 | 569 |
443 <section name="ticks" title="Ticks"> | 570 <section name="ticks" title="Ticks"> |
444 <param name="show_ticks" type="boolean" truevalue="yes" falsevalue="no" label="Show Ticks"/> | |
445 <param name="radius" type="float" value="1.0" label="Radius"/> | 571 <param name="radius" type="float" value="1.0" label="Radius"/> |
446 <param name="skip_first_label" type="boolean" truevalue="yes" falsevalue="no" label="Skip first label"/> | 572 <param name="skip_first_label" type="boolean" truevalue="yes" falsevalue="no" label="Skip first label"/> |
447 <param name="skip_last_label" type="boolean" truevalue="yes" falsevalue="no" label="Skip last label"/> | 573 <param name="skip_last_label" type="boolean" truevalue="yes" falsevalue="no" label="Skip last label"/> |
448 | 574 |
449 <repeat name="tick_group" title="Tick Group"> | 575 <repeat name="tick_group" title="Tick Group"> |
450 <param name="spacing" type="text" value="5000" label="Tick Spacing" help="Number of bases (number + u syntax works)"/> | 576 <param name="spacing" type="float" min="0" label="Tick Spacing" value="1" help="in chromosome units" /> |
451 <param name="size" type="float" value="10" label="Tick Size"/> | 577 <param name="size" type="float" value="10" label="Tick Size"/> |
452 <expand macro="circos_color"/> | 578 <expand macro="circos_color"/> |
453 <conditional name="ticks"> | 579 <conditional name="ticks"> |
454 <param name="show_tick_labels" type="select" label="Show Tick Labels"> | 580 <param name="show_tick_labels" type="select" label="Show Tick Labels"> |
455 <option value="yes">Yes</option> | 581 <option value="yes">Yes</option> |
476 </conditional> | 602 </conditional> |
477 </repeat> | 603 </repeat> |
478 | 604 |
479 </section> | 605 </section> |
480 | 606 |
481 <section name="sec_highlight" title="Highlights"> | 607 <section name="limits" title="Limits"> |
482 <repeat name="data" title="Highlight" help="Highlights can help highlight a specific region by placing a large coloured block under some interesting or important features that the audience's eyes should be drawn towards"> | 608 <param name="max_ticks" type="integer" min="200" value="5000" label="Maximum number of ticks to draw" help="These are advanced options, if you increase these due to a plotting failure it may result in a significantly longer plotting time. Beware!"/> |
483 <param name="r1" type="float" value="0.89" min="0" max="1" label="Outside Radius" help="Value must be between 1 (outer edge of plot) and 0 (center of the plot)"/> | 609 <param name="max_ideograms" type="integer" min="200" value="200" label="Maximum number of ideograms to draw"/> |
484 <param name="r0" type="float" value="0.8" min="0" max="1" label="Inside Radius" help="Value must be between 1 (outer edge of plot) and 0 (center of the plot)"/> | 610 <param name="max_links" type="integer" min="200" value="25000" label="Maximum number of links to draw"/> |
485 <param name="data_source" type="data" format="tabular,interval" label="Highlight Data Source" help="Columns must be (chrom, start, end)"/> | 611 <param name="max_points_per_track" type="integer" min="200" value="25000" label="Maximum number of points per track"/> |
486 <expand macro="circos_color_alpha" label="Fill Color" name="fill_color" value="#000000"/> | |
487 <expand macro="stroke_opts"/> | |
488 <expand macro="zdepth"/> | |
489 <expand macro="rules" /> | |
490 </repeat> | |
491 </section> | 612 </section> |
492 | 613 |
493 <section name="outputs" title="Outputs"> | 614 <section name="outputs" title="Outputs"> |
494 <param name="png" type="boolean" truevalue="yes" falsevalue="no" label="PNG" checked="true"/> | 615 <param name="png" type="boolean" truevalue="yes" falsevalue="no" label="PNG" checked="true"/> |
495 <param name="svg" type="boolean" truevalue="yes" falsevalue="no" label="SVG" checked="false" help="Oftentimes this will not be viewable directly in Galaxy, you may need to download this file first."/> | 616 <param name="svg" type="boolean" truevalue="yes" falsevalue="no" label="SVG" checked="false" help="Oftentimes this will not be viewable directly in Galaxy, you may need to download this file first."/> |
504 <filter>outputs['svg']</filter> | 625 <filter>outputs['svg']</filter> |
505 </data> | 626 </data> |
506 <data name="output_tar" format="tar.gz" from_work_dir="circos.tar.gz" label="Circos Conf Files"> | 627 <data name="output_tar" format="tar.gz" from_work_dir="circos.tar.gz" label="Circos Conf Files"> |
507 <filter>outputs['tar']</filter> | 628 <filter>outputs['tar']</filter> |
508 </data> | 629 </data> |
630 <data name="karyotype_txt" format="tabular" from_work_dir="circos/conf/karyotype.txt" label="Circos Karyotype"> | |
631 <filter>reference_genome['ref']['ref_source'] != 'karyotype' and reference_genome['ref']['ref_source'] != 'preset' </filter> | |
632 </data> | |
509 </outputs> | 633 </outputs> |
510 <expand macro="test_cases" /> | 634 <expand macro="test_cases" /> |
511 <help><![CDATA[ | 635 <help><![CDATA[ |
512 Circos | 636 Circos |
513 ====== | 637 ====== |
514 | 638 |
639 .. class:: infomark | |
640 | |
641 Made a nice plot? Share it with us in the `training materials <https://github.com/galaxyproject/training-material/issues/1867>`__, we're looking for more cool plots with scientifically relevant stories to share with the students who want to learn how to use Circos. | |
642 | |
643 Have a feature request? `Share it with us! <https://github.com/galaxyproject/training-material/issues/1867>`__ | |
644 | |
645 .. class:: warningmark | |
646 | |
647 No data or plot crashes? Check that your chromosome naming scheme matches between your Karyotype file and your datasets. | |
648 | |
515 Circos is a software package for visualizing data and information. It visualizes data in a circular layout — this makes Circos ideal for exploring relationships between objects or positions. There are other reasons why a circular layout is advantageous, not the least being the fact that it is attractive. | 649 Circos is a software package for visualizing data and information. It visualizes data in a circular layout — this makes Circos ideal for exploring relationships between objects or positions. There are other reasons why a circular layout is advantageous, not the least being the fact that it is attractive. |
516 | 650 |
517 Circos is ideal for creating publication-quality infographics and illustrations with a high data-to-ink ratio, richly layered data and pleasant symmetries. You have fine control each element in the figure to tailor its focus points and detail to your audience. | 651 Circos is ideal for creating publication-quality infographics and illustrations with a high data-to-ink ratio, richly layered data and pleasant symmetries. You have fine control each element in the figure to tailor its focus points and detail to your audience. |
518 | 652 |
519 .. image:: $PATH_TO_IMAGES/circos-sample-panel.png | 653 .. image:: $PATH_TO_IMAGES/circos-sample-panel.png |