diff --git a/docs/api_examples/bar_plot.ipynb b/docs/api_examples/bar_plot.ipynb
index ea40d66..e5fcc75 100644
--- a/docs/api_examples/bar_plot.ipynb
+++ b/docs/api_examples/bar_plot.ipynb
@@ -73,7 +73,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": null,
"id": "963a9529",
"metadata": {
"tags": [
@@ -84,20 +84,8 @@
"source": [
"import os\n",
"\n",
- "IN_COLAB = \"COLAB_GPU\" in os.environ"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 15,
- "id": "ee2ffd40",
- "metadata": {
- "tags": [
- "hide-cell"
- ]
- },
- "outputs": [],
- "source": [
+ "IN_COLAB = \"COLAB_GPU\" in os.environ\n",
+ "\n",
"# Create a directory for outputs\n",
"output_dir = \"./outputs\"\n",
"os.makedirs(output_dir, exist_ok=True)"
@@ -118,11 +106,11 @@
"metadata": {},
"outputs": [],
"source": [
- "# Imports\n",
- "import pandas as pd\n",
- "import numpy as np\n",
"from pathlib import Path\n",
"\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
"from vuecore.plots.basic.bar import create_bar_plot"
]
},
@@ -137,91 +125,14 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": null,
"id": "ac2db647",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " Sample | \n",
- " Genus | \n",
- " Relative_Abundance | \n",
- " Genera_Count | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " Soil | \n",
- " Klebsiella | \n",
- " 4.142384 | \n",
- " 11 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " Soil | \n",
- " Shigella | \n",
- " 12.807301 | \n",
- " 11 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " Soil | \n",
- " Pseudomonas | \n",
- " 2.667787 | \n",
- " 11 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " Soil | \n",
- " Vibrio | \n",
- " 14.020172 | \n",
- " 11 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " Soil | \n",
- " Bacteroides | \n",
- " 17.713758 | \n",
- " 11 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Sample Genus Relative_Abundance Genera_Count\n",
- "0 Soil Klebsiella 4.142384 11\n",
- "1 Soil Shigella 12.807301 11\n",
- "2 Soil Pseudomonas 2.667787 11\n",
- "3 Soil Vibrio 14.020172 11\n",
- "4 Soil Bacteroides 17.713758 11"
- ]
- },
- "execution_count": 17,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "metadata": {
+ "tags": [
+ "hide-input"
+ ]
+ },
+ "outputs": [],
"source": [
"# Set a random seed for reproducibility of the synthetic data\n",
"np.random.seed(42)\n",
@@ -229,11 +140,22 @@
"# Sample types and bacterial genera\n",
"sample_types = [\"Soil\", \"Freshwater\", \"Ocean\", \"Sediment\", \"Wastewater\"]\n",
"genera = [\n",
- " \"Pseudomonas\", \"Bacillus\", \"Escherichia\", \"Streptococcus\",\n",
- " \"Lactobacillus\", \"Bacteroides\", \"Clostridium\", \"Staphylococcus\",\n",
- " \"Enterobacter\", \"Klebsiella\", \"Salmonella\", \"Shigella\", \"Vibrio\"\n",
+ " \"Pseudomonas\",\n",
+ " \"Bacillus\",\n",
+ " \"Escherichia\",\n",
+ " \"Streptococcus\",\n",
+ " \"Lactobacillus\",\n",
+ " \"Bacteroides\",\n",
+ " \"Clostridium\",\n",
+ " \"Staphylococcus\",\n",
+ " \"Enterobacter\",\n",
+ " \"Klebsiella\",\n",
+ " \"Salmonella\",\n",
+ " \"Shigella\",\n",
+ " \"Vibrio\",\n",
"]\n",
"\n",
+ "\n",
"def make_sample(sample: str, genera: list[str]) -> list[dict]:\n",
" \"\"\"\n",
" Generate synthetic microbial abundance data for a single sample.\n",
@@ -252,26 +174,31 @@
" Relative abundance, and Genera count.\n",
" \"\"\"\n",
" # Randomly pick a subset of genera present in this sample\n",
- " selected = np.random.choice(genera, np.random.randint(5, len(genera) + 1), replace=False)\n",
- " \n",
+ " selected = np.random.choice(\n",
+ " genera, np.random.randint(5, len(genera) + 1), replace=False\n",
+ " )\n",
+ "\n",
" # Generate random raw abundances (shifted by +0.1 to avoid zeros)\n",
" raw = np.random.rand(len(selected)) + 0.1\n",
- " \n",
+ "\n",
" # Normalize abundances so they sum to exactly 100%\n",
" abundances = (raw / raw.sum()) * 100\n",
- " \n",
+ "\n",
" # Count how many genera are present\n",
" genera_count = len(selected)\n",
- " \n",
+ "\n",
" # Store results into list of dicts\n",
" return [\n",
- " {\"Sample\": sample,\n",
- " \"Genus\": genus,\n",
- " \"Relative_Abundance\": abund,\n",
- " \"Genera_Count\": genera_count}\n",
+ " {\n",
+ " \"Sample\": sample,\n",
+ " \"Genus\": genus,\n",
+ " \"Relative_Abundance\": abund,\n",
+ " \"Genera_Count\": genera_count,\n",
+ " }\n",
" for genus, abund in zip(selected, abundances)\n",
" ]\n",
"\n",
+ "\n",
"# Generate full dataset by combining all samples\n",
"abund_df = pd.DataFrame(\n",
" [row for sample in sample_types for row in make_sample(sample, genera)]\n",
@@ -285,3951 +212,22 @@
"metadata": {},
"source": [
"## 1. Basic Bar Plot\n",
- "A basic bar plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`."
+ "A basic bar plot can be created by simply providing the `x` and `y` columns from the DataFrame,\n",
+ "along with style options like `title`\n",
+ "using [`create_bar_plot`](vuecore.plots.basic.bar.create_bar_plot)."
]
},
{
"cell_type": "code",
- "execution_count": 18,
+ "execution_count": null,
"id": "d0d34455",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/bar_plot_basic.png\n"
- ]
- },
- {
- "data": {
- "text/html": [
- " \n",
- " \n",
- " "
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Create a df with unique samples and their genera counts\n",
- "bar_plot_basic_df = abund_df.drop_duplicates(subset=\"Sample\")[[\"Sample\", \"Genera_Count\"]]\n",
+ "bar_plot_basic_df = abund_df.drop_duplicates(subset=\"Sample\")[\n",
+ " [\"Sample\", \"Genera_Count\"]\n",
+ "]\n",
"\n",
"# Define output path for the basic png plot\n",
"file_path_basic_png = Path(output_dir) / \"bar_plot_basic.png\"\n",
@@ -4240,7 +238,7 @@
" x=\"Sample\",\n",
" y=\"Genera_Count\",\n",
" title=\"Genera Count by Sample Type\",\n",
- " file_path=file_path_basic_png, \n",
+ " file_path=file_path_basic_png,\n",
")\n",
"\n",
"bar_plot_basic.show()"
@@ -4257,72 +255,31 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": null,
"id": "358e45fe",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/bar_plot_advanced.html\n"
- ]
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define the output file path for the HTML plot\n",
"file_path_adv_html = Path(output_dir) / \"bar_plot_advanced.html\"\n",
"\n",
"# Generate the advanced stacked bar plot\n",
"bar_plot_adv = create_bar_plot(\n",
- " data=abund_df, \n",
- " x=\"Sample\", \n",
- " y=\"Relative_Abundance\", \n",
- " color=\"Genus\", \n",
- " barmode=\"stack\", \n",
+ " data=abund_df,\n",
+ " x=\"Sample\",\n",
+ " y=\"Relative_Abundance\",\n",
+ " color=\"Genus\",\n",
+ " barmode=\"stack\",\n",
" title=\"Taxonomic Profile of Environmental Samples\",\n",
" subtitle=\"Relative Abundance of Bacterial Genera\",\n",
- " labels={ \n",
+ " labels={\n",
" \"Sample\": \"Environmental Sample Type\",\n",
" \"Relative_Abundance\": \"Relative Abundance (%)\",\n",
- " \"Genus\": \"Genus\"\n",
+ " \"Genus\": \"Genus\",\n",
" },\n",
- " hover_name=\"Genus\", \n",
- " hover_data=[\"Relative_Abundance\"], \n",
- " opacity=0.9, \n",
+ " hover_name=\"Genus\",\n",
+ " hover_data=[\"Relative_Abundance\"],\n",
+ " opacity=0.9,\n",
" file_path=file_path_adv_html,\n",
")\n",
"\n",
diff --git a/docs/api_examples/bar_plot.py b/docs/api_examples/bar_plot.py
index 0f91c42..751e288 100644
--- a/docs/api_examples/bar_plot.py
+++ b/docs/api_examples/bar_plot.py
@@ -62,7 +62,6 @@
IN_COLAB = "COLAB_GPU" in os.environ
-# %% tags=["hide-cell"]
# Create a directory for outputs
output_dir = "./outputs"
os.makedirs(output_dir, exist_ok=True)
@@ -71,18 +70,18 @@
# ### 0.2. Importing libraries
# %%
-# Imports
-import pandas as pd
-import numpy as np
from pathlib import Path
+import numpy as np
+import pandas as pd
+
from vuecore.plots.basic.bar import create_bar_plot
# %% [markdown]
# ### 0.3. Create sample data
# We create a synthetic dataset representing the relative abundances of common bacterial genera across various environmental samples.
-# %%
+# %% tags=["hide-input"]
# Set a random seed for reproducibility of the synthetic data
np.random.seed(42)
@@ -156,7 +155,9 @@ def make_sample(sample: str, genera: list[str]) -> list[dict]:
# %% [markdown]
# ## 1. Basic Bar Plot
-# A basic bar plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`.
+# A basic bar plot can be created by simply providing the `x` and `y` columns from the DataFrame,
+# along with style options like `title`
+# using [`create_bar_plot`](vuecore.plots.basic.bar.create_bar_plot).
# %%
# Create a df with unique samples and their genera counts
diff --git a/docs/api_examples/box_violin_plot.ipynb b/docs/api_examples/box_violin_plot.ipynb
index 4572c46..8b8ff5d 100644
--- a/docs/api_examples/box_violin_plot.ipynb
+++ b/docs/api_examples/box_violin_plot.ipynb
@@ -2,7 +2,7 @@
"cells": [
{
"cell_type": "markdown",
- "id": "640ba1d5",
+ "id": "154f4359",
"metadata": {},
"source": [
"# Box and Violin Plots\n",
@@ -42,7 +42,7 @@
},
{
"cell_type": "markdown",
- "id": "3b504dfb",
+ "id": "887daba4",
"metadata": {},
"source": [
"## 0. Work environment setup"
@@ -50,7 +50,7 @@
},
{
"cell_type": "markdown",
- "id": "f0c056a7",
+ "id": "631fd4d6",
"metadata": {},
"source": [
"### 0.1. Installing libraries and creating global variables for platform and working directory\n",
@@ -61,7 +61,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "36246ed6",
+ "id": "55d473dc",
"metadata": {
"tags": [
"hide-output"
@@ -75,8 +75,8 @@
},
{
"cell_type": "code",
- "execution_count": 1,
- "id": "963a9529",
+ "execution_count": null,
+ "id": "32202a4b",
"metadata": {
"tags": [
"hide-cell"
@@ -86,20 +86,8 @@
"source": [
"import os\n",
"\n",
- "IN_COLAB = \"COLAB_GPU\" in os.environ"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "id": "ee2ffd40",
- "metadata": {
- "tags": [
- "hide-cell"
- ]
- },
- "outputs": [],
- "source": [
+ "IN_COLAB = \"COLAB_GPU\" in os.environ\n",
+ "\n",
"# Create a directory for outputs\n",
"output_dir = \"./outputs\"\n",
"os.makedirs(output_dir, exist_ok=True)"
@@ -107,46 +95,50 @@
},
{
"cell_type": "markdown",
- "id": "31638f9a",
- "metadata": {},
+ "id": "88e1d232",
+ "metadata": {
+ "lines_to_next_cell": 0
+ },
"source": [
"### 0.2. Importing libraries"
]
},
{
"cell_type": "code",
- "execution_count": 3,
- "id": "06dbf6a2",
+ "execution_count": null,
+ "id": "f9c1c5df",
"metadata": {},
"outputs": [],
"source": [
- "# Imports\n",
- "import pandas as pd\n",
- "import numpy as np\n",
"from pathlib import Path\n",
- "import plotly.io as pio\n",
"\n",
- "from vuecore.plots.basic.box import create_box_plot\n",
- "from vuecore.plots.basic.violin import create_violin_plot\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
"\n",
- "# Set the Plotly renderer based on the environment\n",
- "pio.renderers.default = \"notebook\""
+ "from vuecore.plots.basic.box import create_box_plot\n",
+ "from vuecore.plots.basic.violin import create_violin_plot"
]
},
{
"cell_type": "markdown",
- "id": "5cc60050",
+ "id": "3a6a5b07",
"metadata": {},
"source": [
"### 0.3. Create sample data\n",
- "We create a synthetic dataset simulating gene expression levels across different patient samples and treatment conditions, with each data point representing a unique gene's expression level under a specific treatment for a particular patient."
+ "We create a synthetic dataset simulating gene expression levels across different\n",
+ "patient samples and treatment conditions, with each data point representing a\n",
+ "unique gene's expression level under a specific treatment for a particular patient."
]
},
{
"cell_type": "code",
- "execution_count": 4,
- "id": "ac2db647",
- "metadata": {},
+ "execution_count": null,
+ "id": "fd4e573a",
+ "metadata": {
+ "tags": [
+ "hide-input"
+ ]
+ },
"outputs": [],
"source": [
"# Set a random seed for reproducibility of the synthetic data\n",
@@ -169,7 +161,7 @@
"treatment_effect = np.where(\n",
" treatment_assignments == \"Treated\",\n",
" np.random.normal(loc=50, scale=30, size=num_samples),\n",
- " 0\n",
+ " 0,\n",
")\n",
"\n",
"# Small random per-gene offset for extra variability\n",
@@ -179,3962 +171,34 @@
"expr = base_expr + treatment_effect + gene_offset\n",
"\n",
"# Construct DataFrame\n",
- "gene_exp_df = pd.DataFrame({\n",
- " \"Sample_ID\": sample_ids,\n",
- " \"Treatment\": treatment_assignments,\n",
- " \"Gene_ID\": gene_ids,\n",
- " \"Expression\": expr\n",
- "})"
+ "gene_exp_df = pd.DataFrame(\n",
+ " {\n",
+ " \"Sample_ID\": sample_ids,\n",
+ " \"Treatment\": treatment_assignments,\n",
+ " \"Gene_ID\": gene_ids,\n",
+ " \"Expression\": expr,\n",
+ " }\n",
+ ")\n",
+ "gene_exp_df"
]
},
{
"cell_type": "markdown",
- "id": "ade445fe",
+ "id": "647549ee",
"metadata": {},
"source": [
"## 1. Basic Box Plot\n",
- "A basic box plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`."
+ "A basic box plot can be created by simply providing the `x` and `y` columns from the DataFrame,\n",
+ "along with style options like `title`\n",
+ "using [`create_box_plot`](vuecore.plots.basic.box.create_box_plot)."
]
},
{
"cell_type": "code",
"execution_count": null,
- "id": "d0d34455",
+ "id": "4683f13b",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/box_plot_basic.png\n"
- ]
- },
- {
- "data": {
- "text/html": [
- " \n",
- " \n",
- " "
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define output file path for the PNG basic box plot\n",
"file_path_basic_box_png = Path(output_dir) / \"box_plot_basic.png\"\n",
@@ -4153,60 +217,21 @@
},
{
"cell_type": "markdown",
- "id": "727d4fff",
+ "id": "00c967e1",
"metadata": {},
"source": [
"## 2. Basic Violin Plot\n",
- "A basic violin plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`."
+ "A basic violin plot can be created by simply providing the `x` and `y` columns from the DataFrame,\n",
+ "along with style options like `title`\n",
+ "using [`create_violin_plot`](vuecore.plots.basic.violin.create_violin_plot) ."
]
},
{
"cell_type": "code",
"execution_count": null,
- "id": "42c4e79f",
+ "id": "ea28fd6b",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/violin_plot_basic.png\n"
- ]
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define output file path for the PNG basic violin plot\n",
"file_path_basic_violin_png = Path(output_dir) / \"violin_plot_basic.png\"\n",
@@ -4225,7 +250,7 @@
},
{
"cell_type": "markdown",
- "id": "f5e16637",
+ "id": "7057277b",
"metadata": {},
"source": [
"## 3. Advanced Box Plot\n",
@@ -4235,50 +260,9 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "358e45fe",
+ "id": "431b287d",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/box_plot_advanced.html\n"
- ]
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define the output file path for the advanced HTML box plot\n",
"file_path_adv_box_html = Path(output_dir) / \"box_plot_advanced.html\"\n",
@@ -4314,7 +298,7 @@
},
{
"cell_type": "markdown",
- "id": "ae75b950",
+ "id": "79698c71",
"metadata": {},
"source": [
"## 4. Advanced Violin Plot\n",
@@ -4323,51 +307,10 @@
},
{
"cell_type": "code",
- "execution_count": 17,
- "id": "e03b8b67",
+ "execution_count": null,
+ "id": "912ebc42",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/violin_plot_advanced.html\n"
- ]
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define the output file path for the advanced HTML violin plot\n",
"file_path_adv_violin_html = Path(output_dir) / \"violin_plot_advanced.html\"\n",
@@ -4407,18 +350,6 @@
"display_name": "vuecore-dev",
"language": "python",
"name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.12.11"
}
},
"nbformat": 4,
diff --git a/docs/api_examples/box_violin_plot.py b/docs/api_examples/box_violin_plot.py
index 145a363..6deda49 100644
--- a/docs/api_examples/box_violin_plot.py
+++ b/docs/api_examples/box_violin_plot.py
@@ -64,32 +64,28 @@
IN_COLAB = "COLAB_GPU" in os.environ
-# %% tags=["hide-cell"]
# Create a directory for outputs
output_dir = "./outputs"
os.makedirs(output_dir, exist_ok=True)
# %% [markdown]
# ### 0.2. Importing libraries
-
# %%
-# Imports
-import pandas as pd
-import numpy as np
from pathlib import Path
-import plotly.io as pio
+
+import numpy as np
+import pandas as pd
from vuecore.plots.basic.box import create_box_plot
from vuecore.plots.basic.violin import create_violin_plot
-# Set the Plotly renderer based on the environment
-pio.renderers.default = "notebook"
-
# %% [markdown]
# ### 0.3. Create sample data
-# We create a synthetic dataset simulating gene expression levels across different patient samples and treatment conditions, with each data point representing a unique gene's expression level under a specific treatment for a particular patient.
+# We create a synthetic dataset simulating gene expression levels across different
+# patient samples and treatment conditions, with each data point representing a
+# unique gene's expression level under a specific treatment for a particular patient.
-# %%
+# %% tags=["hide-input"]
# Set a random seed for reproducibility of the synthetic data
np.random.seed(42)
@@ -128,10 +124,13 @@
"Expression": expr,
}
)
+gene_exp_df
# %% [markdown]
# ## 1. Basic Box Plot
-# A basic box plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`.
+# A basic box plot can be created by simply providing the `x` and `y` columns from the DataFrame,
+# along with style options like `title`
+# using [`create_box_plot`](vuecore.plots.basic.box.create_box_plot).
# %%
# Define output file path for the PNG basic box plot
@@ -150,7 +149,9 @@
# %% [markdown]
# ## 2. Basic Violin Plot
-# A basic violin plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`.
+# A basic violin plot can be created by simply providing the `x` and `y` columns from the DataFrame,
+# along with style options like `title`
+# using [`create_violin_plot`](vuecore.plots.basic.violin.create_violin_plot) .
# %%
# Define output file path for the PNG basic violin plot
diff --git a/docs/api_examples/histogram_plot.ipynb b/docs/api_examples/histogram_plot.ipynb
index df0e5d0..d7c7a26 100644
--- a/docs/api_examples/histogram_plot.ipynb
+++ b/docs/api_examples/histogram_plot.ipynb
@@ -120,15 +120,12 @@
"outputs": [],
"source": [
"# Imports\n",
- "import pandas as pd\n",
- "import numpy as np\n",
"from pathlib import Path\n",
- "import plotly.io as pio\n",
"\n",
- "from vuecore.plots.basic.histogram import create_histogram_plot\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
"\n",
- "# Set the Plotly renderer based on the environment\n",
- "pio.renderers.default = \"notebook\""
+ "from vuecore.plots.basic.histogram import create_histogram_plot"
]
},
{
@@ -137,14 +134,19 @@
"metadata": {},
"source": [
"### 0.3. Create sample data\n",
- "We create a synthetic dataset simulating gene expression data across two experimental conditions to demonstrate how histograms can visualize data distribution."
+ "We create a synthetic dataset simulating gene expression data across two experimental\n",
+ "conditions to demonstrate how histograms can visualize data distribution."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ac2db647",
- "metadata": {},
+ "metadata": {
+ "tags": [
+ "hide-input"
+ ]
+ },
"outputs": [
{
"data": {
@@ -222,29 +224,33 @@
}
],
"source": [
- "# Set a random seed for reproducibility of the synthetic data \n",
+ "# Set a random seed for reproducibility of the synthetic data\n",
"np.random.seed(42)\n",
"\n",
"# Define parameters for synthetic gene expression data\n",
"num_genes = 1000\n",
+ "conditions = [\"Control\", \"Treated\"]\n",
"gene_names = [f\"Gene_{i}\" for i in range(num_genes)]\n",
"\n",
"# Simulate expression data with a slight shift in the \"Treated\" group\n",
- "expression_values = np.concatenate([\n",
- " np.random.normal(loc=10, scale=2, size=num_genes // 2),\n",
- " np.random.normal(loc=12, scale=2, size=num_genes // 2)\n",
- "])\n",
- "condition_values = np.concatenate([\n",
- " [\"Control\"] * (num_genes // 2),\n",
- " [\"Treated\"] * (num_genes // 2)\n",
- "])\n",
+ "expression_values = np.concatenate(\n",
+ " [\n",
+ " np.random.normal(loc=10, scale=2, size=num_genes // 2),\n",
+ " np.random.normal(loc=12, scale=2, size=num_genes // 2),\n",
+ " ]\n",
+ ")\n",
+ "condition_values = np.concatenate(\n",
+ " [[\"Control\"] * (num_genes // 2), [\"Treated\"] * (num_genes // 2)]\n",
+ ")\n",
"\n",
"# Create the DataFrame\n",
- "gene_exp_df = pd.DataFrame({\n",
- " \"Gene_ID\": gene_names,\n",
- " \"Expression\": expression_values,\n",
- " \"Condition\": condition_values\n",
- "})\n",
+ "gene_exp_df = pd.DataFrame(\n",
+ " {\n",
+ " \"Gene_ID\": gene_names,\n",
+ " \"Expression\": expression_values,\n",
+ " \"Condition\": condition_values,\n",
+ " }\n",
+ ")\n",
"\n",
"gene_exp_df.head()"
]
@@ -255,7 +261,9 @@
"metadata": {},
"source": [
"## 1. Basic Histogram Plot\n",
- "A basic histogram plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`."
+ "A basic histogram plot can be created by simply providing the `x` and `y` columns from the DataFrame,\n",
+ "along with style options like `title`\n",
+ "using [`create_histogram_plot`](vuecore.plots.basic.histogram.create_histogram_plot) ."
]
},
{
@@ -4281,12 +4289,9 @@
" histnorm=\"probability density\",\n",
" title=\"Gene Expression Distribution by Treatment Condition\",\n",
" subtitle=\"Histogram with probability density normalized\",\n",
- " labels={\n",
- " \"Expression\": \"Gene Expression\",\n",
- " \"Condition\": \"Treatment Condition\"\n",
- " },\n",
+ " labels={\"Expression\": \"Gene Expression\", \"Condition\": \"Treatment Condition\"},\n",
" hover_data=[\"Gene_ID\"],\n",
- " opacity=0.75, \n",
+ " opacity=0.75,\n",
" file_path=file_path_adv_hist_html,\n",
")\n",
"\n",
diff --git a/docs/api_examples/histogram_plot.py b/docs/api_examples/histogram_plot.py
index 45de99a..f6d5b92 100644
--- a/docs/api_examples/histogram_plot.py
+++ b/docs/api_examples/histogram_plot.py
@@ -73,21 +73,19 @@
# %%
# Imports
-import pandas as pd
-import numpy as np
from pathlib import Path
-import plotly.io as pio
-from vuecore.plots.basic.histogram import create_histogram_plot
+import numpy as np
+import pandas as pd
-# Set the Plotly renderer based on the environment
-pio.renderers.default = "notebook"
+from vuecore.plots.basic.histogram import create_histogram_plot
# %% [markdown]
# ### 0.3. Create sample data
-# We create a synthetic dataset simulating gene expression data across two experimental conditions to demonstrate how histograms can visualize data distribution.
+# We create a synthetic dataset simulating gene expression data across two experimental
+# conditions to demonstrate how histograms can visualize data distribution.
-# %%
+# %% tags=["hide-input"]
# Set a random seed for reproducibility of the synthetic data
np.random.seed(42)
@@ -120,7 +118,9 @@
# %% [markdown]
# ## 1. Basic Histogram Plot
-# A basic histogram plot can be created by simply providing the `x` and `y` columns from the DataFrame, along with style options like `title`.
+# A basic histogram plot can be created by simply providing the `x` and `y` columns from the DataFrame,
+# along with style options like `title`
+# using [`create_histogram_plot`](vuecore.plots.basic.histogram.create_histogram_plot) .
# %%
# Define output file path for the PNG basic histogram
diff --git a/docs/api_examples/line_plot.ipynb b/docs/api_examples/line_plot.ipynb
index 91fd1fc..c8e1208 100644
--- a/docs/api_examples/line_plot.ipynb
+++ b/docs/api_examples/line_plot.ipynb
@@ -54,189 +54,21 @@
"source": [
"### 0.1. Installing libraries and creating global variables for platform and working directory\n",
"\n",
- "To run this notebook locally, you should create a virtual environment with the required libraries. If you are running this notebook on Google Colab, everything should be set."
+ "To run this notebook locally, you should create a virtual environment\n",
+ "with the required libraries. If you are running this notebook on Google\n",
+ "Colab, everything should be set."
]
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": null,
"id": "36246ed6",
"metadata": {
"tags": [
"hide-output"
]
},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Processing /Users/asaru/Documents/DTU/MoNA/VueCore/vuecore\n",
- " Installing build dependencies ... \u001b[?25ldone\n",
- "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n",
- "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n",
- "\u001b[?25hRequirement already satisfied: numpy in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.6)\n",
- "Requirement already satisfied: pandas in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.3.0)\n",
- "Requirement already satisfied: scipy in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.16.0)\n",
- "Requirement already satisfied: plotly in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (6.1.2)\n",
- "Requirement already satisfied: beautifulsoup4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (4.13.4)\n",
- "Requirement already satisfied: requests in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.32.4)\n",
- "Requirement already satisfied: dash in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.4)\n",
- "Requirement already satisfied: networkx in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.5)\n",
- "Requirement already satisfied: matplotlib in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.10.3)\n",
- "Requirement already satisfied: kaleido in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.0)\n",
- "Requirement already satisfied: pyvis in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.3.1)\n",
- "Requirement already satisfied: wordcloud in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.9.4)\n",
- "Requirement already satisfied: cyjupyter in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.0)\n",
- "Requirement already satisfied: nltk in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.9.1)\n",
- "Requirement already satisfied: webweb in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.0.37)\n",
- "Requirement already satisfied: acore in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.1.3)\n",
- "Requirement already satisfied: dash-cytoscape in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.2)\n",
- "Requirement already satisfied: pydantic in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.11.7)\n",
- "Collecting nbformat>=4.2.0 (from vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB)\n",
- "Collecting fastjsonschema>=2.15 (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached fastjsonschema-2.21.1-py3-none-any.whl.metadata (2.2 kB)\n",
- "Collecting jsonschema>=2.6 (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached jsonschema-4.24.0-py3-none-any.whl.metadata (7.8 kB)\n",
- "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (5.8.1)\n",
- "Requirement already satisfied: traitlets>=5.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (5.14.3)\n",
- "Collecting attrs>=22.2.0 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached attrs-25.3.0-py3-none-any.whl.metadata (10 kB)\n",
- "Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached jsonschema_specifications-2025.4.1-py3-none-any.whl.metadata (2.9 kB)\n",
- "Collecting referencing>=0.28.4 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached referencing-0.36.2-py3-none-any.whl.metadata (2.8 kB)\n",
- "Collecting rpds-py>=0.7.1 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (4.1 kB)\n",
- "Requirement already satisfied: platformdirs>=2.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.3.8)\n",
- "Requirement already satisfied: typing-extensions>=4.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from referencing>=0.28.4->jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.14.0)\n",
- "Requirement already satisfied: dsp-pandas in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.0.5)\n",
- "Requirement already satisfied: scikit-learn>=1.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.7.0)\n",
- "Requirement already satisfied: biopython in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.85)\n",
- "Requirement already satisfied: combat in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.3.3)\n",
- "Requirement already satisfied: gseapy!=1.1.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.9)\n",
- "Requirement already satisfied: kmapper in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.1.0)\n",
- "Requirement already satisfied: lifelines in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.30.0)\n",
- "Requirement already satisfied: pingouin in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.5)\n",
- "Requirement already satisfied: python-louvain in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.16)\n",
- "Requirement already satisfied: PyWGCNA!=2.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.1)\n",
- "Requirement already satisfied: snfpy in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.2)\n",
- "Requirement already satisfied: umap-learn in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.7)\n",
- "Requirement already satisfied: statsmodels in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.14.4)\n",
- "Requirement already satisfied: inmoose in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.7)\n",
- "Requirement already satisfied: rarfile in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.2)\n",
- "Requirement already satisfied: contourpy>=1.0.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.2)\n",
- "Requirement already satisfied: cycler>=0.10 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.12.1)\n",
- "Requirement already satisfied: fonttools>=4.22.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.58.4)\n",
- "Requirement already satisfied: kiwisolver>=1.3.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.4.8)\n",
- "Requirement already satisfied: packaging>=20.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (25.0)\n",
- "Requirement already satisfied: pillow>=8 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (11.2.1)\n",
- "Requirement already satisfied: pyparsing>=2.3.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.2.3)\n",
- "Requirement already satisfied: python-dateutil>=2.7 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.9.0.post0)\n",
- "Requirement already satisfied: six>=1.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.17.0)\n",
- "Requirement already satisfied: seaborn>=0.11.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.13.2)\n",
- "Requirement already satisfied: biomart>=0.9.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.9.2)\n",
- "Requirement already satisfied: setuptools>=67.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (80.9.0)\n",
- "Requirement already satisfied: reactome2py>=3.0.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.0)\n",
- "Requirement already satisfied: anndata>=0.10.8 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.11.4)\n",
- "Requirement already satisfied: rsrc>=0.1.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.1.3)\n",
- "Requirement already satisfied: psutil>=5.9.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (7.0.0)\n",
- "Requirement already satisfied: jinja2>=2.9.6 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.1.6)\n",
- "Requirement already satisfied: ipython>=5.3.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (9.3.0)\n",
- "Requirement already satisfied: jsonpickle>=1.4.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.1.1)\n",
- "Requirement already satisfied: array-api-compat!=1.5,>1.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.12.0)\n",
- "Requirement already satisfied: h5py>=3.7 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.14.0)\n",
- "Requirement already satisfied: natsort in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.4.0)\n",
- "Requirement already satisfied: decorator in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (5.2.1)\n",
- "Requirement already satisfied: ipython-pygments-lexers in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.1)\n",
- "Requirement already satisfied: jedi>=0.16 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.19.2)\n",
- "Requirement already satisfied: matplotlib-inline in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.1.7)\n",
- "Requirement already satisfied: pexpect>4.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.9.0)\n",
- "Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.51)\n",
- "Requirement already satisfied: pygments>=2.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.19.2)\n",
- "Requirement already satisfied: stack_data in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.6.3)\n",
- "Requirement already satisfied: wcwidth in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.13)\n",
- "Requirement already satisfied: parso<0.9.0,>=0.8.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from jedi>=0.16->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.8.4)\n",
- "Requirement already satisfied: MarkupSafe>=2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from jinja2>=2.9.6->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.2)\n",
- "Requirement already satisfied: pytz>=2020.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pandas->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.2)\n",
- "Requirement already satisfied: tzdata>=2022.7 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pandas->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.2)\n",
- "Requirement already satisfied: ptyprocess>=0.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pexpect>4.3->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.0)\n",
- "Requirement already satisfied: json5>=0.8.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from reactome2py>=3.0.0->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.12.0)\n",
- "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.4.2)\n",
- "Requirement already satisfied: idna<4,>=2.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.10)\n",
- "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.5.0)\n",
- "Requirement already satisfied: certifi>=2017.4.17 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.6.15)\n",
- "Requirement already satisfied: memoir>=0.0.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from rsrc>=0.1.3->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.0.3)\n",
- "Requirement already satisfied: reprit>=0.3.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from rsrc>=0.1.3->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.9.0)\n",
- "Requirement already satisfied: joblib>=1.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from scikit-learn>=1.2->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.5.1)\n",
- "Requirement already satisfied: threadpoolctl>=3.1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from scikit-learn>=1.2->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.6.0)\n",
- "Requirement already satisfied: patsy>=0.5.6 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from statsmodels->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.1)\n",
- "Requirement already satisfied: soupsieve>1.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from beautifulsoup4->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.7)\n",
- "Requirement already satisfied: mpmath>=1.1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from combat->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.0)\n",
- "Requirement already satisfied: ipywidgets>=7.0.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.1.7)\n",
- "Requirement already satisfied: comm>=0.1.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.2)\n",
- "Requirement already satisfied: widgetsnbextension~=4.0.14 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.0.14)\n",
- "Requirement already satisfied: jupyterlab_widgets~=3.0.15 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.15)\n",
- "Requirement already satisfied: Flask<3.1,>=1.0.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.3)\n",
- "Requirement already satisfied: Werkzeug<3.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.6)\n",
- "Requirement already satisfied: importlib-metadata in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.7.0)\n",
- "Requirement already satisfied: retrying in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.5)\n",
- "Requirement already satisfied: nest-asyncio in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.6.0)\n",
- "Requirement already satisfied: itsdangerous>=2.1.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.0)\n",
- "Requirement already satisfied: click>=8.1.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.2.1)\n",
- "Requirement already satisfied: blinker>=1.6.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.9.0)\n",
- "Requirement already satisfied: narwhals>=1.15.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from plotly->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.44.0)\n",
- "Requirement already satisfied: openpyxl in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dsp-pandas->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.1.5)\n",
- "Requirement already satisfied: zipp>=3.20 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from importlib-metadata->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.23.0)\n",
- "Requirement already satisfied: fastcluster in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from inmoose->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.0)\n",
- "Requirement already satisfied: choreographer>=1.0.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.9)\n",
- "Requirement already satisfied: logistro>=1.0.8 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.0)\n",
- "Requirement already satisfied: orjson>=3.10.15 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.10.18)\n",
- "Requirement already satisfied: simplejson>=3.19.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from choreographer>=1.0.5->kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.20.1)\n",
- "Requirement already satisfied: autograd>=1.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.8.0)\n",
- "Requirement already satisfied: autograd-gamma>=0.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.0)\n",
- "Requirement already satisfied: formulaic>=0.2.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.1)\n",
- "Requirement already satisfied: interface-meta>=1.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from formulaic>=0.2.2->lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.0)\n",
- "Requirement already satisfied: wrapt>=1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from formulaic>=0.2.2->lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.17.2)\n",
- "Requirement already satisfied: regex>=2021.8.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nltk->vuecore==0.0.6.dev19+g58e96db.d20250624) (2024.11.6)\n",
- "Requirement already satisfied: tqdm in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nltk->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.67.1)\n",
- "Requirement already satisfied: et-xmlfile in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from openpyxl->dsp-pandas->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.0.0)\n",
- "Requirement already satisfied: pandas-flavor in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pingouin->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.0)\n",
- "Requirement already satisfied: tabulate in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pingouin->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.9.0)\n",
- "Requirement already satisfied: xarray in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pandas-flavor->pingouin->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.6.1)\n",
- "Requirement already satisfied: annotated-types>=0.6.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pydantic->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.0)\n",
- "Requirement already satisfied: pydantic-core==2.33.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pydantic->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.33.2)\n",
- "Requirement already satisfied: typing-inspection>=0.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pydantic->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.4.1)\n",
- "Requirement already satisfied: executing>=1.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from stack_data->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.0)\n",
- "Requirement already satisfied: asttokens>=2.1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from stack_data->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.0)\n",
- "Requirement already satisfied: pure_eval in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from stack_data->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.3)\n",
- "Requirement already satisfied: numba>=0.51.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from umap-learn->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.61.2)\n",
- "Requirement already satisfied: pynndescent>=0.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from umap-learn->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.13)\n",
- "Requirement already satisfied: llvmlite<0.45,>=0.44.0dev0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from numba>=0.51.2->umap-learn->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.44.0)\n",
- "Using cached nbformat-5.10.4-py3-none-any.whl (78 kB)\n",
- "Using cached fastjsonschema-2.21.1-py3-none-any.whl (23 kB)\n",
- "Using cached jsonschema-4.24.0-py3-none-any.whl (88 kB)\n",
- "Using cached attrs-25.3.0-py3-none-any.whl (63 kB)\n",
- "Using cached jsonschema_specifications-2025.4.1-py3-none-any.whl (18 kB)\n",
- "Using cached referencing-0.36.2-py3-none-any.whl (26 kB)\n",
- "Using cached rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl (350 kB)\n",
- "Building wheels for collected packages: vuecore\n",
- " Building wheel for vuecore (pyproject.toml) ... \u001b[?25ldone\n",
- "\u001b[?25h Created wheel for vuecore: filename=vuecore-0.0.6.dev19+g58e96db.d20250624-py3-none-any.whl size=55625 sha256=dbbfec57f735203a8482a18fcaf73e20e081423669249c13003a42369f4aff2c\n",
- " Stored in directory: /private/var/folders/64/3nt358294s9cjcj1qbtv1g_h0000gp/T/pip-ephem-wheel-cache-8mu7llb7/wheels/b7/c2/2a/80a17c0f7fe0587d17a3dc604f395e41401dc2c1e23b377f0e\n",
- "Successfully built vuecore\n",
- "Installing collected packages: fastjsonschema, rpds-py, attrs, referencing, jsonschema-specifications, jsonschema, nbformat, vuecore\n",
- "\u001b[2K Attempting uninstall: vuecore━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m \u001b[32m6/8\u001b[0m [nbformat]a]]\n",
- "\u001b[2K Found existing installation: vuecore 0.0.6.dev19+g58e96db.d20250624m6/8\u001b[0m [nbformat]\n",
- "\u001b[2K Uninstalling vuecore-0.0.6.dev19+g58e96db.d20250624:━━━━━━\u001b[0m \u001b[32m6/8\u001b[0m [nbformat]\n",
- "\u001b[2K Successfully uninstalled vuecore-0.0.6.dev19+g58e96db.d2025062432m6/8\u001b[0m [nbformat]\n",
- "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8/8\u001b[0m [vuecore]m7/8\u001b[0m [vuecore]\n",
- "\u001b[1A\u001b[2KSuccessfully installed attrs-25.3.0 fastjsonschema-2.21.1 jsonschema-4.24.0 jsonschema-specifications-2025.4.1 nbformat-5.10.4 referencing-0.36.2 rpds-py-0.25.1 vuecore-0.0.6.dev19+g58e96db.d20250624\n",
- "Note: you may need to restart the kernel to use updated packages.\n"
- ]
- }
- ],
+ "outputs": [],
"source": [
"# VueCore library\n",
"%pip install vuecore"
@@ -244,7 +76,7 @@
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": null,
"id": "963a9529",
"metadata": {
"tags": [
@@ -255,20 +87,8 @@
"source": [
"import os\n",
"\n",
- "IN_COLAB = \"COLAB_GPU\" in os.environ"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 8,
- "id": "ee2ffd40",
- "metadata": {
- "tags": [
- "hide-cell"
- ]
- },
- "outputs": [],
- "source": [
+ "IN_COLAB = \"COLAB_GPU\" in os.environ\n",
+ "\n",
"# Create a directory for outputs\n",
"output_dir = \"./outputs\"\n",
"os.makedirs(output_dir, exist_ok=True)"
@@ -289,10 +109,10 @@
"metadata": {},
"outputs": [],
"source": [
- "# Imports\n",
- "import pandas as pd\n",
"from pathlib import Path\n",
"\n",
+ "import pandas as pd\n",
+ "\n",
"from vuecore.plots.basic.line import create_line_plot"
]
},
@@ -302,116 +122,73 @@
"metadata": {},
"source": [
"### 0.3. Create sample data\n",
- "We create a synthetic dataset showing measurements over five days for two experiments (A, B), each tested under Control and Treatment conditions, with associated measurement errors."
+ "We create a synthetic dataset showing measurements over five days for\n",
+ "two experiments (A, B), each tested under Control and Treatment\n",
+ "conditions, with associated measurement errors."
]
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": null,
"id": "ac2db647",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " day | \n",
- " experiment | \n",
- " condition | \n",
- " value | \n",
- " value_error | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " | 0 | \n",
- " 1 | \n",
- " A | \n",
- " Control | \n",
- " 11 | \n",
- " 1.0 | \n",
- "
\n",
- " \n",
- " | 1 | \n",
- " 2 | \n",
- " A | \n",
- " Control | \n",
- " 13 | \n",
- " 1.2 | \n",
- "
\n",
- " \n",
- " | 2 | \n",
- " 3 | \n",
- " A | \n",
- " Control | \n",
- " 15 | \n",
- " 0.9 | \n",
- "
\n",
- " \n",
- " | 3 | \n",
- " 4 | \n",
- " A | \n",
- " Control | \n",
- " 17 | \n",
- " 1.1 | \n",
- "
\n",
- " \n",
- " | 4 | \n",
- " 5 | \n",
- " A | \n",
- " Control | \n",
- " 18 | \n",
- " 1.0 | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " day experiment condition value value_error\n",
- "0 1 A Control 11 1.0\n",
- "1 2 A Control 13 1.2\n",
- "2 3 A Control 15 0.9\n",
- "3 4 A Control 17 1.1\n",
- "4 5 A Control 18 1.0"
- ]
- },
- "execution_count": 10,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
+ "metadata": {
+ "tags": [
+ "hide-input"
+ ]
+ },
+ "outputs": [],
"source": [
- "sample_df = pd.DataFrame({\n",
- " \"day\": list(range(1, 6)) * 4, # 5 days\n",
- " \"experiment\": [\"A\"] * 10 + [\"B\"] * 10, # 2 experiments\n",
- " \"condition\": ([\"Control\"] * 5 + [\"Treatment\"] * 5) * 2, # 2 conditions\n",
- " \"value\": [\n",
- " 11, 13, 15, 17, 18, # A - Control\n",
- " 10, 12, 14, 15, 16, # A - Treatment\n",
- " 19, 20, 21, 22, 23, # B - Control\n",
- " 20, 22, 21, 23, 22, # B - Treatment\n",
- " ],\n",
- " \"value_error\": [1, 1.2, 0.9, 1.1, 1.0, 1.3, 1.0, 1.2, 1.4, 1.1,\n",
- " 2.0, 1.8, 2.1, 1.5, 2.3, 1.7, 2.0, 1.8, 2.1, 2.2],\n",
- "})\n",
+ "sample_df = pd.DataFrame(\n",
+ " {\n",
+ " \"day\": list(range(1, 6)) * 4, # 5 days\n",
+ " \"experiment\": [\"A\"] * 10 + [\"B\"] * 10, # 2 experiments\n",
+ " \"condition\": ([\"Control\"] * 5 + [\"Treatment\"] * 5) * 2, # 2 conditions\n",
+ " \"value\": [\n",
+ " 11, # A - Control\n",
+ " 13, # A - Control\n",
+ " 15, # A - Control\n",
+ " 17, # A - Control\n",
+ " 18, # A - Control\n",
+ " 10, # A - Treatment\n",
+ " 12, # A - Treatment\n",
+ " 14, # A - Treatment\n",
+ " 15, # A - Treatment\n",
+ " 16, # A - Treatment\n",
+ " 19, # B - Control\n",
+ " 20, # B - Control\n",
+ " 21, # B - Control\n",
+ " 22, # B - Control\n",
+ " 23, # B - Control\n",
+ " 20, # B - Treatment\n",
+ " 22, # B - Treatment\n",
+ " 21, # B - Treatment\n",
+ " 23, # B - Treatment\n",
+ " 22, # B - Treatment\n",
+ " ],\n",
+ " \"value_error\": [\n",
+ " 1.0,\n",
+ " 1.2,\n",
+ " 0.9,\n",
+ " 1.1,\n",
+ " 1.0,\n",
+ " 1.3,\n",
+ " 1.0,\n",
+ " 1.2,\n",
+ " 1.4,\n",
+ " 1.1,\n",
+ " 2.0,\n",
+ " 1.8,\n",
+ " 2.1,\n",
+ " 1.5,\n",
+ " 2.3,\n",
+ " 1.7,\n",
+ " 2.0,\n",
+ " 1.8,\n",
+ " 2.1,\n",
+ " 2.2,\n",
+ " ],\n",
+ " }\n",
+ ")\n",
"\n",
"sample_df.head()"
]
@@ -422,3948 +199,17 @@
"metadata": {},
"source": [
"## 1. Basic Line Plot\n",
- "A basic line plot can be created by simply providing the `x`, `y`, and `color` columns from the DataFrame."
+ "A basic line plot can be created by simply providing the `x`, `y`, and\n",
+ "`color` columns from the DataFrame\n",
+ "using [`create_line_plot`](vuecore.plots.basic.line.create_line_plot)."
]
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": null,
"id": "d0d34455",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/line_plot_basic.png\n"
- ]
- },
- {
- "data": {
- "text/html": [
- " \n",
- " \n",
- " "
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define output path for the basic png plot\n",
"file_path_basic_png = Path(output_dir) / \"line_plot_basic.png\"\n",
@@ -4387,56 +233,17 @@
"metadata": {},
"source": [
"## 2. Advanced Line Plot\n",
- "Here is an example of an advanced line plot with more descriptive parameters, including `error bars`, `line styles`, `markers`, and `custom colors`."
+ "Here is an example of an advanced line plot with more descriptive\n",
+ "parameters, including `error bars`, `line styles`, `markers`, and\n",
+ "`custom colors`."
]
},
{
"cell_type": "code",
- "execution_count": 12,
+ "execution_count": null,
"id": "f9307e85",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to outputs/line_plot_advanced.html\n"
- ]
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define output file path for the HTML plot\n",
"file_path_adv_html = Path(output_dir) / \"line_plot_advanced.html\"\n",
@@ -4446,12 +253,17 @@
" data=sample_df,\n",
" x=\"day\",\n",
" y=\"value\",\n",
- " color=\"experiment\", \n",
- " line_dash=\"condition\", \n",
- " error_y=\"value_error\", \n",
+ " color=\"experiment\",\n",
+ " line_dash=\"condition\",\n",
+ " error_y=\"value_error\",\n",
" title=\"Experiment & Condition Trends\",\n",
- " subtitle = \"Measurements over 5 days for two experiments (A, B) under Control and Treatment conditions.\",\n",
- " labels={\"day\": \"Day\", \"value\": \"Response\", \"condition\": \"Condition\", \"experiment\": \"Experiment\"},\n",
+ " subtitle=\"Measurements over 5 days for two experiments (A, B) under Control and Treatment conditions.\",\n",
+ " labels={\n",
+ " \"day\": \"Day\",\n",
+ " \"value\": \"Response\",\n",
+ " \"condition\": \"Condition\",\n",
+ " \"experiment\": \"Experiment\",\n",
+ " },\n",
" color_discrete_map={\"A\": \"#508AA8\", \"B\": \"#A8505E\"},\n",
" line_dash_map={\"Control\": \"solid\", \"Treatment\": \"dot\"},\n",
" markers=True,\n",
@@ -4479,7 +291,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.11"
+ "version": "3.11.10"
}
},
"nbformat": 4,
diff --git a/docs/api_examples/line_plot.py b/docs/api_examples/line_plot.py
index 44fe1d7..b887f03 100644
--- a/docs/api_examples/line_plot.py
+++ b/docs/api_examples/line_plot.py
@@ -52,7 +52,9 @@
# %% [markdown]
# ### 0.1. Installing libraries and creating global variables for platform and working directory
#
-# To run this notebook locally, you should create a virtual environment with the required libraries. If you are running this notebook on Google Colab, everything should be set.
+# To run this notebook locally, you should create a virtual environment
+# with the required libraries. If you are running this notebook on Google
+# Colab, everything should be set.
# %% tags=["hide-output"]
# VueCore library
@@ -63,7 +65,6 @@
IN_COLAB = "COLAB_GPU" in os.environ
-# %% tags=["hide-cell"]
# Create a directory for outputs
output_dir = "./outputs"
os.makedirs(output_dir, exist_ok=True)
@@ -72,46 +73,48 @@
# ### 0.2. Importing libraries
# %%
-# Imports
-import pandas as pd
from pathlib import Path
+import pandas as pd
+
from vuecore.plots.basic.line import create_line_plot
# %% [markdown]
# ### 0.3. Create sample data
-# We create a synthetic dataset showing measurements over five days for two experiments (A, B), each tested under Control and Treatment conditions, with associated measurement errors.
+# We create a synthetic dataset showing measurements over five days for
+# two experiments (A, B), each tested under Control and Treatment
+# conditions, with associated measurement errors.
-# %%
+# %% tags=["hide-input"]
sample_df = pd.DataFrame(
{
"day": list(range(1, 6)) * 4, # 5 days
"experiment": ["A"] * 10 + ["B"] * 10, # 2 experiments
"condition": (["Control"] * 5 + ["Treatment"] * 5) * 2, # 2 conditions
"value": [
- 11,
- 13,
- 15,
- 17,
+ 11, # A - Control
+ 13, # A - Control
+ 15, # A - Control
+ 17, # A - Control
18, # A - Control
- 10,
- 12,
- 14,
- 15,
+ 10, # A - Treatment
+ 12, # A - Treatment
+ 14, # A - Treatment
+ 15, # A - Treatment
16, # A - Treatment
- 19,
- 20,
- 21,
- 22,
+ 19, # B - Control
+ 20, # B - Control
+ 21, # B - Control
+ 22, # B - Control
23, # B - Control
- 20,
- 22,
- 21,
- 23,
+ 20, # B - Treatment
+ 22, # B - Treatment
+ 21, # B - Treatment
+ 23, # B - Treatment
22, # B - Treatment
],
"value_error": [
- 1,
+ 1.0,
1.2,
0.9,
1.1,
@@ -139,7 +142,9 @@
# %% [markdown]
# ## 1. Basic Line Plot
-# A basic line plot can be created by simply providing the `x`, `y`, and `color` columns from the DataFrame.
+# A basic line plot can be created by simply providing the `x`, `y`, and
+# `color` columns from the DataFrame
+# using [`create_line_plot`](vuecore.plots.basic.line.create_line_plot).
# %%
# Define output path for the basic png plot
@@ -159,7 +164,9 @@
# %% [markdown]
# ## 2. Advanced Line Plot
-# Here is an example of an advanced line plot with more descriptive parameters, including `error bars`, `line styles`, `markers`, and `custom colors`.
+# Here is an example of an advanced line plot with more descriptive
+# parameters, including `error bars`, `line styles`, `markers`, and
+# `custom colors`.
# %%
# Define output file path for the HTML plot
diff --git a/docs/api_examples/scatter_plot.ipynb b/docs/api_examples/scatter_plot.ipynb
index 9339e56..a8d5fba 100644
--- a/docs/api_examples/scatter_plot.ipynb
+++ b/docs/api_examples/scatter_plot.ipynb
@@ -61,7 +61,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 1,
"id": "36246ed6",
"metadata": {
"tags": [
@@ -73,168 +73,137 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "Processing /Users/asaru/Documents/DTU/MoNA/VueCore/vuecore\n",
- " Installing build dependencies ... \u001b[?25ldone\n",
- "\u001b[?25h Getting requirements to build wheel ... \u001b[?25ldone\n",
- "\u001b[?25h Preparing metadata (pyproject.toml) ... \u001b[?25ldone\n",
- "\u001b[?25hRequirement already satisfied: numpy in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.6)\n",
- "Requirement already satisfied: pandas in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.3.0)\n",
- "Requirement already satisfied: scipy in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.16.0)\n",
- "Requirement already satisfied: plotly in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (6.1.2)\n",
- "Requirement already satisfied: beautifulsoup4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (4.13.4)\n",
- "Requirement already satisfied: requests in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.32.4)\n",
- "Requirement already satisfied: dash in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.4)\n",
- "Requirement already satisfied: networkx in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.5)\n",
- "Requirement already satisfied: matplotlib in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.10.3)\n",
- "Requirement already satisfied: kaleido in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.0)\n",
- "Requirement already satisfied: pyvis in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.3.1)\n",
- "Requirement already satisfied: wordcloud in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.9.4)\n",
- "Requirement already satisfied: cyjupyter in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.0)\n",
- "Requirement already satisfied: nltk in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (3.9.1)\n",
- "Requirement already satisfied: webweb in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.0.37)\n",
- "Requirement already satisfied: acore in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (0.1.3)\n",
- "Requirement already satisfied: dash-cytoscape in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.2)\n",
- "Requirement already satisfied: pydantic in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from vuecore==0.0.6.dev19+g58e96db.d20250624) (2.11.7)\n",
- "Collecting nbformat>=4.2.0 (from vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached nbformat-5.10.4-py3-none-any.whl.metadata (3.6 kB)\n",
- "Collecting fastjsonschema>=2.15 (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached fastjsonschema-2.21.1-py3-none-any.whl.metadata (2.2 kB)\n",
- "Collecting jsonschema>=2.6 (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached jsonschema-4.24.0-py3-none-any.whl.metadata (7.8 kB)\n",
- "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (5.8.1)\n",
- "Requirement already satisfied: traitlets>=5.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (5.14.3)\n",
- "Collecting attrs>=22.2.0 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached attrs-25.3.0-py3-none-any.whl.metadata (10 kB)\n",
- "Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached jsonschema_specifications-2025.4.1-py3-none-any.whl.metadata (2.9 kB)\n",
- "Collecting referencing>=0.28.4 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached referencing-0.36.2-py3-none-any.whl.metadata (2.8 kB)\n",
- "Collecting rpds-py>=0.7.1 (from jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624)\n",
- " Using cached rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl.metadata (4.1 kB)\n",
- "Requirement already satisfied: platformdirs>=2.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.3.8)\n",
- "Requirement already satisfied: typing-extensions>=4.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from referencing>=0.28.4->jsonschema>=2.6->nbformat>=4.2.0->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.14.0)\n",
- "Requirement already satisfied: dsp-pandas in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.0.5)\n",
- "Requirement already satisfied: scikit-learn>=1.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.7.0)\n",
- "Requirement already satisfied: biopython in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.85)\n",
- "Requirement already satisfied: combat in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.3.3)\n",
- "Requirement already satisfied: gseapy!=1.1.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.9)\n",
- "Requirement already satisfied: kmapper in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.1.0)\n",
- "Requirement already satisfied: lifelines in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.30.0)\n",
- "Requirement already satisfied: pingouin in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.5)\n",
- "Requirement already satisfied: python-louvain in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.16)\n",
- "Requirement already satisfied: PyWGCNA!=2.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.1)\n",
- "Requirement already satisfied: snfpy in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.2)\n",
- "Requirement already satisfied: umap-learn in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.7)\n",
- "Requirement already satisfied: statsmodels in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.14.4)\n",
- "Requirement already satisfied: inmoose in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.7)\n",
- "Requirement already satisfied: rarfile in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.2)\n",
- "Requirement already satisfied: contourpy>=1.0.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.2)\n",
- "Requirement already satisfied: cycler>=0.10 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.12.1)\n",
- "Requirement already satisfied: fonttools>=4.22.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.58.4)\n",
- "Requirement already satisfied: kiwisolver>=1.3.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.4.8)\n",
- "Requirement already satisfied: packaging>=20.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (25.0)\n",
- "Requirement already satisfied: pillow>=8 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (11.2.1)\n",
- "Requirement already satisfied: pyparsing>=2.3.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.2.3)\n",
- "Requirement already satisfied: python-dateutil>=2.7 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.9.0.post0)\n",
- "Requirement already satisfied: six>=1.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.17.0)\n",
- "Requirement already satisfied: seaborn>=0.11.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.13.2)\n",
- "Requirement already satisfied: biomart>=0.9.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.9.2)\n",
- "Requirement already satisfied: setuptools>=67.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (80.9.0)\n",
- "Requirement already satisfied: reactome2py>=3.0.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.0)\n",
- "Requirement already satisfied: anndata>=0.10.8 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.11.4)\n",
- "Requirement already satisfied: rsrc>=0.1.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.1.3)\n",
- "Requirement already satisfied: psutil>=5.9.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (7.0.0)\n",
- "Requirement already satisfied: jinja2>=2.9.6 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.1.6)\n",
- "Requirement already satisfied: ipython>=5.3.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (9.3.0)\n",
- "Requirement already satisfied: jsonpickle>=1.4.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.1.1)\n",
- "Requirement already satisfied: array-api-compat!=1.5,>1.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.12.0)\n",
- "Requirement already satisfied: h5py>=3.7 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.14.0)\n",
- "Requirement already satisfied: natsort in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.4.0)\n",
- "Requirement already satisfied: decorator in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (5.2.1)\n",
- "Requirement already satisfied: ipython-pygments-lexers in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.1)\n",
- "Requirement already satisfied: jedi>=0.16 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.19.2)\n",
- "Requirement already satisfied: matplotlib-inline in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.1.7)\n",
- "Requirement already satisfied: pexpect>4.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.9.0)\n",
- "Requirement already satisfied: prompt_toolkit<3.1.0,>=3.0.41 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.51)\n",
- "Requirement already satisfied: pygments>=2.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.19.2)\n",
- "Requirement already satisfied: stack_data in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.6.3)\n",
- "Requirement already satisfied: wcwidth in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from prompt_toolkit<3.1.0,>=3.0.41->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.13)\n",
- "Requirement already satisfied: parso<0.9.0,>=0.8.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from jedi>=0.16->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.8.4)\n",
- "Requirement already satisfied: MarkupSafe>=2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from jinja2>=2.9.6->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.2)\n",
- "Requirement already satisfied: pytz>=2020.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pandas->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.2)\n",
- "Requirement already satisfied: tzdata>=2022.7 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pandas->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.2)\n",
- "Requirement already satisfied: ptyprocess>=0.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pexpect>4.3->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.0)\n",
- "Requirement already satisfied: json5>=0.8.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from reactome2py>=3.0.0->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.12.0)\n",
- "Requirement already satisfied: charset_normalizer<4,>=2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.4.2)\n",
- "Requirement already satisfied: idna<4,>=2.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.10)\n",
- "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.5.0)\n",
- "Requirement already satisfied: certifi>=2017.4.17 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from requests->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.6.15)\n",
- "Requirement already satisfied: memoir>=0.0.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from rsrc>=0.1.3->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.0.3)\n",
- "Requirement already satisfied: reprit>=0.3.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from rsrc>=0.1.3->PyWGCNA!=2.2.0->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.9.0)\n",
- "Requirement already satisfied: joblib>=1.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from scikit-learn>=1.2->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.5.1)\n",
- "Requirement already satisfied: threadpoolctl>=3.1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from scikit-learn>=1.2->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.6.0)\n",
- "Requirement already satisfied: patsy>=0.5.6 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from statsmodels->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.1)\n",
- "Requirement already satisfied: soupsieve>1.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from beautifulsoup4->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.7)\n",
- "Requirement already satisfied: mpmath>=1.1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from combat->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.0)\n",
- "Requirement already satisfied: ipywidgets>=7.0.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.1.7)\n",
- "Requirement already satisfied: comm>=0.1.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.2)\n",
- "Requirement already satisfied: widgetsnbextension~=4.0.14 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.0.14)\n",
- "Requirement already satisfied: jupyterlab_widgets~=3.0.15 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.15)\n",
- "Requirement already satisfied: Flask<3.1,>=1.0.4 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.3)\n",
- "Requirement already satisfied: Werkzeug<3.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.6)\n",
- "Requirement already satisfied: importlib-metadata in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.7.0)\n",
- "Requirement already satisfied: retrying in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.5)\n",
- "Requirement already satisfied: nest-asyncio in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.6.0)\n",
- "Requirement already satisfied: itsdangerous>=2.1.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.0)\n",
- "Requirement already satisfied: click>=8.1.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (8.2.1)\n",
- "Requirement already satisfied: blinker>=1.6.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.9.0)\n",
- "Requirement already satisfied: narwhals>=1.15.1 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from plotly->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.44.0)\n",
- "Requirement already satisfied: openpyxl in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from dsp-pandas->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.1.5)\n",
- "Requirement already satisfied: zipp>=3.20 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from importlib-metadata->dash->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.23.0)\n",
- "Requirement already satisfied: fastcluster in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from inmoose->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.0)\n",
- "Requirement already satisfied: choreographer>=1.0.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.0.9)\n",
- "Requirement already satisfied: logistro>=1.0.8 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.0)\n",
- "Requirement already satisfied: orjson>=3.10.15 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.10.18)\n",
- "Requirement already satisfied: simplejson>=3.19.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from choreographer>=1.0.5->kaleido->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.20.1)\n",
- "Requirement already satisfied: autograd>=1.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.8.0)\n",
- "Requirement already satisfied: autograd-gamma>=0.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.0)\n",
- "Requirement already satisfied: formulaic>=0.2.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.1.1)\n",
- "Requirement already satisfied: interface-meta>=1.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from formulaic>=0.2.2->lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.3.0)\n",
- "Requirement already satisfied: wrapt>=1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from formulaic>=0.2.2->lifelines->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (1.17.2)\n",
- "Requirement already satisfied: regex>=2021.8.3 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nltk->vuecore==0.0.6.dev19+g58e96db.d20250624) (2024.11.6)\n",
- "Requirement already satisfied: tqdm in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from nltk->vuecore==0.0.6.dev19+g58e96db.d20250624) (4.67.1)\n",
- "Requirement already satisfied: et-xmlfile in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from openpyxl->dsp-pandas->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.0.0)\n",
- "Requirement already satisfied: pandas-flavor in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pingouin->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.0)\n",
- "Requirement already satisfied: tabulate in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pingouin->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.9.0)\n",
- "Requirement already satisfied: xarray in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pandas-flavor->pingouin->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (2025.6.1)\n",
- "Requirement already satisfied: annotated-types>=0.6.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pydantic->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.7.0)\n",
- "Requirement already satisfied: pydantic-core==2.33.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pydantic->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.33.2)\n",
- "Requirement already satisfied: typing-inspection>=0.4.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from pydantic->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.4.1)\n",
- "Requirement already satisfied: executing>=1.2.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from stack_data->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (2.2.0)\n",
- "Requirement already satisfied: asttokens>=2.1.0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from stack_data->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (3.0.0)\n",
- "Requirement already satisfied: pure_eval in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from stack_data->ipython>=5.3.0->pyvis->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.2.3)\n",
- "Requirement already satisfied: numba>=0.51.2 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from umap-learn->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.61.2)\n",
- "Requirement already satisfied: pynndescent>=0.5 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from umap-learn->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.5.13)\n",
- "Requirement already satisfied: llvmlite<0.45,>=0.44.0dev0 in /Users/asaru/miniconda3/envs/vuecore-dev/lib/python3.12/site-packages (from numba>=0.51.2->umap-learn->acore->vuecore==0.0.6.dev19+g58e96db.d20250624) (0.44.0)\n",
- "Using cached nbformat-5.10.4-py3-none-any.whl (78 kB)\n",
- "Using cached fastjsonschema-2.21.1-py3-none-any.whl (23 kB)\n",
- "Using cached jsonschema-4.24.0-py3-none-any.whl (88 kB)\n",
- "Using cached attrs-25.3.0-py3-none-any.whl (63 kB)\n",
- "Using cached jsonschema_specifications-2025.4.1-py3-none-any.whl (18 kB)\n",
- "Using cached referencing-0.36.2-py3-none-any.whl (26 kB)\n",
- "Using cached rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl (350 kB)\n",
- "Building wheels for collected packages: vuecore\n",
- " Building wheel for vuecore (pyproject.toml) ... \u001b[?25ldone\n",
- "\u001b[?25h Created wheel for vuecore: filename=vuecore-0.0.6.dev19+g58e96db.d20250624-py3-none-any.whl size=55625 sha256=dbbfec57f735203a8482a18fcaf73e20e081423669249c13003a42369f4aff2c\n",
- " Stored in directory: /private/var/folders/64/3nt358294s9cjcj1qbtv1g_h0000gp/T/pip-ephem-wheel-cache-8mu7llb7/wheels/b7/c2/2a/80a17c0f7fe0587d17a3dc604f395e41401dc2c1e23b377f0e\n",
- "Successfully built vuecore\n",
- "Installing collected packages: fastjsonschema, rpds-py, attrs, referencing, jsonschema-specifications, jsonschema, nbformat, vuecore\n",
- "\u001b[2K Attempting uninstall: vuecore━━━━━━━\u001b[0m\u001b[90m╺\u001b[0m\u001b[90m━━━━━━━━━\u001b[0m \u001b[32m6/8\u001b[0m [nbformat]a]]\n",
- "\u001b[2K Found existing installation: vuecore 0.0.6.dev19+g58e96db.d20250624m6/8\u001b[0m [nbformat]\n",
- "\u001b[2K Uninstalling vuecore-0.0.6.dev19+g58e96db.d20250624:━━━━━━\u001b[0m \u001b[32m6/8\u001b[0m [nbformat]\n",
- "\u001b[2K Successfully uninstalled vuecore-0.0.6.dev19+g58e96db.d2025062432m6/8\u001b[0m [nbformat]\n",
- "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m8/8\u001b[0m [vuecore]m7/8\u001b[0m [vuecore]\n",
- "\u001b[1A\u001b[2KSuccessfully installed attrs-25.3.0 fastjsonschema-2.21.1 jsonschema-4.24.0 jsonschema-specifications-2025.4.1 nbformat-5.10.4 referencing-0.36.2 rpds-py-0.25.1 vuecore-0.0.6.dev19+g58e96db.d20250624\n",
+ "Requirement already satisfied: vuecore in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (0.0.6.dev66+g88ca84c3f.d20250918)\n",
+ "Requirement already satisfied: numpy in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (1.26.4)\n",
+ "Requirement already satisfied: pandas in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (2.2.3)\n",
+ "Requirement already satisfied: scipy in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (1.14.1)\n",
+ "Requirement already satisfied: plotly in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (5.24.1)\n",
+ "Requirement already satisfied: beautifulsoup4 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (4.12.3)\n",
+ "Requirement already satisfied: requests in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (2.32.3)\n",
+ "Requirement already satisfied: dash in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (2.18.2)\n",
+ "Requirement already satisfied: networkx in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (3.4.1)\n",
+ "Requirement already satisfied: matplotlib in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (3.9.2)\n",
+ "Requirement already satisfied: kaleido in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (0.2.1)\n",
+ "Requirement already satisfied: pyvis in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (0.3.1)\n",
+ "Requirement already satisfied: wordcloud in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (1.9.4)\n",
+ "Requirement already satisfied: cyjupyter in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (0.2.0)\n",
+ "Requirement already satisfied: nltk in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (3.9.1)\n",
+ "Requirement already satisfied: webweb in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (0.0.37)\n",
+ "Requirement already satisfied: acore in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (0.2.1.dev16+g403241e60.d20250902)\n",
+ "Requirement already satisfied: dash-cytoscape in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (1.0.2)\n",
+ "Requirement already satisfied: pydantic in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (2.11.5)\n",
+ "Requirement already satisfied: nbformat>=4.2.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from vuecore) (5.10.4)\n",
+ "Requirement already satisfied: fastjsonschema>=2.15 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nbformat>=4.2.0->vuecore) (2.20.0)\n",
+ "Requirement already satisfied: jsonschema>=2.6 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nbformat>=4.2.0->vuecore) (4.23.0)\n",
+ "Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nbformat>=4.2.0->vuecore) (5.7.2)\n",
+ "Requirement already satisfied: traitlets>=5.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nbformat>=4.2.0->vuecore) (5.14.3)\n",
+ "Requirement already satisfied: dsp-pandas in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.0.4.dev0+g61107b9.d20241118)\n",
+ "Requirement already satisfied: scikit-learn>=1.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (1.5.2)\n",
+ "Requirement already satisfied: biopython in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (1.84)\n",
+ "Requirement already satisfied: combat in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.3.3)\n",
+ "Requirement already satisfied: gseapy!=1.1.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (1.1.3)\n",
+ "Requirement already satisfied: kmapper in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (2.1.0)\n",
+ "Requirement already satisfied: lifelines in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.29.0)\n",
+ "Requirement already satisfied: pingouin in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.5.5)\n",
+ "Requirement already satisfied: python-louvain in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.16)\n",
+ "Requirement already satisfied: PyWGCNA!=2.2.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (2.1.2)\n",
+ "Requirement already satisfied: snfpy in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.2.2)\n",
+ "Requirement already satisfied: umap-learn in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.5.6)\n",
+ "Requirement already satisfied: statsmodels in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.14.4)\n",
+ "Requirement already satisfied: inmoose in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (0.7.2)\n",
+ "Requirement already satisfied: rarfile in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from acore->vuecore) (4.2)\n",
+ "Requirement already satisfied: soupsieve>1.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from beautifulsoup4->vuecore) (2.6)\n",
+ "Requirement already satisfied: ipywidgets>=7.0.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from cyjupyter->vuecore) (8.1.5)\n",
+ "Requirement already satisfied: Flask<3.1,>=1.0.4 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (3.0.3)\n",
+ "Requirement already satisfied: Werkzeug<3.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (3.0.6)\n",
+ "Requirement already satisfied: dash-html-components==2.0.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (2.0.0)\n",
+ "Requirement already satisfied: dash-core-components==2.0.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (2.0.0)\n",
+ "Requirement already satisfied: dash-table==5.0.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (5.0.0)\n",
+ "Requirement already satisfied: importlib-metadata in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (8.5.0)\n",
+ "Requirement already satisfied: typing-extensions>=4.1.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (4.14.0)\n",
+ "Requirement already satisfied: retrying in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (1.3.4)\n",
+ "Requirement already satisfied: nest-asyncio in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (1.6.0)\n",
+ "Requirement already satisfied: setuptools in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dash->vuecore) (75.1.0)\n",
+ "Requirement already satisfied: tenacity>=6.2.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from plotly->vuecore) (9.0.0)\n",
+ "Requirement already satisfied: packaging in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from plotly->vuecore) (24.1)\n",
+ "Requirement already satisfied: contourpy>=1.0.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from matplotlib->vuecore) (1.3.0)\n",
+ "Requirement already satisfied: cycler>=0.10 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from matplotlib->vuecore) (0.12.1)\n",
+ "Requirement already satisfied: fonttools>=4.22.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from matplotlib->vuecore) (4.54.1)\n",
+ "Requirement already satisfied: kiwisolver>=1.3.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from matplotlib->vuecore) (1.4.7)\n",
+ "Requirement already satisfied: pillow>=8 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from matplotlib->vuecore) (10.4.0)\n",
+ "Requirement already satisfied: pyparsing>=2.3.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from matplotlib->vuecore) (3.2.0)\n",
+ "Requirement already satisfied: python-dateutil>=2.7 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from matplotlib->vuecore) (2.9.0)\n",
+ "Requirement already satisfied: click in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nltk->vuecore) (8.1.7)\n",
+ "Requirement already satisfied: joblib in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nltk->vuecore) (1.4.2)\n",
+ "Requirement already satisfied: regex>=2021.8.3 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nltk->vuecore) (2024.11.6)\n",
+ "Requirement already satisfied: tqdm in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from nltk->vuecore) (4.66.5)\n",
+ "Requirement already satisfied: pytz>=2020.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pandas->vuecore) (2024.2)\n",
+ "Requirement already satisfied: tzdata>=2022.7 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pandas->vuecore) (2024.2)\n",
+ "Requirement already satisfied: annotated-types>=0.6.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pydantic->vuecore) (0.7.0)\n",
+ "Requirement already satisfied: pydantic-core==2.33.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pydantic->vuecore) (2.33.2)\n",
+ "Requirement already satisfied: typing-inspection>=0.4.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pydantic->vuecore) (0.4.1)\n",
+ "Requirement already satisfied: jinja2>=2.9.6 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pyvis->vuecore) (3.1.4)\n",
+ "Requirement already satisfied: ipython>=5.3.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pyvis->vuecore) (8.28.0)\n",
+ "Requirement already satisfied: jsonpickle>=1.4.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pyvis->vuecore) (3.3.0)\n",
+ "Requirement already satisfied: charset-normalizer<4,>=2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from requests->vuecore) (3.4.0)\n",
+ "Requirement already satisfied: idna<4,>=2.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from requests->vuecore) (3.10)\n",
+ "Requirement already satisfied: urllib3<3,>=1.21.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from requests->vuecore) (2.2.3)\n",
+ "Requirement already satisfied: certifi>=2017.4.17 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from requests->vuecore) (2024.8.30)\n",
+ "Requirement already satisfied: itsdangerous>=2.1.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore) (2.2.0)\n",
+ "Requirement already satisfied: blinker>=1.6.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from Flask<3.1,>=1.0.4->dash->vuecore) (1.9.0)\n",
+ "Requirement already satisfied: decorator in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipython>=5.3.0->pyvis->vuecore) (5.1.1)\n",
+ "Requirement already satisfied: jedi>=0.16 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipython>=5.3.0->pyvis->vuecore) (0.19.1)\n",
+ "Requirement already satisfied: matplotlib-inline in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipython>=5.3.0->pyvis->vuecore) (0.1.7)\n",
+ "Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipython>=5.3.0->pyvis->vuecore) (3.0.48)\n",
+ "Requirement already satisfied: pygments>=2.4.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipython>=5.3.0->pyvis->vuecore) (2.18.0)\n",
+ "Requirement already satisfied: stack-data in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipython>=5.3.0->pyvis->vuecore) (0.6.2)\n",
+ "Requirement already satisfied: pexpect>4.3 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipython>=5.3.0->pyvis->vuecore) (4.9.0)\n",
+ "Requirement already satisfied: comm>=0.1.3 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore) (0.2.2)\n",
+ "Requirement already satisfied: widgetsnbextension~=4.0.12 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore) (4.0.13)\n",
+ "Requirement already satisfied: jupyterlab-widgets~=3.0.12 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from ipywidgets>=7.0.0->cyjupyter->vuecore) (3.0.13)\n",
+ "Requirement already satisfied: MarkupSafe>=2.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from jinja2>=2.9.6->pyvis->vuecore) (3.0.1)\n",
+ "Requirement already satisfied: attrs>=22.2.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->vuecore) (24.2.0)\n",
+ "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->vuecore) (2024.10.1)\n",
+ "Requirement already satisfied: referencing>=0.28.4 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->vuecore) (0.35.1)\n",
+ "Requirement already satisfied: rpds-py>=0.7.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->vuecore) (0.20.0)\n",
+ "Requirement already satisfied: platformdirs>=2.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from jupyter-core!=5.0.*,>=4.12->nbformat>=4.2.0->vuecore) (4.3.6)\n",
+ "Requirement already satisfied: six>=1.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib->vuecore) (1.16.0)\n",
+ "Requirement already satisfied: seaborn>=0.11.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from PyWGCNA!=2.2.0->acore->vuecore) (0.13.2)\n",
+ "Requirement already satisfied: biomart>=0.9.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from PyWGCNA!=2.2.0->acore->vuecore) (0.9.2)\n",
+ "Requirement already satisfied: reactome2py>=3.0.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from PyWGCNA!=2.2.0->acore->vuecore) (3.0.0)\n",
+ "Requirement already satisfied: anndata>=0.10.8 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from PyWGCNA!=2.2.0->acore->vuecore) (0.10.9)\n",
+ "Requirement already satisfied: rsrc>=0.1.3 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from PyWGCNA!=2.2.0->acore->vuecore) (0.1.3)\n",
+ "Requirement already satisfied: psutil>=5.9.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from PyWGCNA!=2.2.0->acore->vuecore) (6.0.0)\n",
+ "Requirement already satisfied: threadpoolctl>=3.1.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from scikit-learn>=1.5->acore->vuecore) (3.5.0)\n",
+ "Requirement already satisfied: patsy>=0.5.6 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from statsmodels->acore->vuecore) (0.5.6)\n",
+ "Requirement already satisfied: mpmath>=1.1.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from combat->acore->vuecore) (1.3.0)\n",
+ "Requirement already satisfied: openpyxl in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from dsp-pandas->acore->vuecore) (3.1.5)\n",
+ "Requirement already satisfied: zipp>=3.20 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from importlib-metadata->dash->vuecore) (3.20.2)\n",
+ "Requirement already satisfied: fastcluster in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from inmoose->acore->vuecore) (1.2.6)\n",
+ "Requirement already satisfied: autograd>=1.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from lifelines->acore->vuecore) (1.7.0)\n",
+ "Requirement already satisfied: autograd-gamma>=0.3 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from lifelines->acore->vuecore) (0.5.0)\n",
+ "Requirement already satisfied: formulaic>=0.2.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from lifelines->acore->vuecore) (1.0.2)\n",
+ "Requirement already satisfied: pandas-flavor in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pingouin->acore->vuecore) (0.6.0)\n",
+ "Requirement already satisfied: tabulate in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pingouin->acore->vuecore) (0.9.0)\n",
+ "Requirement already satisfied: numba>=0.51.2 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from umap-learn->acore->vuecore) (0.60.0)\n",
+ "Requirement already satisfied: pynndescent>=0.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from umap-learn->acore->vuecore) (0.5.13)\n",
+ "Requirement already satisfied: array-api-compat!=1.5,>1.4 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore) (1.9)\n",
+ "Requirement already satisfied: h5py>=3.1 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore) (3.12.1)\n",
+ "Requirement already satisfied: natsort in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from anndata>=0.10.8->PyWGCNA!=2.2.0->acore->vuecore) (8.4.0)\n",
+ "Requirement already satisfied: interface-meta>=1.2.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from formulaic>=0.2.2->lifelines->acore->vuecore) (1.3.0)\n",
+ "Requirement already satisfied: wrapt>=1.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from formulaic>=0.2.2->lifelines->acore->vuecore) (1.16.0)\n",
+ "Requirement already satisfied: parso<0.9.0,>=0.8.3 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from jedi>=0.16->ipython>=5.3.0->pyvis->vuecore) (0.8.4)\n",
+ "Requirement already satisfied: llvmlite<0.44,>=0.43.0dev0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from numba>=0.51.2->umap-learn->acore->vuecore) (0.43.0)\n",
+ "Requirement already satisfied: ptyprocess>=0.5 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pexpect>4.3->ipython>=5.3.0->pyvis->vuecore) (0.7.0)\n",
+ "Requirement already satisfied: wcwidth in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=5.3.0->pyvis->vuecore) (0.2.13)\n",
+ "Requirement already satisfied: json5>=0.8.4 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from reactome2py>=3.0.0->PyWGCNA!=2.2.0->acore->vuecore) (0.9.25)\n",
+ "Requirement already satisfied: memoir>=0.0.3 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from rsrc>=0.1.3->PyWGCNA!=2.2.0->acore->vuecore) (0.0.3)\n",
+ "Requirement already satisfied: reprit>=0.3.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from rsrc>=0.1.3->PyWGCNA!=2.2.0->acore->vuecore) (0.9.0)\n",
+ "Requirement already satisfied: et-xmlfile in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from openpyxl->dsp-pandas->acore->vuecore) (2.0.0)\n",
+ "Requirement already satisfied: xarray in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from pandas-flavor->pingouin->acore->vuecore) (2024.9.0)\n",
+ "Requirement already satisfied: executing>=1.2.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from stack-data->ipython>=5.3.0->pyvis->vuecore) (2.1.0)\n",
+ "Requirement already satisfied: asttokens>=2.1.0 in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from stack-data->ipython>=5.3.0->pyvis->vuecore) (2.4.1)\n",
+ "Requirement already satisfied: pure-eval in /Users/heweb/miniforge3/envs/acore/lib/python3.11/site-packages (from stack-data->ipython>=5.3.0->pyvis->vuecore) (0.2.3)\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
@@ -246,7 +215,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 2,
"id": "963a9529",
"metadata": {
"tags": [
@@ -257,20 +226,8 @@
"source": [
"import os\n",
"\n",
- "IN_COLAB = \"COLAB_GPU\" in os.environ"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 2,
- "id": "ee2ffd40",
- "metadata": {
- "tags": [
- "hide-cell"
- ]
- },
- "outputs": [],
- "source": [
+ "IN_COLAB = \"COLAB_GPU\" in os.environ\n",
+ "\n",
"# Create a directory for outputs\n",
"output_dir = \"./outputs\"\n",
"os.makedirs(output_dir, exist_ok=True)"
@@ -291,10 +248,10 @@
"metadata": {},
"outputs": [],
"source": [
- "# Imports\n",
- "import pandas as pd\n",
"from pathlib import Path\n",
"\n",
+ "import pandas as pd\n",
+ "\n",
"from vuecore.plots.basic.scatter import create_scatter_plot"
]
},
@@ -309,9 +266,13 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 5,
"id": "82dfaf45",
- "metadata": {},
+ "metadata": {
+ "tags": [
+ "hide-input"
+ ]
+ },
"outputs": [
{
"data": {
@@ -441,7 +402,7 @@
"7 B "
]
},
- "execution_count": 4,
+ "execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
@@ -476,3946 +437,27 @@
"metadata": {},
"source": [
"## 1. Basic Scatter Plot\n",
- "A basic scatter plot can be created by providing the `x` and `y` columns from the DataFrame, along with style options like `title`."
+ "A basic scatter plot can be created by providing the `x` and `y` columns\n",
+ "from the DataFrame, along with style options like `title`\n",
+ "using [`create_scatter_plot`](vuecore.plots.basic.scatter.create_scatter_plot)."
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 6,
"id": "d0d34455",
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to ./outputs/scatter_basic.png\n"
+ "ename": "NameError",
+ "evalue": "name 'Path' is not defined",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[6], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# Define output path for the basic png plot\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m file_path_basic_png \u001b[38;5;241m=\u001b[39m \u001b[43mPath\u001b[49m(output_dir) \u001b[38;5;241m/\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mscatter_basic.png\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m# Generate the basic scatter plot\u001b[39;00m\n\u001b[1;32m 5\u001b[0m scatter_plot_basic \u001b[38;5;241m=\u001b[39m create_scatter_plot(\n\u001b[1;32m 6\u001b[0m data\u001b[38;5;241m=\u001b[39msample_df,\n\u001b[1;32m 7\u001b[0m x\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgene_expression\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 10\u001b[0m file_path\u001b[38;5;241m=\u001b[39mfile_path_basic_png,\n\u001b[1;32m 11\u001b[0m )\n",
+ "\u001b[0;31mNameError\u001b[0m: name 'Path' is not defined"
]
- },
- {
- "data": {
- "text/html": [
- " \n",
- " \n",
- " "
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
}
],
"source": [
@@ -4448,48 +490,7 @@
"execution_count": null,
"id": "f9307e85",
"metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "[VueCore] Plot saved to ./outputs/scatter_advanced.html\n"
- ]
- },
- {
- "data": {
- "text/html": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
+ "outputs": [],
"source": [
"# Define output file path for the HTML plot\n",
"file_path_adv_html = Path(output_dir) / \"scatter_advanced.html\"\n",
@@ -4540,7 +541,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.12.11"
+ "version": "3.11.10"
}
},
"nbformat": 4,
diff --git a/docs/api_examples/scatter_plot.py b/docs/api_examples/scatter_plot.py
index 95c15e2..35abeec 100644
--- a/docs/api_examples/scatter_plot.py
+++ b/docs/api_examples/scatter_plot.py
@@ -65,7 +65,6 @@
IN_COLAB = "COLAB_GPU" in os.environ
-# %% tags=["hide-cell"]
# Create a directory for outputs
output_dir = "./outputs"
os.makedirs(output_dir, exist_ok=True)
@@ -74,17 +73,17 @@
# ### 0.2. Importing libraries
# %%
-# Imports
-import pandas as pd
from pathlib import Path
+import pandas as pd
+
from vuecore.plots.basic.scatter import create_scatter_plot
# %% [markdown]
# ### 0.3. Create sample data
# We create a synthetic dataset that contains simulated gene expression values, p-values, regulation status, and significance scores for 8 genes across two cell types.
-# %%
+# %% tags=["hide-input"]
sample_df = pd.DataFrame(
{
"gene_expression": [1.2, 2.5, 3.1, 4.5, 5.2, 6.8, 3.9, 2.1],
@@ -109,7 +108,9 @@
# %% [markdown]
# ## 1. Basic Scatter Plot
-# A basic scatter plot can be created by providing the `x` and `y` columns from the DataFrame, along with style options like `title`.
+# A basic scatter plot can be created by providing the `x` and `y` columns
+# from the DataFrame, along with style options like `title`
+# using [`create_scatter_plot`](vuecore.plots.basic.scatter.create_scatter_plot).
# %%
# Define output path for the basic png plot
diff --git a/docs/conf.py b/docs/conf.py
index 580e40c..ae0a710 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -57,9 +57,13 @@
# Plolty support through require javascript library
# https://myst-nb.readthedocs.io/en/latest/render/interactive.html#plotly
-html_js_files = [
- # "https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.7/require.min.js"
-]
+# html_js_files = [
+# ]
+# Set the Plotly renderer to notebook for ReadTheDocs (visualize plotly figures
+# in the documentation) - needed for plotly6
+# Plotly normally decides itself fine which renderer to use, so keep it to Sphinx
+# see https://plotly.com/python/renderers/#setting-the-default-renderer
+os.environ["PLOTLY_RENDERER"] = "notebook"
# https://myst-nb.readthedocs.io/en/latest/configuration.html
# Execution
@@ -165,11 +169,6 @@
# https://github.com/readthedocs/readthedocs.org/issues/1139
if os.environ.get("READTHEDOCS") == "True":
- # Set the Plotly renderer to notebook for ReadTheDocs (visualize plotly figures
- # in the documentation) - needed for plotly6
- # Plotly normally decides itself fine which renderer to use, so keep it to RTD
- # see https://plotly.com/python/renderers/#setting-the-default-renderer
- os.environ["PLOTLY_RENDERER"] = "notebook"
PROJECT_ROOT = Path(__file__).parent.parent
PACKAGE_ROOT = PROJECT_ROOT / "src" / "vuecore"