From 1e09aa64aa8d7f9af9b41c086bc3006d6e944a06 Mon Sep 17 00:00:00 2001
From: bvenn <venn@bio.uni-kl.de>
Date: Thu, 17 Aug 2023 08:52:29 +0200
Subject: [PATCH] update enrichment figures

---
 .gitignore                                    |  1 +
 .vs/VSWorkspaceState.json                     |  6 --
 .../Acetate-depleting-25vs35.html             |  2 +-
 .../Acetate-depleting-25vs40.html             |  2 +-
 .../Constant-acetate-25vs40.html              |  2 +-
 runs/05_Enrichments/Temperature.html          |  2 +-
 workflows/Enrichments.ipynb                   |  2 +-
 workflows/KEGGEnrichment.ipynb                | 86 ++++++++++++++++---
 8 files changed, 80 insertions(+), 23 deletions(-)
 delete mode 100644 .vs/VSWorkspaceState.json

diff --git a/.gitignore b/.gitignore
index e529d297..ff0de90b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -86,3 +86,4 @@ $RECYCLE.BIN/
 *.sqlite
 /.vs/carbon-availability-transcriptomics-chlamy/v17/workspaceFileList.bin
 /.vs/carbon-availability-transcriptomics-chlamy/v17/.wsuo
+/.vs/VSWorkspaceState.json
diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
deleted file mode 100644
index 6b611411..00000000
--- a/.vs/VSWorkspaceState.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "ExpandedNodes": [
-    ""
-  ],
-  "PreviewInSolutionExplorer": false
-}
\ No newline at end of file
diff --git a/runs/05_Enrichments/Acetate-depleting-25vs35.html b/runs/05_Enrichments/Acetate-depleting-25vs35.html
index eab0bc6b..9c451041 100644
--- a/runs/05_Enrichments/Acetate-depleting-25vs35.html
+++ b/runs/05_Enrichments/Acetate-depleting-25vs35.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html><head><script src="https://cdn.plot.ly/plotly-2.18.1.min.js"></script><title>Plotly.NET Datavisualization</title><meta charset="UTF-8"><meta name="description" content="A plotly.js graph generated with Plotly.NET"><link id="favicon" rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA1VBMVEVHcEwQnv+gCXURnf+gCXURnf8Rnf+gCXURnf+gCXWgCXURnf+gCHURnf+gCXURnf+gCXURnf+gCXUwke5YVbykBXEijO+gCXURnf8Rnf8Rnf8Rnf8Rnf8Rnf+gCXWIIoygCXUohekRnf8Rnf8Qn/+gCXUQnf8SoP////8ijO+PG4agAnGQLY6gEnrP7f94yP8aof8YwP/DY6jJcrDuz+RlwP/owt0Urv8k/v4e4v9Nr9F1XaSxMoyx3/9rc7Ayq/98UZ3gr9L8+v05rv9Fv9rF5/+7T52h9OprAAAAJHRSTlMAINTUgPmA+gYGNbu7NR9PR/xP/hoh/o74f471R3x8uie60TS1lKLVAAABzUlEQVRYw83X2XKCMBQGYOyK3RdL9x0ChVCkVAHFfXn/RyphKSIBE85Mp8woV/8HOUByIgj/+mg2yb8o1s4/nZHTw2NNobmzf0HOp/d7Ys18Apzv1hHCvJICqIZA8hnAL0T5FYBXiPOrAJ+Q5HMAj5Dm8wC78JtfA1iFLK8oeYBNWM1vvQitltB4QxxCLn8gXD2/NoTjbXZhLX9ypH8c8giFvKJLiEMo5gnALlDyEcAq0PIxwCZQ8wnAItDzKbBZKObNBJDlMCFvEor5YQ8buDfUJdt3kevb1QLl+j2vb4y9OZZ8z0a251feA238uG8qZh/rkmurSLXdqjrQ62eQn5EWsaqS9Dweh3ewDOI7aHdG5ULJ8yM1WE67cQ0604FaJqx/v0leGc6x8aV94+gpWNqiTR3FrShcU68fHqYSA3J47Qwgwnsm3NxtBtR2NVA2BKcbxIC1mFUOoaSIZldzIuDyU+tkAPtjoAMcLwIV4HkVaQDXx0ABOD9HZxIYwcTRJWswQrOBxT8hpBMKIi+xWmdK4pvS4JMqfFqHLyzwpQ2+uMKXd3iDAW9x4E0WvM2DN5rwVhfebMPbffiGA77lgW+64Ns++MYTvvX9m+MHc8vmMWg2fMUAAAAASUVORK5CYII="></head><body><div id="3c7ce915-2506-47ed-a629-4bb858f55a2b"><!-- Plotly chart will be drawn inside this DIV --></div><script type="text/javascript">var renderPlotly_3c7ce915250647eda6294bb858f55a2b = function() {
     var data = [{"type":"bar","x":[1.3250842190794538,1.3520503454038568,1.3947827290531736,1.4161526379852183,1.4005019635445202,1.4005019635445202,1.4005019635445202,1.386290110644495,1.4797276795308587,1.5098845627583342,1.5417591749880655,1.5484108884987497,1.6404848927756226,1.6633448452165591,1.6613607448250098,1.6529135799688177,1.7306590968497277,1.7933401498963302,1.835198604107152,1.9963253994297985,1.9963253994297985,2.179812766418218,2.148881593814549,2.2369995269389578,2.4201453177112446,2.512864286635501,2.549298322184172,2.7645671464111263,2.860623334002075,2.9810311883037968,3.4188160010440423,4.140166835137583,4.49254210622774,4.688580037397053,4.961504632904725,4.878486898643194,5.811283902853119],"y":["lipid metabolism","protein.degradation.metalloprotease","protein.synthesis.ribosome biogenesis.pre-rRNA processing and modifications.snoRNPs","nucleotide metabolism.deoxynucleotide metabolism","misc.myrosinases-lectin-jacalin","cell.motility.eukaryotes.radial spoke","cell.organisation.cytoskeleton.mikrotubuli","misc.nitrilases, nitrile lyases, berberine bridge enzymes, reticuline oxidases, troponine reductases","misc.rhodanese","PS.carbon concentrating mechanism","RNA.regulation of transcription.putative transcription regulator","cell wall","transport.metal","S-assimilation.APS","protein.synthesis.ribosomal protein.prokaryotic.chloroplast.30S subunit","RNA.regulation of transcription.MYB domain transcription factor family","lipid metabolism.FA synthesis and FA elongation","protein.synthesis.ribosome biogenesis.pre-rRNA processing and modifications","transport.ABC transporters and multidrug resistance systems","protein.synthesis.ribosomal protein.prokaryotic.non-organellar","amino acid metabolism.degradation.aromatic aa","lipid metabolism.lipid degradation","cell.motility.eukaryotes.intraflagellar transport","cell","cell.motility.eukaryotes.intraflagellar transport.IFT particle protein.complex B","protein.synthesis.ribosome biogenesis","cell.organisation","signalling.receptor kinases","cell.motility.eukaryotes.intraflagellar transport.IFT particle protein","protein.synthesis.ribosomal protein.prokaryotic.non-organellar.50S subunit","cell.motility.eukaryotes.basal bodies","lipid metabolism.lipid degradation.beta-oxidation","DNA.synthesis/chromatin structure","protein.synthesis.ribosomal protein.prokaryotic.chloroplast.50S subunit","protein.synthesis.ribosomal protein.prokaryotic","DNA","protein.synthesis.ribosomal protein.prokaryotic.chloroplast"],"text":["99/228","42/89","7/10","11/18","10/16","10/16","10/16","8/12","14/24","25/48","26/50","22/41","25/47","13/21","9/13","12/19","32/62","30/57","49/100","9/12","9/12","34/63","15/23","325/769","9/11","<b>54/105 *</b>","<b>94/197 *</b>","<b>50/94 *</b>","<b>13/17 *</b>","<b>9/10 *</b>","<b>22/32 **</b>","<b>12/13 **</b>","<b>111/216 **</b>","<b>20/25 **</b>","<b>43/67 **</b>","<b>176/361 **</b>","<b>29/38 **</b>"],"textposition":"inside","orientation":"h","marker":{"color":"rgba(2, 138, 115, 1.0)","pattern":{}}}];
