Skip to content

Commit 5234de3

Browse files
committed
fix: update to fetch USCS cytoband info, closes #19
1 parent 3984adf commit 5234de3

File tree

3 files changed

+8
-23
lines changed

3 files changed

+8
-23
lines changed

NAMESPACE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ importFrom(Biostrings,readAAStringSet)
5555
importFrom(Biostrings,readDNAStringSet)
5656
importFrom(Biostrings,translate)
5757
importFrom(GenomeInfoDb,"seqlengths<-")
58+
importFrom(GenomeInfoDb,genome)
5859
importFrom(GenomeInfoDb,seqlengths)
5960
importFrom(GenomeInfoDb,seqnames)
6061
importFrom(GenomicAlignments,alphabetFrequencyFromBam)

R/geom_ideogram.R

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
#' @importFrom utils menu
3232
#' @importFrom rtracklayer ucscGenomes ucscTableQuery tableName getTable
3333
#' GRangesForUCSCGenome browserSession
34-
#' @importFrom GenomeInfoDb seqlengths seqlengths<- seqnames
34+
#' @importFrom GenomeInfoDb seqlengths genome seqlengths<- seqnames
3535
#' @export
3636
#'
3737
#' @examples
@@ -95,22 +95,6 @@ geom_ideogram <- function(genome = "hg19", mark.color = "red", mark.alpha = 0.7,
9595

9696
#' @export
9797
ggplot_add.ideogram <- function(object, plot, object_name) {
98-
# if (length(plot$layers) == 0) {
99-
# # geom_base
100-
# # get plot data
101-
# plot.data <- plot[[1]]$layers[[1]]$data
102-
# # prepare plot range
103-
# plot.chr <- as.character(plot.data[1, "seqnames"])
104-
# plot.region.start <- plot.data[1, "start"]
105-
# plot.region.end <- plot.data[nrow(plot.data), "end"]
106-
# } else {
107-
# # get plot data
108-
# plot.data <- plot$layers[[1]]$data
109-
# # prepare plot range
110-
# plot.chr <- as.character(plot.data[1, "seqnames"])
111-
# plot.region.start <- plot$coordinates$limits$x[1]
112-
# plot.region.end <- plot$coordinates$limits$x[2]
113-
# }
11498
# get plot data, plot data should contain bins
11599
if ("patchwork" %in% class(plot)) {
116100
plot.data <- plot[[1]]$layers[[1]]$data
@@ -146,7 +130,7 @@ ggplot_add.ideogram <- function(object, plot, object_name) {
146130
plot.height <- object$plot.height
147131

148132
# get genome and chr ideogram
149-
genome.info <- suppressWarnings(getIdeogram(genome = genome, subchr = plot.chr, cytobands = TRUE))
133+
genome.info <- suppressWarnings(getIdeogram(genomes = genome, subchr = plot.chr, cytobands = TRUE))
150134
genome.info.df <- genome.info %>% as.data.frame()
151135
# get genome length
152136
genome.length <- genome.info.df[nrow(genome.info.df), "end"]

R/utils.R

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -242,9 +242,8 @@ SplitTxExonUTR <- function(exon.df, utr.df) {
242242
# From: https://github.com/jorainer/biovizBase/blob/master/R/ideogram.R
243243
# Fix bug: the names on the supplied 'seqlengths' vector must be
244244
# identical to the seqnames
245-
getIdeogram <- function(genome, subchr = NULL, cytobands = TRUE) {
246-
.gnm <- genome
247-
lst <- lapply(.gnm, function(genome) {
245+
getIdeogram <- function(genomes, subchr = NULL, cytobands = TRUE) {
246+
lst <- lapply(genomes, function(genome) {
248247
if (!(exists("session") && extends(class(session), "BrowserSession"))) {
249248
session <- rtracklayer::browserSession()
250249
}
@@ -255,8 +254,9 @@ getIdeogram <- function(genome, subchr = NULL, cytobands = TRUE) {
255254
}
256255
if (cytobands) {
257256
message("Loading ideogram...")
257+
GenomeInfoDb::genome(session) <- genome
258258
tryres <- try(query <-
259-
rtracklayer::ucscTableQuery(session, "cytoBand", genome))
259+
rtracklayer::ucscTableQuery(session, table = "cytoBand", genome = genome))
260260
if (!inherits(tryres, "try-error")) {
261261
rtracklayer::tableName(query) <- "cytoBand"
262262
df <- rtracklayer::getTable(query)
@@ -292,7 +292,7 @@ getIdeogram <- function(genome, subchr = NULL, cytobands = TRUE) {
292292
gr <- sort(gr)
293293
gr
294294
})
295-
names(lst) <- .gnm
295+
names(lst) <- genomes
296296
if (length(lst) == 1) {
297297
res <- lst[[1]]
298298
} else {

0 commit comments

Comments
 (0)