Skip to content

Commit 9583c5f

Browse files
committed
[chore] Condition the use of shared memory to the check of SharedObject package being installed
1 parent 6be37cc commit 9583c5f

3 files changed

Lines changed: 23 additions & 21 deletions

File tree

R/stability-1-dim-reduction.R

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -273,14 +273,14 @@ assess_feature_stability <- function(data_matrix,
273273

274274
if (graph_reduction_type == "PCA") {
275275
needed_vars <- c(needed_vars, "shared_neigh_matrix")
276-
if (ncores > 1) {
276+
if (ncores > 1 && is_package_installed("SharedObject")) {
277277
shared_neigh_matrix <- SharedObject::share(neigh_matrix)
278278
} else {
279279
shared_neigh_matrix <- neigh_matrix
280280
}
281281
} else {
282282
needed_vars <- c(needed_vars, "shared_embedding")
283-
if (ncores > 1) {
283+
if (ncores > 1 && is_package_installed("SharedObject")) {
284284
shared_embedding <- SharedObject::share(embedding)
285285
} else {
286286
shared_embedding <- embedding
@@ -395,10 +395,12 @@ assess_feature_stability <- function(data_matrix,
395395
cluster_results
396396
}
397397

398-
if (graph_reduction_type == "PCA") {
399-
shared_neigh_matrix <- SharedObject::unshare(neigh_matrix)
400-
} else {
401-
shared_embedding <- SharedObject::unshare(embedding)
398+
if (is_package_installed("SharedObject")) {
399+
if (graph_reduction_type == "PCA") {
400+
shared_neigh_matrix <- SharedObject::unshare(neigh_matrix)
401+
} else {
402+
shared_embedding <- SharedObject::unshare(embedding)
403+
}
402404
}
403405

404406
set.seed(42) # to match Seurat's default

R/stability-2-graph-construction.R

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ get_nn_conn_comps_umap <- function(embedding,
1717
umap_arguments[["n_neighbors"]] <- min(umap_arguments[["n_neighbors"]], ncells - 1)
1818

1919
nn_conn_comps_list <- list()
20-
if (ncores == 1) {
21-
shared_embedding <- embedding
22-
} else {
20+
if (ncores > 1 && is_package_installed("SharedObject")) {
2321
shared_embedding <- SharedObject::share(embedding)
22+
} else {
23+
shared_embedding <- embedding
2424
}
2525

2626
if (length(n_neigh_sequence) > 1) {
@@ -87,7 +87,7 @@ get_nn_conn_comps_umap <- function(embedding,
8787
n_comps
8888
}
8989

90-
if (ncores > 1) {
90+
if (ncores > 1 && is_package_installed("SharedObject")) {
9191
shared_embedding <- SharedObject::unshare(embedding)
9292
}
9393

@@ -116,10 +116,10 @@ get_nn_conn_comps_pca <- function(embedding,
116116
k = max(n_neigh_sequence)
117117
)$nn.idx
118118

119-
if (ncores == 1) {
120-
shared_nn2_res <- nn2_res
121-
} else {
119+
if (ncores > 1 && is_package_installed("SharedObject")) {
122120
shared_nn2_res <- SharedObject::share(nn2_res)
121+
} else {
122+
shared_nn2_res <- nn2_res
123123
}
124124

125125
if (length(n_neigh_sequence) > 1) {
@@ -151,7 +151,7 @@ get_nn_conn_comps_pca <- function(embedding,
151151
)
152152
}
153153

154-
if (ncores > 1) {
154+
if (ncores > 1 && is_package_installed("SharedObject")) {
155155
shared_nn2_res <- SharedObject::unshare(nn2_res)
156156
}
157157

@@ -568,7 +568,7 @@ assess_nn_stability_pca <- function(embedding,
568568
k = max(n_neigh_sequence)
569569
)$nn.idx
570570

571-
if (ncores > 1) {
571+
if (ncores > 1 && is_package_installed("SharedObject")) {
572572
shared_nn2_res <- SharedObject::share(nn2_res)
573573
} else {
574574
shared_nn2_res <- nn2_res
@@ -610,7 +610,7 @@ assess_nn_stability_pca <- function(embedding,
610610

611611
names(neigh_matrices) <- as.character(n_neigh_sequence)
612612

613-
if (ncores > 1) {
613+
if (ncores > 1 && is_package_installed("SharedObject")) {
614614
shared_nn2_res <- SharedObject::unshare(nn2_res)
615615
rm(shared_nn2_res)
616616
}
@@ -625,7 +625,7 @@ assess_nn_stability_pca <- function(embedding,
625625
for (n_neigh in as.character(n_neigh_sequence)) {
626626
partitions_list[[paste("PCA", "snn", sep = "_")]][[n_neigh]] <- list()
627627

628-
if (ncores > 1) {
628+
if (ncores > 1 && is_package_installed("SharedObject")) {
629629
shared_neigh_matrix <- SharedObject::share(neigh_matrices[[n_neigh]])
630630
} else {
631631
shared_neigh_matrix <- neigh_matrices[[n_neigh]]
@@ -773,7 +773,7 @@ assess_nn_stability_umap <- function(embedding,
773773
ncells <- nrow(embedding)
774774
umap_arguments <- process_umap_arguments(umap_arguments, ncells)
775775

776-
if (ncores > 1) {
776+
if (ncores > 1 && is_package_installed("SharedObject")) {
777777
shared_embedding <- SharedObject::share(embedding)
778778
} else {
779779
shared_embedding <- embedding
@@ -879,7 +879,7 @@ assess_nn_stability_umap <- function(embedding,
879879
return(seed_result)
880880
}
881881

882-
if (ncores > 1) {
882+
if (ncores > 1 && is_package_installed("SharedObject")) {
883883
shared_embedding <- SharedObject::unshare(embedding)
884884
}
885885

R/stability-3-graph-clustering.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ assess_clustering_stability <- function(graph_adjacency_matrix,
184184
# additional arguments used by the clustering method
185185

186186
# if (min(algorithm) < 4) {
187-
if (ncores > 1) {
187+
if (ncores > 1 && is_package_installed("SharedObject")) {
188188
graph_adjacency_matrix_shared <- SharedObject::share(graph_adjacency_matrix)
189189
} else {
190190
graph_adjacency_matrix_shared <- graph_adjacency_matrix
@@ -337,7 +337,7 @@ assess_clustering_stability <- function(graph_adjacency_matrix,
337337

338338
on.exit(
339339
{
340-
if (ncores > 1) {
340+
if (ncores > 1 && is_package_installed("SharedObject")) {
341341
graph_adjacency_matrix_shared <- SharedObject::unshare(graph_adjacency_matrix)
342342
rm(graph_adjacency_matrix_shared)
343343
}

0 commit comments

Comments
 (0)