Skip to content
Open
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
10 changes: 5 additions & 5 deletions R/cellbrowser_prep.R
Original file line number Diff line number Diff line change
Expand Up @@ -102,14 +102,14 @@ print(file.path(opt$seurat_path, opt$runspecs,
"cluster.markers.dir","markers.summary.table.xlsx"))
data_selected = openxlsx::read.xlsx(xlsxFile = file.path(opt$seurat_path, opt$runspecs,
"cluster.markers.dir","markers.summary.table.xlsx"))
output = data_selected[,c("gene","gene_id", "cluster","avg_logFC","p.adj")]
output = output %>% group_by(cluster) %>% dplyr::arrange(desc(avg_logFC)) %>% do(head(.,n=20)) %>% ungroup()
output = data_selected[,c("gene","gene_id", "cluster","avg_log2FC","p.adj")]
output = output %>% group_by(cluster) %>% dplyr::arrange(desc(avg_log2FC)) %>% do(head(.,n=20)) %>% ungroup()
output$celltype = "top20_marker_Seurat_cluster"
output$cluster_marker = paste(output$celltype, output$cluster, sep="_")
output = output %>% dplyr::select(-celltype)
colnames(output) = c("gene","gene_id","cluster","avg_logFC","p_adjusted","celltype_marker")
output = output[,c("cluster","gene","p_adjusted","avg_logFC","celltype_marker")]
colnames(output) = c("gene","gene_id","cluster","avg_log2FC","p_adjusted","celltype_marker")
output = output[,c("cluster","gene","p_adjusted","avg_log2FC","celltype_marker")]
write.table(output, file.path(opt$outdir, "markers.tsv"), sep = "\t",
quote = FALSE, row.names = FALSE)