-    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":500.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Acetate depleting 25vs35"}};
+    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":600.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Acetate depleting 25vs35"}};
     var config = {"responsive":true,"toImageButtonOptions":{"format":"svg"}};
     Plotly.newPlot('3c7ce915-2506-47ed-a629-4bb858f55a2b', data, layout, config);
 };
diff --git a/runs/05_Enrichments/Acetate-depleting-25vs40.html b/runs/05_Enrichments/Acetate-depleting-25vs40.html
index 041f4f3e..a2503a8d 100644
--- a/runs/05_Enrichments/Acetate-depleting-25vs40.html
+++ b/runs/05_Enrichments/Acetate-depleting-25vs40.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html><head><script src="https://cdn.plot.ly/plotly-2.18.1.min.js"></script><title>Plotly.NET Datavisualization</title><meta charset="UTF-8"><meta name="description" content="A plotly.js graph generated with Plotly.NET"><link id="favicon" rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA1VBMVEVHcEwQnv+gCXURnf+gCXURnf8Rnf+gCXURnf+gCXWgCXURnf+gCHURnf+gCXURnf+gCXURnf+gCXUwke5YVbykBXEijO+gCXURnf8Rnf8Rnf8Rnf8Rnf8Rnf+gCXWIIoygCXUohekRnf8Rnf8Qn/+gCXUQnf8SoP////8ijO+PG4agAnGQLY6gEnrP7f94yP8aof8YwP/DY6jJcrDuz+RlwP/owt0Urv8k/v4e4v9Nr9F1XaSxMoyx3/9rc7Ayq/98UZ3gr9L8+v05rv9Fv9rF5/+7T52h9OprAAAAJHRSTlMAINTUgPmA+gYGNbu7NR9PR/xP/hoh/o74f471R3x8uie60TS1lKLVAAABzUlEQVRYw83X2XKCMBQGYOyK3RdL9x0ChVCkVAHFfXn/RyphKSIBE85Mp8woV/8HOUByIgj/+mg2yb8o1s4/nZHTw2NNobmzf0HOp/d7Ys18Apzv1hHCvJICqIZA8hnAL0T5FYBXiPOrAJ+Q5HMAj5Dm8wC78JtfA1iFLK8oeYBNWM1vvQitltB4QxxCLn8gXD2/NoTjbXZhLX9ypH8c8giFvKJLiEMo5gnALlDyEcAq0PIxwCZQ8wnAItDzKbBZKObNBJDlMCFvEor5YQ8buDfUJdt3kevb1QLl+j2vb4y9OZZ8z0a251feA238uG8qZh/rkmurSLXdqjrQ62eQn5EWsaqS9Dweh3ewDOI7aHdG5ULJ8yM1WE67cQ0604FaJqx/v0leGc6x8aV94+gpWNqiTR3FrShcU68fHqYSA3J47Qwgwnsm3NxtBtR2NVA2BKcbxIC1mFUOoaSIZldzIuDyU+tkAPtjoAMcLwIV4HkVaQDXx0ABOD9HZxIYwcTRJWswQrOBxT8hpBMKIi+xWmdK4pvS4JMqfFqHLyzwpQ2+uMKXd3iDAW9x4E0WvM2DN5rwVhfebMPbffiGA77lgW+64Ns++MYTvvX9m+MHc8vmMWg2fMUAAAAASUVORK5CYII="></head><body><div id="176f0e0a-a931-41dc-aca5-be227794ce23"><!-- Plotly chart will be drawn inside this DIV --></div><script type="text/javascript">var renderPlotly_176f0e0aa93141dcaca5be227794ce23 = function() {
     var data = [{"type":"bar","x":[1.3516234730675416,1.4488552935034062,1.4518275988347604,1.4654657347816706,1.480269957923171,1.53984717166898,1.6131648047778857,1.6680124474346363,1.7347983115067582,1.7510083124004536,1.8003006817877893,1.9168351933070913,1.9718847184200967,1.9650640203375023,2.0297884269094846,2.114475573817676,2.094410204350278,2.1838027907016864,2.2389234750016147,2.393592430612365,2.4794363265320962,2.4794363265320962,2.6208209898402366,2.6688566284975743,2.6239383378766137,2.907521001333216,2.9386881467500525,3.066691092436732,3.31990908005195,3.4767975896563006,3.456054620917225,3.903319774486347,4.048319410446707,4.204956403169572,5.583536063932411,5.919985004033434],"y":["RNA.processing.RNA helicase","RNA.regulation of transcription.putative transcription regulator","cell.division","amino acid metabolism.synthesis.branched chain group","hormone metabolism.abscisic acid","amino acid metabolism.synthesis.aspartate family.lysine","cell.motility.eukaryotes.basal bodies","RNA.RNA binding","TCA / organic transformation.TCA","cell.motility.eukaryotes.intraflagellar transport.IFT particle protein.complex B","amino acid metabolism.synthesis.aspartate family","RNA","protein.degradation.serine protease","protein.synthesis.ribosomal protein.prokaryotic.non-organellar","RNA.processing","DNA.synthesis/chromatin structure","mitochondrial electron transport / ATP synthesis","transport.p- and v-ATPases","transport.p- and v-ATPases.H+-transporting two-sector ATPase","cell.organisation","protein.synthesis.ribosome biogenesis.pre-rRNA processing and modifications.snoRNPs","protein.synthesis.ribosomal protein.prokaryotic.non-organellar.50S subunit","transport.unspecified anions","DNA","protein.synthesis.ribosome biogenesis.pre-rRNA processing and modifications","mitochondrial electron transport / ATP synthesis.NADH-DH (type I).localisation not clear","protein.synthesis.ribosome biogenesis","cell.motility.eukaryotes.intraflagellar transport.IFT particle protein","protein.synthesis.initiation","cell.motility.eukaryotes.intraflagellar transport","mitochondrial electron transport / ATP synthesis.NADH-DH (type I).complex I","protein.synthesis.ribosomal protein.prokaryotic.chloroplast.50S subunit","protein.synthesis.ribosomal protein.prokaryotic","protein.synthesis.ribosomal protein.prokaryotic.chloroplast","protein.synthesis","mitochondrial electron transport / ATP synthesis.NADH-DH (type I)"],"text":["29/41","35/50","61/92","11/13","23/31","9/10","24/32","62/92","21/27","10/11","31/42","596/993","45/63","11/12","169/265","140/216","88/131","32/42","15/17","130/197","<b>10/10 *</b>","<b>10/10 *</b>","<b>14/15 *</b>","<b>231/361 *</b>","<b>43/57 *</b>","<b>21/24 *</b>","<b>75/105 *</b>","<b>16/17 **</b>","<b>46/59 **</b>","<b>21/23 **</b>","<b>29/34 **</b>","<b>23/25 **</b>","<b>53/67 **</b>","<b>33/38 **</b>","<b>267/394 **</b>","<b>50/58 **</b>"],"textposition":"inside","orientation":"h","marker":{"color":"rgba(2, 138, 115, 1.0)","pattern":{}}}];
