Files
openpipeline_spatial/src/convert/from_cosmx_to_spatialexperiment/script.R
CI c6296af264 Build branch openpipeline_spatial/h5mu-to-seurat with version h5mu-to-seurat to openpipeline_spatial on branch h5mu-to-seurat (3b5314b)
Build pipeline: test-vsh-ci-build-template-qlrkg

Source commit: 3b5314b60d

Source message: update changelog
2025-10-20 09:17:46 +00:00

63 lines
1.5 KiB
R

library(SpatialExperimentIO)
### VIASH START
par <- list(
input = "resources_test/cosmx/test2.zip",
add_tx_path = TRUE,
add_polygon_path = FALSE,
add_fov_positions = TRUE,
alternative_experiment_features = c(
"NegPrb", "Negative", "SystemControl", "FalseCode"
),
output = "spe_cosmx_test.rds"
)
meta <- list(
resources_dir = "src/utils/"
)
### VIASH END
source(paste0(meta$resources_dir, "/unzip_archived_folder.R"))
cat("Reading input data...")
if (tools::file_ext(par$input) == "zip") {
expected_file_patterns <- c(
"*.csv",
"*.parquet"
)
tmp_dir <- extract_selected_files(
par$input,
members = expected_file_patterns
)
cosmx_output_bundle <- file.path(
tmp_dir,
tools::file_path_sans_ext(basename(par$input))
)
} else {
cosmx_output_bundle <- par$input
}
cat("Setting parameters...")
if (par$add_polygon_path == FALSE && par$add_tx_path == FALSE) {
add_parquet_paths <- FALSE
} else {
add_parquet_paths <- TRUE
}
cat("Converting to SpatialExperiment...")
spe <- readCosmxSXE(
dirName = cosmx_output_bundle,
returnType = "SPE",
countMatPattern = "exprMat_file.csv",
metaDataPattern = "metadata_file.csv",
coordNames = c("CenterX_global_px", "CenterY_global_px"),
addFovPos = par$add_fov_positions,
fovPosPattern = "fov_positions_file.csv",
addParquetPaths = add_parquet_paths,
addPolygon = par$add_polygon_path,
addTx = par$add_tx_path,
altExps = par$alternative_experiment_features
)
cat("Saving output...")
saveRDS(spe, file = par$output)