Mercurial > repos > gaelcge > r_signac_galaxy
diff signac-add_gene_annotations.R @ 0:6e0b320d8b6a draft default tip
"planemo upload commit dc808171975d0012e25bd7b32adc7a5a5c56a145-dirty"
author | gaelcge |
---|---|
date | Tue, 02 Aug 2022 19:11:27 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/signac-add_gene_annotations.R Tue Aug 02 19:11:27 2022 +0000 @@ -0,0 +1,70 @@ +#!/usr/bin/env Rscript + +# Load optparse we need to check inputs + +suppressPackageStartupMessages(require(optparse)) + +# Load common functions + +suppressPackageStartupMessages(require(workflowscriptscommon)) + +# parse options + +option_list = list( + make_option( + c("--signac-object"), + action = "store", + default = NA, + type = 'character', + help = "Filtered peak BC matrix file in h5 format." + ), + make_option( + c("--ens-db-genome"), + action = "store", + default = NA, + type = 'character', + help = "Metadata file." + ), + make_option( + c("--annotations"), + action = "store", + default = NA, + type = 'character', + help = "Genome version." + ), + make_option( + c("--output-object-file"), + action = "store", + default = NA, + type = 'character', + help = "File name in which to store serialized R matrix object." + ) +) + +opt <- wsc_parse_args(option_list) + +suppressPackageStartupMessages(require(Seurat)) +suppressPackageStartupMessages(require(Signac)) +suppressPackageStartupMessages(require(GenomeInfoDb)) +suppressPackageStartupMessages(require(EnsDb.Hsapiens.v75)) +suppressPackageStartupMessages(require(EnsDb.Mmusculus.v79)) + +set.seed(1234) + +# extract gene annotations from EnsDb +signac_object <- readRDS(file = opt$signac_object) + +annotations <- GetGRangesFromEnsDb(ensdb = EnsDb.Hsapiens.v75) +print(annotations) + +# change to UCSC style since the data was mapped to hg19 +seqlevelsStyle(annotations) <- "UCSC" +genome(annotations) <- opt$annotations + +# add the gene information to the object +Annotation(signac_object) <- annotations + +print(signac_object) + +# Output to a serialized R object +saveRDS(signac_object, file = opt$output_object_file)