about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gn3/heatmaps/heatmaps.py54
-rw-r--r--guix.scm5
2 files changed, 58 insertions, 1 deletions
diff --git a/gn3/heatmaps/heatmaps.py b/gn3/heatmaps/heatmaps.py
new file mode 100644
index 0000000..3bf7917
--- /dev/null
+++ b/gn3/heatmaps/heatmaps.py
@@ -0,0 +1,54 @@
+import random
+import plotly.express as px
+
+#### Remove these ####
+
+heatmap_dir = "heatmap_images"
+
+def generate_random_data(data_stop: float = 2, width: int = 10, height: int = 30):
+    """
+    This is mostly a utility function to be used to generate random data, useful
+    for development of the heatmap generation code, without access to the actual
+    database data.
+    """
+    return [[random.uniform(0,data_stop) for i in range(0, width)]
+            for j in range(0, height)]
+
+def heatmap_x_axis_names():
+    return [
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM103710672",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM2260338",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM3140576",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM5670577",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM2070121",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM103990541",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM1190722",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM6590722",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM4200064",
+        "UCLA_BXDBXH_CARTILAGE_V2::ILM3140463"]
+#### END: Remove these ####
+
+# Grey + Blue + Red
+def generate_heatmap():
+    rows = 20
+    data = generate_random_data(height=rows)
+    y = (["%s"%x for x in range(1, rows+1)][:-1] + ["X"]) #replace last item with x for now
+    fig = px.imshow(
+        data,
+        x=heatmap_x_axis_names(),
+        y=y,
+        width=500)
+    fig.update_traces(xtype="array")
+    fig.update_traces(ytype="array")
+    # fig.update_traces(xgap=10)
+    fig.update_xaxes(
+        visible=True,
+        title_text="Traits",
+        title_font_size=16)
+    fig.update_layout(
+        coloraxis_colorscale=[
+            [0.0, '#3B3B3B'], [0.4999999999999999, '#ABABAB'],
+            [0.5, '#F5DE11'], [1.0, '#FF0D00']])
+
+    fig.write_html("%s/%s"%(heatmap_dir, "test_image.html"))
+    return fig
diff --git a/guix.scm b/guix.scm
index f94fe1a..729d089 100644
--- a/guix.scm
+++ b/guix.scm
@@ -38,6 +38,7 @@
  (gn packages python)
  (gnu packages base)
  (gnu packages check)
+ (gnu packages graph)
  (gnu packages cran)
  (gnu packages databases)
  (gnu packages statistics)
@@ -101,7 +102,9 @@
                         ,python-sqlalchemy-stubs)
                        ("r-optparse" ,r-optparse)
                        ("r-qtl" ,r-qtl)
-                       ("r-stringi" ,r-stringi)))
+                       ("r-stringi" ,r-stringi)
+                       ("python-plotly" ,python-plotly)
+                       ("python-pandas" ,python-pandas)))
   (build-system python-build-system)
   (home-page "https://github.com/genenetwork/genenetwork3")
   (synopsis "GeneNetwork3 API for data science and machine learning.")