-    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":500.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Acetate depleting 25vs40"}};
+    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":550.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Acetate depleting 25vs40"}};
     var config = {"responsive":true,"toImageButtonOptions":{"format":"svg"}};
     Plotly.newPlot('176f0e0a-a931-41dc-aca5-be227794ce23', data, layout, config);
 };
diff --git a/runs/05_Enrichments/Constant-acetate-25vs40.html b/runs/05_Enrichments/Constant-acetate-25vs40.html
index b66904d1..cc73982e 100644
--- a/runs/05_Enrichments/Constant-acetate-25vs40.html
+++ b/runs/05_Enrichments/Constant-acetate-25vs40.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html><head><script src="https://cdn.plot.ly/plotly-2.18.1.min.js"></script><title>Plotly.NET Datavisualization</title><meta charset="UTF-8"><meta name="description" content="A plotly.js graph generated with Plotly.NET"><link id="favicon" rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA1VBMVEVHcEwQnv+gCXURnf+gCXURnf8Rnf+gCXURnf+gCXWgCXURnf+gCHURnf+gCXURnf+gCXURnf+gCXUwke5YVbykBXEijO+gCXURnf8Rnf8Rnf8Rnf8Rnf8Rnf+gCXWIIoygCXUohekRnf8Rnf8Qn/+gCXUQnf8SoP////8ijO+PG4agAnGQLY6gEnrP7f94yP8aof8YwP/DY6jJcrDuz+RlwP/owt0Urv8k/v4e4v9Nr9F1XaSxMoyx3/9rc7Ayq/98UZ3gr9L8+v05rv9Fv9rF5/+7T52h9OprAAAAJHRSTlMAINTUgPmA+gYGNbu7NR9PR/xP/hoh/o74f471R3x8uie60TS1lKLVAAABzUlEQVRYw83X2XKCMBQGYOyK3RdL9x0ChVCkVAHFfXn/RyphKSIBE85Mp8woV/8HOUByIgj/+mg2yb8o1s4/nZHTw2NNobmzf0HOp/d7Ys18Apzv1hHCvJICqIZA8hnAL0T5FYBXiPOrAJ+Q5HMAj5Dm8wC78JtfA1iFLK8oeYBNWM1vvQitltB4QxxCLn8gXD2/NoTjbXZhLX9ypH8c8giFvKJLiEMo5gnALlDyEcAq0PIxwCZQ8wnAItDzKbBZKObNBJDlMCFvEor5YQ8buDfUJdt3kevb1QLl+j2vb4y9OZZ8z0a251feA238uG8qZh/rkmurSLXdqjrQ62eQn5EWsaqS9Dweh3ewDOI7aHdG5ULJ8yM1WE67cQ0604FaJqx/v0leGc6x8aV94+gpWNqiTR3FrShcU68fHqYSA3J47Qwgwnsm3NxtBtR2NVA2BKcbxIC1mFUOoaSIZldzIuDyU+tkAPtjoAMcLwIV4HkVaQDXx0ABOD9HZxIYwcTRJWswQrOBxT8hpBMKIi+xWmdK4pvS4JMqfFqHLyzwpQ2+uMKXd3iDAW9x4E0WvM2DN5rwVhfebMPbffiGA77lgW+64Ns++MYTvvX9m+MHc8vmMWg2fMUAAAAASUVORK5CYII="></head><body><div id="9122deca-2cdb-43b8-9068-6956d3cbe251"><!-- Plotly chart will be drawn inside this DIV --></div><script type="text/javascript">var renderPlotly_9122deca2cdb43b890686956d3cbe251 = function() {
     var data = [{"type":"bar","x":[1.3364329485282864,1.302188203640598,1.302188203640598,1.302188203640598,1.302188203640598,1.4907968970587253,1.4771377137136252,1.5175819255973042,1.5616621252182423,1.5627033505943926,1.5491472403099473,1.5805169790935008,1.7056033618483797,1.7056033618483797,1.702004205705329,1.6929706174934729,1.8636335680456646,1.7007440843758967,1.8067601853630584,2.080926089578609,2.153193431163242,2.286242032116802,2.8244460576661075,4.197901329936686,4.53678636772767],"y":["PS.carbon concentrating mechanism","misc.acyl transferases","protein.synthesis.ribosome biogenesis.pre-rRNA processing and modifications.snoRNPs","misc.O-methyl transferases","protein.folding.prefoldin and trigger factor","mitochondrial electron transport / ATP synthesis.NADH-DH (type I).localisation not clear","RNA.processing.splicing","not assigned.no ontology","RNA.processing.RNA helicase","secondary metabolism.N misc","RNA.transcription","not assigned","cell.motility.eukaryotes.axonemal dyneins","misc.oxidases - copper, flavone etc","cell.motility.eukaryotes.axonemal dyneins.inner arm.monomeric species","protein.synthesis.ribosomal protein.prokaryotic.chloroplast.30S subunit","RNA.regulation of transcription.putative transcription regulator","cell.vesicle transport","protein.degradation.metalloprotease","mitochondrial electron transport / ATP synthesis.NADH-DH (type I)","protein.degradation.ubiquitin.E2","protein.synthesis.ribosomal protein.prokaryotic.chloroplast","protein.synthesis.ribosomal protein.prokaryotic","RNA","RNA.processing"],"text":["41/48","10/10","10/10","10/10","10/10","22/24","43/50","59/70","36/41","12/12","44/51","60/71","42/48","42/48","19/20","13/13","44/50","58/68","75/89","51/58","23/24","35/38","60/67","<b>787/993 **</b>","<b>224/265 **</b>"],"textposition":"inside","orientation":"h","marker":{"color":"rgba(2, 138, 115, 1.0)","pattern":{}}}];
