Skip to content

Commit 948d3ed

Browse files
committed
Merge branch 'org-hs' into dev (close #45)
2 parents 2a2a497 + 92e9603 commit 948d3ed

12 files changed

+81
-130
lines changed

DESCRIPTION

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Package: DIscBIO
22
Date: 2023-11-06
33
Title: A User-Friendly Pipeline for Biomarker Discovery in Single-Cell Transcriptomics
4-
Version: 1.2.2
4+
Version: 1.2.2.9000
55
Authors@R:
66
c(
77
person(
@@ -41,15 +41,13 @@ Encoding: UTF-8
4141
Imports: methods, TSCAN, httr, mclust, statmod, igraph,
4242
RWeka, vegan, NetIndices, png, grDevices,
4343
RColorBrewer, ggplot2, rpart, fpc, cluster, rpart.plot,
44-
tsne, AnnotationDbi, org.Hs.eg.db, graphics, stats, utils, impute,
45-
withr
44+
tsne, AnnotationDbi, graphics, stats, utils, impute, withr
4645
Depends:
4746
R (>= 4.0), SingleCellExperiment
4847
Suggests:
49-
testthat,
50-
Seurat
48+
testthat, Seurat, org.Hs.eg.db
5149
LazyData: true
52-
RoxygenNote: 7.2.3
50+
RoxygenNote: 7.3.3
5351
URL: https://github.com/ocbe-uio/DIscBIO
5452
BugReports: https://github.com/ocbe-uio/DIscBIO/issues
5553
Collate:
@@ -94,3 +92,4 @@ Collate:
9492
'datasets.R'
9593
'internal-functions-samr-adapted.R'
9694
'internal-functions.R'
95+
'retrieve_geneList.R'

NAMESPACE

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ exportMethods(plotSilhouette)
3939
exportMethods(plotSymbolstSNE)
4040
exportMethods(plottSNE)
4141
exportMethods(pseudoTimeOrdering)
42-
import(org.Hs.eg.db)
4342
importClassesFrom(SingleCellExperiment,SingleCellExperiment)
4443
importFrom(AnnotationDbi,keys)
44+
importFrom(AnnotationDbi,select)
4545
importFrom(NetIndices,GenInd)
4646
importFrom(RColorBrewer,brewer.pal)
4747
importFrom(RWeka,J48)
@@ -100,10 +100,10 @@ importFrom(igraph,distance_table)
100100
importFrom(igraph,get.adjacency)
101101
importFrom(igraph,get.edgelist)
102102
importFrom(igraph,get.shortest.paths)
103-
importFrom(igraph,graph.adjacency)
103+
importFrom(igraph,graph_from_adjacency_matrix)
104104
importFrom(igraph,graph.data.frame)
105105
importFrom(igraph,mean_distance)
106-
importFrom(igraph,minimum.spanning.tree)
106+
importFrom(igraph,mst)
107107
importFrom(impute,impute.knn)
108108
importFrom(mclust,Mclust)
109109
importFrom(mclust,mclustBIC)
@@ -137,6 +137,7 @@ importFrom(stats,smooth.spline)
137137
importFrom(stats,var)
138138
importFrom(tsne,tsne)
139139
importFrom(utils,capture.output)
140+
importFrom(utils,data)
140141
importFrom(utils,download.file)
141142
importFrom(utils,read.table)
142143
importFrom(utils,write.csv)

NEWS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# DIscBIO (development version)
2+
13
# DIscBIO 1.2.2
24

35
* Fixed calculation of Jaccard index (issue #44)

R/DIscBIO-generic-ClustDiffGenes.R

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
#' @param filename_binom Name of the exported binomial file
1313
#' @param filename_sigdeg Name of the exported sigDEG file
1414
#' @importFrom stats pbinom median
15-
#' @import org.Hs.eg.db
1615
#' @rdname ClustDiffGenes
1716
#' @return A list containing two tables.
1817
#' @export
@@ -103,11 +102,14 @@ setMethod(
103102
DEGsS <- vector()
104103
DEGsTable <- data.frame()
105104

106-
for (n in 1:K) {
107-
if (length(cdiff[[n]][, 1]) == 0) {
108-
next
109-
}
105+
# Generate gene list
106+
geneList <- retrieve_geneList()
107+
GL <- c(1, "MTRNR2", "ENSG00000210082")
108+
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
109+
geneList <- rbind(geneList, GL, GL1)
110+
gene_list <- geneList[, 3]
110111

112+
for (n in 1:K) {
111113
if (length(cdiff[[n]][, 1]) > 0) {
112114
p.adj <- p.adjust(cdiff[[n]][, 4], method = "bonferroni")
113115
out <- cbind(cdiff[[n]], p.adj)
@@ -122,31 +124,7 @@ setMethod(
122124
}
123125
}
124126
out <- cbind(out, Regulation)
125-
if (quiet) {
126-
suppressMessages(
127-
geneList <-
128-
AnnotationDbi::select(
129-
org.Hs.eg.db,
130-
keys = keys(org.Hs.eg.db),
131-
columns = c("SYMBOL", "ENSEMBL")
132-
)
133-
)
134-
GL <- c(1, "MTRNR2", "ENSG00000210082")
135-
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
136-
geneList <- rbind(geneList, GL, GL1)
137-
} else {
138-
geneList <-
139-
AnnotationDbi::select(
140-
org.Hs.eg.db,
141-
keys = keys(org.Hs.eg.db),
142-
columns = c("SYMBOL", "ENSEMBL")
143-
)
144-
GL <- c(1, "MTRNR2", "ENSG00000210082")
145-
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
146-
geneList <- rbind(geneList, GL, GL1)
147-
}
148127
genes <- rownames(out)
149-
gene_list <- geneList[, 3]
150128
idx_genes <- is.element(gene_list, genes)
151129
genes2 <- geneList[idx_genes, ]
152130
Final <- cbind(genes, out)
@@ -233,6 +211,7 @@ setMethod(
233211
}
234212
}
235213
}
214+
236215
if (length(DEGsTable) > 0) {
237216
colnames(DEGsTable) <- c(
238217
"Target Cluster", "VS", "Gene number", "File name",

R/DIscBIO-generic-DEGanalysis.R

Lines changed: 9 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -289,29 +289,11 @@ setMethod(
289289

290290
if (length(FDRl) > 0) {
291291
genes <- siggenes.table$genes.lo[, 3]
292-
if (quiet) {
293-
suppressMessages(
294-
geneList <-
295-
AnnotationDbi::select(
296-
org.Hs.eg.db,
297-
keys = keys(org.Hs.eg.db),
298-
columns = c("SYMBOL", "ENSEMBL")
299-
)
300-
)
301-
GL <- c(1, "MTRNR2", "ENSG00000210082")
302-
geneList <- rbind(geneList, GL)
303-
} else {
304-
geneList <-
305-
AnnotationDbi::select(
306-
org.Hs.eg.db,
307-
keys = keys(org.Hs.eg.db),
308-
columns = c("SYMBOL", "ENSEMBL")
309-
)
310-
GL <- c(1, "MTRNR2", "ENSG00000210082")
311-
geneList <- rbind(geneList, GL)
312-
}
313-
FinalDEGsL <- cbind(genes, siggenes.table$genes.lo)
292+
geneList <- retrieve_geneList()
293+
GL <- c(1, "MTRNR2", "ENSG00000210082")
294+
geneList <- rbind(geneList, GL)
314295
gene_list <- geneList[, 3]
296+
FinalDEGsL <- cbind(genes, siggenes.table$genes.lo)
315297
idx_genes <- is.element(gene_list, genes)
316298
genes2 <- geneList[idx_genes, ]
317299
FinalDEGsL <- merge(
@@ -353,31 +335,12 @@ setMethod(
353335
}
354336
if (length(FDRu) > 0) {
355337
genes <- siggenes.table$genes.up[, 3]
356-
if (quiet) {
357-
suppressMessages(
358-
geneList <-
359-
AnnotationDbi::select(
360-
org.Hs.eg.db,
361-
keys = keys(org.Hs.eg.db),
362-
columns = c("SYMBOL", "ENSEMBL")
363-
)
364-
)
365-
GL <- c(1, "MTRNR2", "ENSG00000210082")
366-
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
367-
geneList <- rbind(geneList, GL, GL1)
368-
} else {
369-
geneList <-
370-
AnnotationDbi::select(
371-
org.Hs.eg.db,
372-
keys = keys(org.Hs.eg.db),
373-
columns = c("SYMBOL", "ENSEMBL")
374-
)
375-
GL <- c(1, "MTRNR2", "ENSG00000210082")
376-
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
377-
geneList <- rbind(geneList, GL, GL1)
378-
}
379-
FinalDEGsU <- cbind(genes, siggenes.table$genes.up)
338+
geneList <- retrieve_geneList()
339+
GL <- c(1, "MTRNR2", "ENSG00000210082")
340+
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
341+
geneList <- rbind(geneList, GL, GL1)
380342
gene_list <- geneList[, 3]
343+
FinalDEGsU <- cbind(genes, siggenes.table$genes.up)
381344
idx_genes <- is.element(gene_list, genes)
382345
genes2 <- geneList[idx_genes, ]
383346
FinalDEGsU <- merge(

R/DIscBIO-generic-DEGanalysis2clust.R

Lines changed: 8 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -170,27 +170,10 @@ setMethod(
170170
FinalDEGsL <- data.frame()
171171
if (length(FDRl) > 0) {
172172
genes <- siggenes.table$genes.lo[, 3]
173-
if (quiet) {
174-
suppressMessages(
175-
geneList <- AnnotationDbi::select(
176-
org.Hs.eg.db,
177-
keys = keys(org.Hs.eg.db),
178-
columns = c("SYMBOL", "ENSEMBL")
179-
)
180-
)
181-
GL <- c(1, "MTRNR2", "ENSG00000210082")
182-
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
183-
geneList <- rbind(geneList, GL, GL1)
184-
} else {
185-
geneList <- AnnotationDbi::select(
186-
org.Hs.eg.db,
187-
keys = keys(org.Hs.eg.db),
188-
columns = c("SYMBOL", "ENSEMBL")
189-
)
190-
GL <- c(1, "MTRNR2", "ENSG00000210082")
191-
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
192-
geneList <- rbind(geneList, GL, GL1)
193-
}
173+
geneList <- retrieve_geneList()
174+
GL <- c(1, "MTRNR2", "ENSG00000210082")
175+
GL1 <- c(1, "MTRNR1", "ENSG00000211459")
176+
geneList <- rbind(geneList, GL, GL1)
194177
FinalDEGsL <- cbind(genes, siggenes.table$genes.lo)
195178
gene_list <- geneList[, 3]
196179
idx_genes <- is.element(gene_list, genes)
@@ -236,27 +219,11 @@ setMethod(
236219
FinalDEGsU <- data.frame()
237220
if (length(FDRu) > 0) {
238221
genes <- siggenes.table$genes.up[, 3]
239-
if (quiet) {
240-
suppressMessages(
241-
geneList <- AnnotationDbi::select(
242-
org.Hs.eg.db,
243-
keys = keys(org.Hs.eg.db),
244-
columns = c("SYMBOL", "ENSEMBL")
245-
)
246-
)
247-
GL <- c(1, "MTRNR2", "ENSG00000210082")
248-
geneList <- rbind(geneList, GL)
249-
} else {
250-
geneList <- AnnotationDbi::select(
251-
org.Hs.eg.db,
252-
keys = keys(org.Hs.eg.db),
253-
columns = c("SYMBOL", "ENSEMBL")
254-
)
255-
GL <- c(1, "MTRNR2", "ENSG00000210082")
256-
geneList <- rbind(geneList, GL)
257-
}
258-
FinalDEGsU <- cbind(genes, siggenes.table$genes.up)
222+
geneList <- retrieve_geneList()
223+
GL <- c(1, "MTRNR2", "ENSG00000210082")
224+
geneList <- rbind(geneList, GL)
259225
gene_list <- geneList[, 3]
226+
FinalDEGsU <- cbind(genes, siggenes.table$genes.up)
260227
idx_genes <- is.element(gene_list, genes)
261228
genes2 <- geneList[idx_genes, ]
262229
if (!is.null(FinalDEGsU)) {

R/DIscBIO-generic-Exprmclust.R

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#' @param quiet if `TRUE`, suppresses intermediary output
1414
#' @importFrom mclust Mclust mclustBIC
1515
#' @importFrom stats dist prcomp lm
16-
#' @importFrom igraph graph.adjacency minimum.spanning.tree
16+
#' @importFrom igraph graph_from_adjacency_matrix mst
1717
#' @return If `object` is of class DISCBIO, the output is the same object with
1818
#' the MBclusters slot filled. If the `object` is a data frame, the function
1919
#' returns a named list containing the four objects that together correspond
@@ -62,8 +62,8 @@ setMethod(
6262
)
6363
}
6464
dp <- as.matrix(dist(clucenter))
65-
gp <- graph.adjacency(dp, mode = "undirected", weighted = TRUE)
66-
dp_mst <- minimum.spanning.tree(gp)
65+
gp <- graph_from_adjacency_matrix(dp, mode = "undirected", weighted = TRUE)
66+
dp_mst <- mst(gp)
6767
full_List <- list(
6868
pcareduceres = pcareduceres,
6969
MSTtree = dp_mst,
@@ -113,8 +113,8 @@ setMethod(
113113
}
114114
dp <- as.matrix(dist(clucenter))
115115
gp <-
116-
graph.adjacency(dp, mode = "undirected", weighted = TRUE)
117-
dp_mst <- minimum.spanning.tree(gp)
116+
graph_from_adjacency_matrix(dp, mode = "undirected", weighted = TRUE)
117+
dp_mst <- mst(gp)
118118
object <- list(
119119
pcareduceres = pcareduceres,
120120
MSTtree = dp_mst,

R/datasets.R

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,10 @@ NULL
2121
#' @name HumanMouseGeneIds
2222
#' @docType data
2323
NULL
24+
25+
#' org.Hs.eg.db annotation package data
26+
#'
27+
#' Verbatim output from org.Hs.eg.db::org.Hs.eg.db
28+
#' @name geneList
29+
#' @docType data
30+
NULL

R/internal-functions.R

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -418,3 +418,27 @@ retrieveURL <- function(
418418
return(repos)
419419
}
420420
}
421+
422+
#' @importFrom utils data
423+
#' @importFrom AnnotationDbi keys select
424+
retrieve_geneList <- function() {
425+
# Use data from org.Hs.eg.db if the package is present.
426+
# Otherwise, use internal data (potentially outdated).
427+
tryCatch(
428+
expr = {
429+
db <- org.Hs.eg.db::org.Hs.eg.db
430+
AnnotationDbi::select(
431+
x = db,
432+
keys = AnnotationDbi::keys(db),
433+
columns = c("SYMBOL", "ENSEMBL")
434+
)
435+
},
436+
error = function(e) {
437+
message(
438+
"Package 'org.Hs.eg.db' not found. Using internal gene list data. ",
439+
"Consider installing 'org.Hs.eg.db' for the most up-to-date annotations."
440+
)
441+
utils::data("geneList", package = "DIscBIO")
442+
}
443+
)
444+
}

R/retrieve_geneList.R

Whitespace-only changes.

0 commit comments

Comments
 (0)