From 81ade67a9b775bffc19988592c55538b86d69d5c Mon Sep 17 00:00:00 2001
From: Dominik Brilhaus <brilhaus@nfdi4plants.org>
Date: Fri, 8 Nov 2024 11:09:38 +0100
Subject: [PATCH] add data analysis

---
 assays/Visualization/README.md            |   0
 assays/Visualization/dataset/.gitkeep     |   0
 assays/Visualization/dataset/heatmap.svg  |   1 +
 assays/Visualization/isa.assay.xlsx       | Bin 0 -> 6896 bytes
 assays/Visualization/protocols/.gitkeep   |   0
 assays/Visualization/protocols/heatmap.py |  14 ++++++++++++++
 6 files changed, 15 insertions(+)
 create mode 100644 assays/Visualization/README.md
 create mode 100644 assays/Visualization/dataset/.gitkeep
 create mode 100644 assays/Visualization/dataset/heatmap.svg
 create mode 100644 assays/Visualization/isa.assay.xlsx
 create mode 100644 assays/Visualization/protocols/.gitkeep
 create mode 100644 assays/Visualization/protocols/heatmap.py

diff --git a/assays/Visualization/README.md b/assays/Visualization/README.md
new file mode 100644
index 0000000..e69de29
diff --git a/assays/Visualization/dataset/.gitkeep b/assays/Visualization/dataset/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/assays/Visualization/dataset/heatmap.svg b/assays/Visualization/dataset/heatmap.svg
new file mode 100644
index 0000000..fda7eac
--- /dev/null
+++ b/assays/Visualization/dataset/heatmap.svg
@@ -0,0 +1 @@
+<svg class="main-svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="700" height="500" style="" viewBox="0 0 700 500"><rect x="0" y="0" width="700" height="500" style="fill: rgb(255, 255, 255); fill-opacity: 1;"/><defs id="defs-18b100"><g class="clips"><clipPath id="clip18b100xyplot" class="plotclip"><rect width="523" height="261.49999999999994"/></clipPath><clipPath class="axesclip" id="clip18b100x"><rect x="89" y="0" width="523" height="500"/></clipPath><clipPath class="axesclip" id="clip18b100y"><rect x="0" y="109.25000000000003" width="700" height="261.49999999999994"/></clipPath><clipPath class="axesclip" id="clip18b100xy"><rect x="89" y="109.25000000000003" width="523" height="261.49999999999994"/></clipPath></g><g class="gradients"><linearGradient x1="0" x2="0" y1="1" y2="0" id="g18b100-cbcoloraxis"><stop offset="0%" stop-color="rgb(13, 8, 135)" stop-opacity="1"/><stop offset="11.111111%" stop-color="rgb(70, 3, 159)" stop-opacity="1"/><stop offset="22.222222%" stop-color="rgb(114, 1, 168)" stop-opacity="1"/><stop offset="33.333333%" stop-color="rgb(156, 23, 158)" stop-opacity="1"/><stop offset="44.444444%" stop-color="rgb(189, 55, 134)" stop-opacity="1"/><stop offset="55.555556%" stop-color="rgb(216, 87, 107)" stop-opacity="1"/><stop offset="66.666667%" stop-color="rgb(237, 121, 83)" stop-opacity="1"/><stop offset="77.777778%" stop-color="rgb(251, 159, 58)" stop-opacity="1"/><stop offset="88.888889%" stop-color="rgb(253, 202, 38)" stop-opacity="1"/><stop offset="100%" stop-color="rgb(240, 249, 33)" stop-opacity="1"/></linearGradient></g><g class="patterns"/></defs><g class="bglayer"><rect class="bg" x="89" y="109.25000000000003" width="523" height="261.49999999999994" style="fill: rgb(229, 236, 246); fill-opacity: 1; stroke-width: 0;"/></g><g class="layer-below"><g class="imagelayer"/><g class="shapelayer"/></g><g class="cartesianlayer"><g class="subplot xy"><g class="layer-subplot"><g class="shapelayer"/><g class="imagelayer"/></g><g class="minor-gridlayer"><g class="x"/><g class="y"/></g><g class="gridlayer"><g class="x"><path class="xgrid crisp" transform="translate(132.57999999999998,0)" d="M0,109.25000000000003v261.49999999999994" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/><path class="xgrid crisp" transform="translate(219.75,0)" d="M0,109.25000000000003v261.49999999999994" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/><path class="xgrid crisp" transform="translate(306.91999999999996,0)" d="M0,109.25000000000003v261.49999999999994" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/><path class="xgrid crisp" transform="translate(394.08,0)" d="M0,109.25000000000003v261.49999999999994" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/><path class="xgrid crisp" transform="translate(481.25,0)" d="M0,109.25000000000003v261.49999999999994" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/><path class="xgrid crisp" transform="translate(568.4200000000001,0)" d="M0,109.25000000000003v261.49999999999994" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/></g><g class="y"><path class="ygrid crisp" transform="translate(0,327.17)" d="M89,0h523" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/><path class="ygrid crisp" transform="translate(0,240.00000000000003)" d="M89,0h523" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/><path class="ygrid crisp" transform="translate(0,152.83000000000004)" d="M89,0h523" style="stroke: rgb(255, 255, 255); stroke-opacity: 1; stroke-width: 1px;"/></g></g><g class="zerolinelayer"/><path class="xlines-below"/><path class="ylines-below"/><g class="overlines-below"/><g class="xaxislayer-below"/><g class="yaxislayer-below"/><g class="overaxes-below"/><g class="plot" transform="translate(89,109.25000000000003)" clip-path="url(#clip18b100xyplot)"><g class="heatmaplayer mlayer"><g class="hm"><image xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" height="262" width="523" x="0" y="0" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgsAAAEGCAYAAADrKdaNAAAVEklEQVR4Xu3asUnEYACG4T944DUHihbiAvY2N5m76BYOYq0DXH+Foo2ekbjDU+XNAB/kIZCXP5l+nu/n0UUEvt5uyG6jY7wfrmKAArvbI1xf9/T88LpuAHj3u5dzuL7u6alYcA9AseBsiwVnuywXC863WHC2xYKzLRac7SgWHG6x4GyLBWtbLDjfYsHZFgvOtliAtsUCxO1kgeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHgbIsFaFssQNxigeIWC463WHC2xYKzLRagbbEAcYsFilssON5iwdkWC862WIC2xQLELRYobrHgeIsFZ1ssONtiAdoWCxC3WKC4xYLjLRacbbHg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" style="opacity: 1;"/></g></g></g><g class="overplot"/><path class="xlines-above crisp" d="M0,0" style="fill: none;"/><path class="ylines-above crisp" d="M0,0" style="fill: none;"/><g class="overlines-above"/><g class="xaxislayer-above"><g class="xtick"><text text-anchor="middle" x="0" y="383.75" transform="translate(132.57999999999998,0)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">RT_M1</text></g><g class="xtick"><text text-anchor="middle" x="0" y="383.75" transform="translate(219.75,0)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">RT_M2</text></g><g class="xtick"><text text-anchor="middle" x="0" y="383.75" transform="translate(306.91999999999996,0)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">RT_M3</text></g><g class="xtick"><text text-anchor="middle" x="0" y="383.75" transform="translate(394.08,0)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">Cold_M1</text></g><g class="xtick"><text text-anchor="middle" x="0" y="383.75" transform="translate(481.25,0)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">Cold_M2</text></g><g class="xtick"><text text-anchor="middle" x="0" y="383.75" transform="translate(568.4200000000001,0)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">Cold_M3</text></g></g><g class="yaxislayer-above"><g class="ytick"><text text-anchor="end" x="88" y="4.199999999999999" transform="translate(0,327.17)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">Sucrose</text></g><g class="ytick"><text text-anchor="end" x="88" y="4.199999999999999" transform="translate(0,240.00000000000003)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">Fructose</text></g><g class="ytick"><text text-anchor="end" x="88" y="4.199999999999999" transform="translate(0,152.83000000000004)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">Glucose</text></g></g><g class="overaxes-above"/></g></g><g class="polarlayer"/><g class="smithlayer"/><g class="ternarylayer"/><g class="geolayer"/><g class="funnelarealayer"/><g class="pielayer"/><g class="iciclelayer"/><g class="treemaplayer"/><g class="sunburstlayer"/><g class="glimages"/><defs id="topdefs-18b100"><g class="clips"/></defs><g class="layer-above"><g class="imagelayer"/><g class="shapelayer"/></g><g class="infolayer"><g class="cbcoloraxis colorbar" transform="translate(89,60)"><rect class="cbbg" x="533" y="0" width="65.28125" height="360" style="fill: rgb(0, 0, 0); fill-opacity: 0; stroke: rgb(68, 68, 68); stroke-opacity: 1; stroke-width: 0;"/><g class="cbfills" transform="translate(0,32)"><rect class="cbfill gradient_filled" x="543" y="0" width="30" height="318" style="fill: url('#g18b100-cbcoloraxis');"/></g><g class="cblines" transform="translate(0,32)"/><g class="cbaxis crisp" transform="translate(0,-60)"><g class="ycbcoloraxistick"><text text-anchor="start" x="575.9" y="4.199999999999999" transform="translate(0,375.08)" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;">10</text></g><g class="ycbcoloraxistick"><text text-anchor="start" x="575.9" y="4.199999999999999" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,311.09000000000003)">15</text></g><g class="ycbcoloraxistick"><text text-anchor="start" x="575.9" y="4.199999999999999" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,247.1)">20</text></g><g class="ycbcoloraxistick"><text text-anchor="start" x="575.9" y="4.199999999999999" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,183.1)">25</text></g><g class="ycbcoloraxistick"><text text-anchor="start" x="575.9" y="4.199999999999999" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 12px; fill: rgb(42, 63, 95); fill-opacity: 1; white-space: pre; opacity: 1;" transform="translate(0,119.11)">30</text></g></g><g class="cbtitleunshift" transform="translate(-89,-60)"><g class="cbtitle" transform=""><text class="ycbcoloraxistitle" x="632.46" y="83.5" text-anchor="start" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 14px; fill: rgb(42, 63, 95); opacity: 1; font-weight: normal; white-space: pre;">Value</text></g></g><rect class="cboutline" x="543" y="32" width="30" height="318" style="stroke: rgb(68, 68, 68); stroke-opacity: 1; fill: none; stroke-width: 0;"/></g><g class="g-gtitle"/><g class="g-xtitle"><text class="xtitle" x="350.5" y="411.05" text-anchor="middle" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 14px; fill: rgb(42, 63, 95); opacity: 1; font-weight: normal; white-space: pre;">Columns</text></g><g class="g-ytitle" transform="translate(2.0810546875,0)"><text class="ytitle" transform="rotate(-90,11.918750000000003,240)" x="11.918750000000003" y="240" text-anchor="middle" style="font-family: 'Open Sans', verdana, arial, sans-serif; font-size: 14px; fill: rgb(42, 63, 95); opacity: 1; font-weight: normal; white-space: pre;">Rows</text></g></g></svg>
\ No newline at end of file
diff --git a/assays/Visualization/isa.assay.xlsx b/assays/Visualization/isa.assay.xlsx
new file mode 100644
index 0000000000000000000000000000000000000000..7e3b48e0f8b9a41edbe51a5dcb70b645dc432448
GIT binary patch
literal 6896
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

literal 0
HcmV?d00001

diff --git a/assays/Visualization/protocols/.gitkeep b/assays/Visualization/protocols/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/assays/Visualization/protocols/heatmap.py b/assays/Visualization/protocols/heatmap.py
new file mode 100644
index 0000000..950ceac
--- /dev/null
+++ b/assays/Visualization/protocols/heatmap.py
@@ -0,0 +1,14 @@
+import pandas as pd
+import plotly.express as px
+
+# Read the CSV file
+data = pd.read_csv('sugar_result.csv', index_col=0)
+
+# Create a heatmap using Plotly
+fig = px.imshow(data, 
+                labels=dict(x="Columns", y="Rows", color="Value"),
+                x=data.columns, 
+                y=data.index)
+
+# Save heatmap to file
+fig.write_image("heatmap.svg")
-- 
GitLab