Skip to content

Commit 05c2610

Browse files
authored
Merge pull request #1620 from bigomics/mo-samples-from-pgx
feat: retain common samples on pgx multiomics upload
2 parents e3326d4 + 11926cc commit 05c2610

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

components/board.upload/R/upload_module_preview_counts.R

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,7 @@ upload_table_preview_counts_server <- function(id,
385385
}
386386

387387
# Load data once and cache both data frames and column names
388+
samples_cache <- list()
388389
data_cache <- list()
389390
col_lists <- list()
390391
file_names <- character()
@@ -403,6 +404,7 @@ upload_table_preview_counts_server <- function(id,
403404
} else {
404405
df <- pgx_data$counts
405406
}
407+
samples_cache[[i]] <- pgx_data$samples
406408
data_cache[[i]] <- df
407409
col_lists[[i]] <- colnames(df)
408410
file_names[i] <- dataset
@@ -481,6 +483,16 @@ upload_table_preview_counts_server <- function(id,
481483
df <- df[, common_cols, drop = FALSE]
482484
combined_df <- rbind(combined_df, df)
483485
}
486+
487+
# Combine samples_cache by intersecting rownames (only for pgx multi-omics upload)
488+
if (length(samples_cache) > 0) {
489+
# Find common rownames in all sample files (no prefixing!)
490+
rownames_list <- lapply(samples_cache, rownames)
491+
common_rows <- Reduce(intersect, rownames_list)
492+
combined_samples <- samples_cache[[1]][common_rows, , drop = FALSE]
493+
uploaded$samples.csv <- combined_samples
494+
}
495+
484496
uploaded$counts.csv <- combined_df
485497
})
486498

0 commit comments

Comments
 (0)