cat("Completed")
cat("Completed")
4 changes: 2 additions & 2 deletions R/genesetAnalysis.R
Original file line number Diff line number Diff line change
Expand Up @@ -64,10 +64,10 @@ cluster_de <- de[de$cluster==opt$cluster & de$p.adj<=opt$adjpthreshold,]
## only positive markers considered
if(opt$direction=="positive")
{
foreground <- unique(cluster_de$gene_id[cluster_de$avg_logFC>0])
foreground <- unique(cluster_de$gene_id[cluster_de$avg_log2FC>0])
} else if (opt$direction=="negative")
{
foreground <- unique(cluster_de$gene_id[cluster_de$avg_logFC<0])
foreground <- unique(cluster_de$gene_id[cluster_de$avg_log2FC<0])
} else if (opt$direction=="both")
{
foreground <- unique(cluster_de$gene_id)
Expand Down
14 changes: 7 additions & 7 deletions R/seurat_FindMarkers.R
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,7 @@ for (conserved.level in levels(ident.conserved)){
return.thresh = 1

if (nrow(markers) > 0) {
markers = markers[order(markers$p_val, -markers$avg_logFC), ]
markers = markers[order(markers$p_val, -markers$avg_log2FC), ]
markers = subset(markers, p_val < return.thresh)

if (nrow(markers) > 0){
Expand All @@ -314,7 +314,7 @@ for (conserved.level in levels(ident.conserved)){
markers$p.adj <- p.adjust(markers$p_val, method="BH")

message("selecting columns of interest")
markers <- markers[,c("cluster","gene","p.adj","p_val","avg_logFC","pct.1","pct.2")]
markers <- markers[,c("cluster","gene","p.adj","p_val","avg_log2FC","pct.1","pct.2")]
markers <- markers[order(markers$cluster, markers$p_val),]

print(head(markers))
Expand Down Expand Up @@ -425,7 +425,7 @@ if (length(markers.conserved.list) > 1){
table(markers.sig)
markers.sig <- names(markers.sig)[markers.sig]

markers.fc <- do.call("cbind", lapply(markers.conserved.list, function(x){x[markers.sig, "avg_logFC"]}))
markers.fc <- do.call("cbind", lapply(markers.conserved.list, function(x){x[markers.sig, "avg_log2FC"]}))
rownames(markers.fc) <- markers.sig
colnames(markers.fc) <- names(markers.conserved.list)

Expand Down Expand Up @@ -480,14 +480,14 @@ if (length(markers.conserved.list) > 1){
tmp.table <- do.call(
"cbind",
lapply(markers.conserved.list, function(x){
x[markers.conserved, "avg_logFC"]
x[markers.conserved, "avg_log2FC"]
})
)
rownames(tmp.table) <- markers.conserved
tmp.table <- exp(tmp.table) - 1
conserved.table$avg_logFC <- log(rowMeans(as.matrix(tmp.table[markers.conserved, , drop=FALSE])) + 1)
conserved.table$avg_log2FC <- log(rowMeans(as.matrix(tmp.table[markers.conserved, , drop=FALSE])) + 1)

message("avg_logFC added")
message("avg_log2FC added")

# average percentage of cells in group 1 ----
tmp.table <- do.call(
Expand Down Expand Up @@ -547,7 +547,7 @@ if (length(markers.conserved.list) > 1){
gene_id = character(0),
p_val = character(0),
p.adj = character(0),
avg_logFC = character(0),
avg_log2FC = character(0),
pct.1 = character(0),
pct.2 = character(0),
cluster_mean = character(0),
Expand Down
6 changes: 3 additions & 3 deletions R/seurat_cluster_marker_plots.R
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,13 @@ x <- x[x$cluster==as.numeric(opt$cluster) & x$p.adj<0.1,]

n_select = 16
# pull out by average and minimum log fold change
x %>% top_n(n_select, avg_logFC) -> top_by_avg_logFC
x %>% top_n(n_select, avg_log2FC) -> top_by_avg_log2FC

n_select = 8
x[!x$gene %in% top_by_avg_logFC$gene,] %>%
x[!x$gene %in% top_by_avg_log2FC$gene,] %>%
top_n(n_select, min_logFC) -> top_by_min_logFC

x <- x[x$gene %in% c(top_by_avg_logFC$gene,
x <- x[x$gene %in% c(top_by_avg_log2FC$gene,
top_by_min_logFC$gene),]

# marker gene heatmap.
Expand Down
4 changes: 2 additions & 2 deletions R/seurat_summariseMarkerNumbers.R
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ message("summarising and melting the data")
summarised_data <- degenes %>%
dplyr::group_by(cluster) %>%
dplyr::summarise(
positive=length(which(p.adj < opt$minpadj & avg_logFC >= log(opt$minfc))),
negative=length(which(p.adj < opt$minpadj & avg_logFC <= -log(opt$minfc))))
positive=length(which(p.adj < opt$minpadj & avg_log2FC >= log(opt$minfc))),
negative=length(which(p.adj < opt$minpadj & avg_log2FC <= -log(opt$minfc))))

melted_data <- melt(summarised_data, id=c("cluster"))

Expand Down
8 changes: 4 additions & 4 deletions R/seurat_summariseMarkers.R
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ print(dim(markers))

markers <- markers[,c("cluster","gene","gene_id",
"p_val","p.adj",
"avg_logFC","pct.1","pct.2",
"avg_log2FC","pct.1","pct.2",
"cluster_mean","other_mean")]

markers <- markers[order(markers$cluster, markers$p.adj),]
Expand Down Expand Up @@ -235,7 +235,7 @@ saveWorkbook(wb, file=paste(outPrefix,"table","xlsx",
message("Making a heatmap of the top marker genes from each cluster")

## make a heatmap of the top DE genes.
filtered_markers %>% group_by(cluster) %>% top_n(20, avg_logFC) -> top20
filtered_markers %>% group_by(cluster) %>% top_n(20, avg_log2FC) -> top20

if(!is.null(opt$subgroup))
{
Expand Down Expand Up @@ -287,8 +287,8 @@ summary <- c()
for(id in idents.all)
{
ncells = length(cluster_ids[cluster_ids==id])
npos = length(filtered_markers$p.adj[filtered_markers$cluster==id & filtered_markers$avg_logFC > 0] )
nneg = length(filtered_markers$p.adj[filtered_markers$cluster==id & filtered_markers$avg_logFC < 0] )
npos = length(filtered_markers$p.adj[filtered_markers$cluster==id & filtered_markers$avg_log2FC > 0] )
nneg = length(filtered_markers$p.adj[filtered_markers$cluster==id & filtered_markers$avg_log2FC < 0] )
ntotal = npos + nneg
summary <- c(summary,c(id, ncells, npos, nneg, ntotal))
}
Expand Down
6 changes: 3 additions & 3 deletions R/seurat_summariseMarkersBetween.R
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ for(cluster in clusters)
}
}

res <- res[,c("cluster","gene","p.adj","p_val","avg_logFC",
res <- res[,c("cluster","gene","p.adj","p_val","avg_log2FC",
"pct.1","pct.2",aName,bName,"gene_id")]

out_fn <- file.path(
Expand Down Expand Up @@ -222,7 +222,7 @@ save_ggplots(gsub(".tex",".nde",tex_fn),
height=5)

## Make a heatmap
diffMat <- dcast(res, gene~cluster, value.var="avg_logFC")
diffMat <- dcast(res, gene~cluster, value.var="avg_log2FC")
diffMat[is.na(diffMat)] <- 0

rownames(diffMat) <- diffMat$gene
Expand Down Expand Up @@ -258,7 +258,7 @@ plot_fn <- function()
density.info=c("none"),
lwid = c(1,5),
lhei = c(1,8),
key.xlab = "avg_logFC",
key.xlab = "avg_log2FC",
key.ylab = "",
xlab="cluster",
cexRow = 0.4,
Expand Down
2 changes: 1 addition & 1 deletion R/seurat_topMarkerHeatmap.R
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ markers <- read.table(opt$markers,
filtered_markers <- data.table(markers[markers$p.adj < 0.1,])

## make a heatmap of the top DE genes.
filtered_markers %>% group_by(cluster) %>% top_n(20, avg_logFC) -> top20
filtered_markers %>% group_by(cluster) %>% top_n(20, avg_log2FC) -> top20

if(!is.null(opt$subgroup))
{
Expand Down
8 changes: 4 additions & 4 deletions pipelines/pipeline_scxl.py
Original file line number Diff line number Diff line change
Expand Up @@ -2443,7 +2443,7 @@ def topClusterMarkers(infile, outfile):
def _filterAndScore(data):
# filter for strong cluster markers
data = data[(data["p.adj"] < 0.01) &
(data["avg_logFC"].abs() > np.log(2)) &
(data["avg_log2FC"].abs() > np.log(2)) &
(data["cluster_mean"] > 2) &
(data["pct.1"] > 0.25)]

Expand All @@ -2452,7 +2452,7 @@ def _filterAndScore(data):
# for fold change, expression level and adjusted p-value.
# the aim is to give "better" markers higher scores.
pscore = [1 - x for x in data["p.adj"].values]
fscore = [np.exp(np.abs(x)) for x in data["avg_logFC"].values]
fscore = [np.exp(np.abs(x)) for x in data["avg_log2FC"].values]
escore = [np.log2(x) for x in data["cluster_mean"].values]

# construct a matrix of the scores and take the geometric mean.
Expand Down Expand Up @@ -2535,7 +2535,7 @@ def _write_tables(d, name="none"):

# keep up to n entries per cluster
# note that groupby preserves the ordering.
positive_markers = data[data["avg_logFC"] > 0]
positive_markers = data[data["avg_log2FC"] > 0]
positive_markers = _filterAndScore(positive_markers)
positive_markers = _skimMarkers(positive_markers,
PARAMS["exprsreport_n_positive"])
Expand All @@ -2547,7 +2547,7 @@ def _write_tables(d, name="none"):
if stat:
statements.append(stat)

negative_markers = data[data["avg_logFC"] < 0]
negative_markers = data[data["avg_log2FC"] < 0]
negative_markers = _filterAndScore(negative_markers)
negative_markers = _skimMarkers(negative_markers,
PARAMS["exprsreport_n_negative"])
Expand Down
2 changes: 1 addition & 1 deletion python/make_anndata.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import pandas as pd
import logging
import sys

import hnswlib


# ########################################################################### #
Expand Down
2 changes: 1 addition & 1 deletion python/run_paga.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from scipy import sparse
import logging
import sys

import igraph


# ########################################################################### #
Expand Down
4 changes: 2 additions & 2 deletions tenxutils/R/Helper.R
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ sprintfResults <- function(results_table,
#' @param m_col The column containing the log2 ratio
#' @param id_col A column containing unique identifiers
#' @param ngenes The number of genes to demarcate
topGenes <- function(data, m_col = "avg_logFC",
topGenes <- function(data, m_col = "avg_log2FC",
use_fc = TRUE,
id_col="gene", ngenes=7)
{
Expand All @@ -76,7 +76,7 @@ topGenes <- function(data, m_col = "avg_logFC",
#' @param m_col The column containing the log2 ratio
#' @param ngenes The number of genes to demarcate
#' @param id_col A column containing a unique identifier
categoriseGenes <- function(data,m_col="avg_logFC", use_fc=TRUE,
categoriseGenes <- function(data,m_col="avg_log2FC", use_fc=TRUE,
p_col="p.adj", p_threshold=0.05,
ngenes=7,
id_col="gene")
Expand Down
14 changes: 7 additions & 7 deletions tenxutils/R/Plot.R
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ plotViolins <- function(data, seurat_object,
vncol=4, vnrow=3,
use.minfc=FALSE,
minfc_col="min_logFC", maxfc_col="max_logFC",
avgfc_col="avg_logFC",
m_col="avg_logFC", p_col="p.adj",
avgfc_col="avg_log2FC",
m_col="avg_log2FC", p_col="p.adj",
pt_size=0.1,
id_col="gene")
{
Expand Down Expand Up @@ -206,7 +206,7 @@ plotViolins <- function(data, seurat_object,
tmp <- tmp[!tmp[[id_col]] %in% genes_a,]

## order by largest fold change
## tmp <- tmp[rev(order(abs(tmp$avg_logFC))),]
## tmp <- tmp[rev(order(abs(tmp$avg_log2FC))),]

## subset to positive or negative markers
if(type == "positive")
Expand Down Expand Up @@ -545,7 +545,7 @@ plotDownsampling <- function(matrixUMI, metadata, basename) {
#' A function to draw a heatmap of top cluster marker genes with
#' subgroup labels. The function uses the "scale.data" slot by default to make the heatmap.
#' @param seurat_object A seurat objected with scaled data and cluster information
#' @param marker_table A dataframe containing the marker information. Must contain "cluster", "gene" and "avg_logFC" columns
#' @param marker_table A dataframe containing the marker information. Must contain "cluster", "gene" and "avg_log2FC" columns
#' @param n_markers The number of markers to plot
#' @param cells_use The names of the cells to use. If NULL all cells will be used
#' @param row_names_gp The font size for the gene names
Expand All @@ -558,7 +558,7 @@ markerComplexHeatmap <- function(seurat_object,
n_markers=20,
cells_use=NULL,
slot="scale.data",
priority="avg_logFC",
priority="avg_log2FC",
row_names_gp=10,
sub_group=NULL,
disp_min=-2.5,
Expand All @@ -574,10 +574,10 @@ markerComplexHeatmap <- function(seurat_object,
"it is avaliable via devtools here: https://github.com/jokergoo/ComplexHeatmap"))
}

if(priority=="avg_logFC") {
if(priority=="avg_log2FC") {
top_markers <- marker_table %>%
group_by(cluster) %>%
top_n(n=n_markers,wt=avg_logFC)
top_n(n=n_markers,wt=avg_log2FC)
} else if (priority=="min_logFC") {
top_markers <- marker_table %>%
group_by(cluster) %>%
Expand Down
2 changes: 1 addition & 1 deletion tenxutils/man/categoriseGenes.Rd

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

4 changes: 2 additions & 2 deletions tenxutils/man/markerComplexHeatmap.Rd

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

4 changes: 2 additions & 2 deletions tenxutils/man/plotViolins.Rd

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

2 changes: 1 addition & 1 deletion tenxutils/man/topGenes.Rd

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