Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion R/CalculatePercentage.R
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
#' Calculate the percentage of cells in activation status
#' CalculatePercentage
#'
#' This function calculates the percentage of cells in ON (scale > 0) and OFF (scale < 0)
#' activation states within each group defined by `group_var`. If exactly two groups
#' are provided, it also computes Cohen's d effect size between their activation values.
#'
#' @name CalculatePercentage
#' @importFrom dplyr bind_rows
#' @importFrom effsize cohen.d
#' @importFrom stats na.omit
#' @param to.plot A data frame containing at least a `scale` column and a grouping column.
#' @param group_var A string specifying the grouping variable (e.g., "genotype", "treatment").
#'
#' @return A data frame with the percentage of ON/OFF cells and Cohen's d (if applicable).
#' @examples
#' data(fake_to_plot)
Expand Down
17 changes: 16 additions & 1 deletion R/ComputeCellData.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' ComputeCellData
#'
#' A function computes cell status for a given pathway in single-cell RNA-seq data,
#' based on the distance between genes in a specified pathway. The distance is computed
#' for each batch of cells, and classical multidimensional scaling (MDS) is used to
Expand All@@ -14,7 +16,7 @@
#'
#' @param x A `Seurat` object containing single-cell RNA sequencing data.
#' @param pathway A `character` string specifying the pathway name. This should match a pathway used by `LoadPathway()`.
#' @param distance.method A `character` string specifying the distance metric to use.
#' @param distance.method A `character` string specifying the distance metric to use.Default is "manhattan".
#' Options include: `"manhattan"`, `"euclidean"`, `"canberra"`, `"binary"`, `"minkowski"`
#' @param batch.size An `integer` specifying the number of cells to process per batch. Default is 1000.
#' @param scale.data A `logical` indicating whether to use scaled data (`scale.data = TRUE`) or normalized data. Default is `TRUE`.
Expand DownExpand Up@@ -53,8 +55,15 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
shuffled_cell_id <- sample(cell_id)

# Split shuffled indices into batches
# Check if batch.size is provided; if not, set default and message
if (missing(batch.size) || is.null(batch.size)) {
message("Parameter 'batch.size' is missing or NULL. Setting default batch size to 1000.")
batch.size <- 1000
}

# Define batch size
batch_size <- batch.size

batches <- split(shuffled_cell_id, ceiling(seq_along(shuffled_cell_id) / batch.size))

# Subset expression data into chunks based on sampled indices
Expand DownExpand Up@@ -82,6 +91,12 @@ ComputeCellData <- function(x, pathway, distance.method, batch.size = batch.size
next
}

# Check if distance.method is provided; if not, set default and message
if (missing(distance.method) || is.null(distance.method)) {
message("Parameter 'distance.method' is missing or NULL. Setting default distance.method to 'manhattan'.")
distance.method <- "manhattan"
}

# Distance calculation
message("Computing distance...")
d <- dist(t(pathwaytempdata), method = distance.method)
Expand Down
3 changes: 2 additions & 1 deletion R/LoadPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
## Pathway Data Extraction from Exceldataset
#' LoadPathway
#'
#' This function reads pathway data from the package's built-in Excel file.
#'
#' @name LoadPathway
#' @param pathway A `character` string specifying the pathway name.
#' @return A data frame with pathway data.
Expand Down
3 changes: 3 additions & 0 deletions R/PathwayMaxMin.R
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
#' PathwayMaxMin
#'
#' A function to obtain the hypothetical max and min activation status of selected pathway for a given scRNA seq data set
#'
#' @name PathwayMaxMin
#' @import Seurat
#' @import tidyverse
Expand Down
2 changes: 2 additions & 0 deletions R/PlotPathway.R
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
#' PlotPathway
#'
#' A function to plot the Pathway activation status
#'
#' @name PlotPathway
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -37,7 +37,7 @@ library(PathwayEmbed)
data(fake_test_object)

# Compute pathway data
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan")
mds_results <- ComputeCellData(fake_test_object, pathway = "Wnt", distance.method = "manhattan", batch.size = 100) need to add a default batch size and a end message

# Prepare data for plotting
plot_data <- PreparePlotData(fake_test_object, mds_results, group = "genotype")
Expand Down
Binary file modifiedinst/extdata/Pathway_Embedding.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion man/CalculatePercentage.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 2 additions & 5 deletions man/ComputeCellData.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/LoadPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PathwayMaxMin.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion man/PlotPathway.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.