Mercurial > repos > iuc > seaborn_pairgrid
comparison seaborn_pairgrid.xml @ 0:4a46d83cb08f draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/seaborn commit 24dc6373560bd5e409fca84154634f5a528001c3
author | iuc |
---|---|
date | Wed, 14 May 2025 08:39:22 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4a46d83cb08f |
---|---|
1 <tool id="seaborn_pairgrid" name="seaborn pair-wise scatterplot" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.0" license="MIT"> | |
2 <description>of all-vs-all column combinations</description> | |
3 <macros> | |
4 <import>macros.xml</import> | |
5 </macros> | |
6 | |
7 <expand macro="edam"/> | |
8 <expand macro="requirements"/> | |
9 <expand macro="creator" /> | |
10 | |
11 <command detect_errors="exit_code"><![CDATA[ | |
12 python3 '${run_script}' | |
13 ]]></command> | |
14 | |
15 <configfiles> | |
16 <configfile name="run_script"><![CDATA[ | |
17 index_col = $index_col | |
18 | |
19 @INIT@ | |
20 | |
21 from scipy.stats import gaussian_kde | |
22 | |
23 def scatter_density(x, y, **kwargs): | |
24 kwargs.pop('color') | |
25 # Calculate the point density | |
26 xy = np.vstack([x, y]) | |
27 z = gaussian_kde(xy)(xy) | |
28 plt.scatter(x, y, c=z, cmap="jet", **kwargs) | |
29 | |
30 | |
31 g = sns.PairGrid(data) | |
32 g.map_lower(sns.regplot, scatter_kws=dict(s=4)) | |
33 g.map_lower(sns.kdeplot, levels=4, color=".2") | |
34 g.map_upper(scatter_density, s=6) | |
35 g.map_diag(sns.histplot) | |
36 | |
37 plt.savefig(f"{output_file}", format=output_format, dpi=300) | |
38 ]]></configfile> | |
39 </configfiles> | |
40 <inputs> | |
41 <expand macro="inputs"/> | |
42 <param argument="index_col" type="boolean" truevalue="0" falsevalue="None" checked="false" label="Is the first column the index?" help="Specify whether the first column of the input data should be treated as the index. If selected, the first column will not be used as data for plotting." /> | |
43 <expand macro="transformation"/> | |
44 </inputs> | |
45 <outputs> | |
46 <data name="output_file" format="png" label="${tool.name} on ${on_string}" /> | |
47 </outputs> | |
48 <tests> | |
49 <!-- Test 1: Generate a pairgrid plot with default settings --> | |
50 <test> | |
51 <param name="input_data" value="mtcars.txt" /> | |
52 <output name="output_file"> | |
53 <assert_contents> | |
54 <has_image_channels channels="4"/> | |
55 <has_image_height height="8250"/> | |
56 <has_image_width width="8250" /> | |
57 <has_image_center_of_mass center_of_mass="4143.08, 4103.67" eps="0.1"/> | |
58 </assert_contents> | |
59 </output> | |
60 </test> | |
61 </tests> | |
62 <help><![CDATA[ | |
63 .. class:: infomark | |
64 | |
65 **What it does** | |
66 | |
67 This tool generates a scatterplot matrix (pair-wise scatterplots) of all column combinations in the input dataset using the Seaborn library. The scatterplot matrix provides a visual summary of the relationships between variables in the dataset, making it useful for exploratory data analysis. | |
68 The tool uses Seaborn's `PairGrid` functionality to create the matrix, with the following features: | |
69 | |
70 - **Lower Triangle**: Regression plots and kernel density estimates (KDE). | |
71 - **Upper Triangle**: Scatterplots with point density coloring. | |
72 - **Diagonal**: Histograms of individual variables. | |
73 | |
74 **Usage** | |
75 | |
76 1. **Input**: Provide a tabular data file in one of the supported formats (TSV, CSV, TXT, or Parquet). Optionally, specify whether the first column should be treated as the index. | |
77 2. **Advanced Options**: Apply transformations to the data (e.g., log10 or log2) before plotting. | |
78 3. **Output**: The tool generates a PNG image of the scatterplot matrix, which can be downloaded or used in further analyses. | |
79 | |
80 **Input** | |
81 | |
82 - **Input Data Table**: Upload your data file in TSV, CSV, TXT, or Parquet format. The file should contain numerical data for plotting. | |
83 - **Index Column**: Specify whether the first column of the input data should be treated as the index. If selected, the first column will not be used for plotting. | |
84 - **Data Transformation**: Apply transformations such as log10 or log2 to numerical data before plotting. | |
85 | |
86 **Output** | |
87 | |
88 The tool generates a PNG file containing the scatterplot matrix. The file can be downloaded or used as input for other tools in Galaxy. | |
89 | |
90 **Example Input** | |
91 | |
92 Here is an example of a simple input dataset: | |
93 | |
94 +------------+------------+------------+------------+ | |
95 | Category | Value1 | Value2 | Value3 | | |
96 +============+============+============+============+ | |
97 | A | 10 | 20 | 30 | | |
98 +------------+------------+------------+------------+ | |
99 | B | 15 | 25 | 35 | | |
100 +------------+------------+------------+------------+ | |
101 | C | 20 | 30 | 40 | | |
102 +------------+------------+------------+------------+ | |
103 | |
104 **Example Output** | |
105 | |
106 The tool will generate a scatterplot matrix where: | |
107 - The lower triangle contains regression plots and KDE plots. | |
108 - The upper triangle contains scatterplots with point density coloring. | |
109 - The diagonal contains histograms of individual variables. | |
110 | |
111 **Links** | |
112 | |
113 - For more information about Seaborn's `PairGrid`, visit the official documentation: https://seaborn.pydata.org/generated/seaborn.PairGrid.html | |
114 - For detailed parameter descriptions, refer to the Galaxy tool documentation. | |
115 ]]></help> | |
116 <expand macro="citation"/> | |
117 </tool> |