-    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":500.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Constant acetate 25vs40"}};
+    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":550.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Constant acetate 25vs40"}};
     var config = {"responsive":true,"toImageButtonOptions":{"format":"svg"}};
     Plotly.newPlot('9122deca-2cdb-43b8-9068-6956d3cbe251', data, layout, config);
 };
diff --git a/runs/05_Enrichments/Temperature.html b/runs/05_Enrichments/Temperature.html
index 2b6a7e93..297ae26a 100644
--- a/runs/05_Enrichments/Temperature.html
+++ b/runs/05_Enrichments/Temperature.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html><head><script src="https://cdn.plot.ly/plotly-2.18.1.min.js"></script><title>Plotly.NET Datavisualization</title><meta charset="UTF-8"><meta name="description" content="A plotly.js graph generated with Plotly.NET"><link id="favicon" rel="shortcut icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAA1VBMVEVHcEwQnv+gCXURnf+gCXURnf8Rnf+gCXURnf+gCXWgCXURnf+gCHURnf+gCXURnf+gCXURnf+gCXUwke5YVbykBXEijO+gCXURnf8Rnf8Rnf8Rnf8Rnf8Rnf+gCXWIIoygCXUohekRnf8Rnf8Qn/+gCXUQnf8SoP////8ijO+PG4agAnGQLY6gEnrP7f94yP8aof8YwP/DY6jJcrDuz+RlwP/owt0Urv8k/v4e4v9Nr9F1XaSxMoyx3/9rc7Ayq/98UZ3gr9L8+v05rv9Fv9rF5/+7T52h9OprAAAAJHRSTlMAINTUgPmA+gYGNbu7NR9PR/xP/hoh/o74f471R3x8uie60TS1lKLVAAABzUlEQVRYw83X2XKCMBQGYOyK3RdL9x0ChVCkVAHFfXn/RyphKSIBE85Mp8woV/8HOUByIgj/+mg2yb8o1s4/nZHTw2NNobmzf0HOp/d7Ys18Apzv1hHCvJICqIZA8hnAL0T5FYBXiPOrAJ+Q5HMAj5Dm8wC78JtfA1iFLK8oeYBNWM1vvQitltB4QxxCLn8gXD2/NoTjbXZhLX9ypH8c8giFvKJLiEMo5gnALlDyEcAq0PIxwCZQ8wnAItDzKbBZKObNBJDlMCFvEor5YQ8buDfUJdt3kevb1QLl+j2vb4y9OZZ8z0a251feA238uG8qZh/rkmurSLXdqjrQ62eQn5EWsaqS9Dweh3ewDOI7aHdG5ULJ8yM1WE67cQ0604FaJqx/v0leGc6x8aV94+gpWNqiTR3FrShcU68fHqYSA3J47Qwgwnsm3NxtBtR2NVA2BKcbxIC1mFUOoaSIZldzIuDyU+tkAPtjoAMcLwIV4HkVaQDXx0ABOD9HZxIYwcTRJWswQrOBxT8hpBMKIi+xWmdK4pvS4JMqfFqHLyzwpQ2+uMKXd3iDAW9x4E0WvM2DN5rwVhfebMPbffiGA77lgW+64Ns++MYTvvX9m+MHc8vmMWg2fMUAAAAASUVORK5CYII="></head><body><div id="81111471-1cd9-4bd6-8c0a-46c42e2738e9"><!-- Plotly chart will be drawn inside this DIV --></div><script type="text/javascript">var renderPlotly_811114711cd94bd68c0a46c42e2738e9 = function() {
     var data = [{"type":"bar","x":[1.309351019006195,1.3839980752892795,1.4074474164825819,1.459980184969131,1.4549716561927657,1.4936127081736204,1.5491442167273113,1.6053146598742676,1.6187117849672075,1.6495799356740917,1.654126053493457,1.6682596682394586,1.6924037577118836,1.7177762443470188,1.8382669041069595,1.8745099492906059,1.9359094617912902,1.9506994323559828,2.0967063277416766,2.115724611102774,2.2482457724877554,2.1865857357973866,2.2482457724877554,2.221043421370095,2.1865857357973866,2.218268350246134,2.1830406997080716,2.425003022004279,2.524914510311768,2.5916764391974163,2.7014003877414514,2.8716658121911465,3.0156464908117493,3.103650240689721,3.9715380540716914,4.114670281629256,4.128656833490756,4.364748505731961,4.5933294009969226,7.708625668354397,10.0,10.0],"y":["secondary metabolism.isoprenoids.carotenoids","amino acid metabolism.synthesis","nucleotide metabolism.degradation","glycolysis.unclear/dually targeted","transport.metabolite transporters at the envelope membrane","transport.metal","glycolysis","protein.targeting.mitochondria","protein.targeting","lipid metabolism.phospholipid synthesis","lipid metabolism.lipid degradation.lipases","RNA.regulation of transcription.HDA","protein.folding.immunophilins (IMM).FKBPs","protein.synthesis.ribosome biogenesis.pre-rRNA processing and modifications.snoRNPs","transport.p- and v-ATPases","TCA / organic transformation.other organic acid transformations","transport.metabolite transporters at the mitochondrial membrane","PS.lightreaction.photosystem I.LHC-I","amino acid metabolism","lipid metabolism","mitochondrial electron transport / ATP synthesis.cytochrome c oxidase","gluconeogenesis / glyoxylate cycle","amino acid metabolism.degradation.branched chain group","protein.synthesis.ribosomal protein.prokaryotic.chloroplast.50S subunit","misc.nitrilases, nitrile lyases, berberine bridge enzymes, reticuline oxidases, troponine reductases","amino acid metabolism.synthesis.aspartate family","lipid metabolism.lipid degradation","protein.synthesis.ribosomal protein.prokaryotic.chloroplast.30S subunit","mitochondrial electron transport / ATP synthesis.F1-ATPase","TCA / organic transformation.TCA","amino acid metabolism.synthesis.aspartate family.lysine","PS.lightreaction.photosystem I","TCA / organic transformation","protein.synthesis.initiation","transport","protein.synthesis.ribosomal protein.prokaryotic.chloroplast","mitochondrial electron transport / ATP synthesis.NADH-DH (type I).localisation not clear","protein.synthesis.ribosomal protein.prokaryotic","transport.p- and v-ATPases.H+-transporting two-sector ATPase","mitochondrial electron transport / ATP synthesis.NADH-DH (type I).complex I","mitochondrial electron transport / ATP synthesis","mitochondrial electron transport / ATP synthesis.NADH-DH (type I)"],"text":["18/25","91/149","17/23","10/12","19/26","32/47","43/65","20/27","120/197","22/30","27/38","15/19","17/22","9/10","30/42","12/14","34/48","10/11","138/223","141/228","16/19","11/12","16/19","20/25","11/12","31/42","44/63","<b>12/13 *</b>","<b>15/17 *</b>","<b>22/27 *</b>","<b>10/10 *</b>","<b>19/22 *</b>","<b>38/50 **</b>","<b>44/59 **</b>","<b>347/565 **</b>","<b>32/38 **</b>","<b>22/24 **</b>","<b>52/67 **</b>","<b>17/17 **</b>","<b>33/34 **</b>","<b>108/131 **</b>","<b>55/58 **</b>"],"textposition":"inside","orientation":"h","marker":{"color":"rgba(2, 138, 115, 1.0)","pattern":{}}}];
-    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":500.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Temperature"}};
+    var layout = {"width":1000,"height":1000,"template":{"layout":{"paper_bgcolor":"white","plot_bgcolor":"white","xaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true},"yaxis":{"ticks":"inside","mirror":"all","showline":true,"zeroline":true}},"data":{}},"margin":{"l":600.0},"xaxis":{"title":{"text":"-log<sub>10</sub> (p value)"}},"title":{"text":"Temperature"}};
     var config = {"responsive":true,"toImageButtonOptions":{"format":"svg"}};
     Plotly.newPlot('81111471-1cd9-4bd6-8c0a-46c42e2738e9', data, layout, config);
 };
diff --git a/workflows/Enrichments.ipynb b/workflows/Enrichments.ipynb
index 036b95ae..8cba2663 100644
--- a/workflows/Enrichments.ipynb
+++ b/workflows/Enrichments.ipynb
@@ -164,7 +164,7 @@
     "\n",
     "            Chart.Bar(data,MultiText=boldness,TextPosition=StyleParam.TextPosition.Inside,MarkerColor=Color.fromHex \"#028a73\")\n",
     "            |> Chart.withTemplate ChartTemplates.lightMirrored\n",
-    "            |> Chart.withMarginSize(Left=500.)\n",
+    "            |> Chart.withMarginSize(Left=600.)\n",
     "            |> Chart.withXAxisStyle \"-log<sub>10</sub> (p value)\"\n",
     "            |> Chart.withSize(1000.,1000.)\n",
     "            |> Chart.withDescription(\n",
diff --git a/workflows/KEGGEnrichment.ipynb b/workflows/KEGGEnrichment.ipynb
index af96e30a..fb4e1161 100644
--- a/workflows/KEGGEnrichment.ipynb
+++ b/workflows/KEGGEnrichment.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 1,
    "metadata": {
     "dotnet_interactive": {
      "language": "fsharp"
@@ -27,7 +27,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": 12,
    "metadata": {
     "dotnet_interactive": {
      "language": "fsharp"
@@ -53,15 +53,74 @@
     "        Genename,Pathwayname\n",
     "    )\n",
     "    |> Array.ofSeq\n",
+    "    |> Array.groupBy fst\n",
+    "    |> Array.map (fun (x,y) -> x, y |> Array.map snd |> Array.distinct )\n",
     "    |> Map.ofArray\n",
     "\n",
     "let cre2KEGG cre = \n",
-    "    if cre2KEGGmap.ContainsKey cre then cre2KEGGmap.[cre] else \"\""
+    "    if cre2KEGGmap.ContainsKey cre then cre2KEGGmap.[cre] else [||]"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 13,
+   "metadata": {
+    "dotnet_interactive": {
+     "language": "fsharp"
+    },
+    "polyglot_notebook": {
+     "kernelName": "fsharp"
+    }
+   },
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<div class=\"dni-plaintext\"><pre>[ triacylglycerol degradation, phosphatidylcholine acyl editing, phospholipases ]</pre></div><style>\r\n",
+       ".dni-code-hint {\r\n",
+       "    font-style: italic;\r\n",
+       "    overflow: hidden;\r\n",
+       "    white-space: nowrap;\r\n",
+       "}\r\n",
+       ".dni-treeview {\r\n",
+       "    white-space: nowrap;\r\n",
+       "}\r\n",
+       ".dni-treeview td {\r\n",
+       "    vertical-align: top;\r\n",
+       "    text-align: start;\r\n",
+       "}\r\n",
+       "details.dni-treeview {\r\n",
+       "    padding-left: 1em;\r\n",
+       "}\r\n",
+       "table td {\r\n",
+       "    text-align: start;\r\n",
+       "}\r\n",
+       "table tr { \r\n",
+       "    vertical-align: top; \r\n",
+       "    margin: 0em 0px;\r\n",
+       "}\r\n",
+       "table tr td pre \r\n",
+       "{ \r\n",
+       "    vertical-align: top !important; \r\n",
+       "    margin: 0em 0px !important;\r\n",
+       "} \r\n",
+       "table th {\r\n",
+       "    text-align: start;\r\n",
+       "}\r\n",
+       "</style>"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "cre2KEGG \"Cre01.g005200\""
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 14,
    "metadata": {
     "dotnet_interactive": {
      "language": "fsharp"
@@ -99,7 +158,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 60,
+   "execution_count": 17,
    "metadata": {
     "dotnet_interactive": {
      "language": "fsharp"
@@ -113,13 +172,13 @@
     "let writeEnrichment (sigv: Significance) = \n",
     "    read \n",
     "    |> Array.tail\n",
-    "    |> Array.map (fun x -> \n",
+    "    |> Array.collect (fun x -> \n",
     "        let tmp = x.Split '\\t'\n",
     "        let id = tmp.[1]\n",
     "        let tr = tmp.[2]\n",
     "        let pathway = \n",
     "            let tmp = cre2KEGG id\n",
-    "            (if tmp <> \"\" then tmp else cre2KEGG tr)\n",
+    "            (if tmp <> [||] then tmp else cre2KEGG tr)\n",
     "        let fdr_noP_25_35 = tmp.[5] |> float\n",
     "        let fdr_noP_25_40 = tmp.[6] |> float\n",
     "        let fdr_tap_25_35 = tmp.[7] |> float\n",
@@ -140,8 +199,8 @@
     "            | Interact ->   if fdr_interact < 0.05 then 1 else 0\n",
     "            | T2525 ->      if fdr_25_25 < 0.05 then 1 else 0\n",
     "\n",
-    "        \n",
-    "        OntologyEnrichment.createOntologyItem id pathway activeGroup tr\n",
+    "        pathway\n",
+    "        |> Array.map (fun p -> OntologyEnrichment.createOntologyItem id p activeGroup tr)\n",
     "\n",
     "        )\n",
     "    |> Seq.filter (fun x -> x.OntologyTerm <> \"\")\n",
@@ -189,7 +248,7 @@
     "\n",
     "\n",
     "            let body = \n",
-    "                \"\"\"<b>ChlamyCyc pathway ontology enrichment</b> <br><br>Ontology enrichment was performed using KEGG pathway ontology from https://ftp.plantcyc.org/pmn/Pathways/Data_dumps/PMN15.5_January2023/pathways/.\n",
+    "                \"\"\"<b>ChlamyCyc pathway ontology enrichment</b> <br><br>Ontology enrichment was performed using ChlamyCyc pathway ontology which combines KEGG, MapMan, and JGI pathway information (https://ftp.plantcyc.org/pmn/Pathways/Data_dumps/PMN15.5_January2023/pathways/).\n",
     "                The p values were calculated using a hypergeometric test (<a href=\"https://github.com/CSBiology/BioFSharp\">BioFSharp.Stats</a>) and corrected for multiple testing using the Benjamini-Hochberg method (<a href=\"https://github.com/fslaborg/FSharp.Stats\">FSharp.Stats</a>). <br> \n",
     "                <br> All functional sets with a p value less than 0.05 and more than 5 annotated transcripts are shown. \n",
     "                The ratio at the end of each bar indicates the number of significant transcripts between the two compared conditions vs detected transcripts in our RNA-seq data contained in the respective function bin. \n",
@@ -216,6 +275,7 @@
     "            )\n",
     "            |> Chart.withTitle ((sigToString sigv).Replace(\"-\",\" \"))\n",
     "            |> Chart.saveHtml(@\"C:\\Users\\bvenn\\source\\repos\\carbon-availability-transcriptomics-chlamy\\runs\\05_Enrichments\\ChlamyCyc_Pathway\\\" + sigToString sigv)\n",
+    "            //|> Chart.saveHtml(@\"C:\\Users\\bvenn\\Desktop\\delete\\rucheck\\\" + sigToString sigv)\n",
     "\n",
     "            oe\n",
     "            |> Array.mapi (fun i x -> \n",
@@ -223,12 +283,14 @@
     "                $\"{x.OntologyTerm}\\t{x.TotalUnivers}\\t{x.TotalNumberOfDE}\\t{x.NumberInBin}\\t{x.NumberOfDEsInBin}\\t{x.PValue}\\t{fdr.[i]}\\t{it}\"\n",
     "            )\n",
     "            |> Array.append ([|\"Term\\tTotalNumberOfFunctionalTerms\\tTotalNumberOfDETrancripts\\tNumberOfTranscriptsInBin\\tNumberOfDETranscriptsInBin\\tPValue\\tFDR\\tAvailableTrivialNamesInBin\"|])\n",
-    "            |> fun rows -> System.IO.File.WriteAllLines(@\"C:\\Users\\bvenn\\source\\repos\\carbon-availability-transcriptomics-chlamy\\runs\\05_Enrichments\\ChlamyCyc_Pathway\\frames\\\" + sigToString sigv + \".tsv\",rows)"
+    "            |> fun rows -> \n",
+    "                System.IO.File.WriteAllLines(@\"C:\\Users\\bvenn\\source\\repos\\carbon-availability-transcriptomics-chlamy\\runs\\05_Enrichments\\ChlamyCyc_Pathway\\frames\\\" + sigToString sigv + \".tsv\",rows)\n",
+    "                //System.IO.File.WriteAllLines(@\"C:\\Users\\bvenn\\Desktop\\delete\\rucheck\\\" + sigToString sigv + \".tsv\",rows)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 62,
+   "execution_count": 18,
    "metadata": {
     "dotnet_interactive": {
      "language": "fsharp"
-- 
GitLab