Oh, that's pretty cool :-)
I knew I was overlooking something!
Thanks Lori

Aditya
________________________________
From: Shepherd, Lori [lori.sheph...@roswellpark.org]
Sent: Wednesday, September 11, 2019 2:54 PM
To: Bhagwat, Aditya; bioc-devel@r-project.org
Subject: Re: Collapsing a GRangesList into a GRanges without loosing 
names(GRangesList)

In what way are you feeling they loose names?

> grlist <- GenomicRanges::GRangesList( gr1 = GenomicRanges::GRanges('chr1', 
> '1-100',   strand = '-'), gr2 = GenomicRanges::GRanges('chr1', '101-200', 
> strand = '-'))

> names(grlist)
[1] "gr1" "gr2"

> temp = unlist(grlist)
> names(temp)
[1] "gr1" "gr2"

> temp
GRanges object with 2 ranges and 0 metadata columns:
      seqnames    ranges strand
         <Rle> <IRanges>  <Rle>
  gr1     chr1     1-100      -
  gr2     chr1   101-200      -
  -------
  seqinfo: 1 sequence from an unspecified genome; no seqlengths

> temp["gr1"]
GRanges object with 1 range and 0 metadata columns:
      seqnames    ranges strand
         <Rle> <IRanges>  <Rle>
  gr1     chr1     1-100      -
  -------
  seqinfo: 1 sequence from an unspecified genome; no seqlengths



The names "gr1" and "gr2"  were preserved. You can see them as the first entry 
in my temp object.



Lori Shepherd

Bioconductor Core Team

Roswell Park Cancer Institute

Department of Biostatistics & Bioinformatics

Elm & Carlton Streets

Buffalo, New York 14263

________________________________
From: Bioc-devel <bioc-devel-boun...@r-project.org> on behalf of Bhagwat, 
Aditya <aditya.bhag...@mpi-bn.mpg.de>
Sent: Wednesday, September 11, 2019 8:47 AM
To: bioc-devel@r-project.org <bioc-devel@r-project.org>
Subject: [Bioc-devel] Collapsing a GRangesList into a GRanges without loosing 
names(GRangesList)

Dear bioc-devel,

When using unlist to collapse a GRangesList into a 
GRanges<https://support.bioconductor.org/p/83599>  one looses 
names(GRangesList).
Since I need a name-preserving collapser, I defined the following in 
multicrispr<https://gitlab.gwdg.de/loosolab/software/multicrispr>.
My feedback request is: did I overlook existing similar functionality?

#' Collapse a GRangesList
#' @param grangeslist GenomicRanges::GRangesList
#' @examples
#' # Consider a GRangesList
#'     grlist <- GenomicRanges::GRangesList(
#'         gr1 = GenomicRanges::GRanges('chr1', '1-100',   strand = '-'),
#'         gr2 = GenomicRanges::GRanges('chr1', '101-200', strand = '-'))
#'
#' # unlist() drops names(grlist)
#'     unlist(grlist)
#'
#' # collapse() preserves them
#'     collapse(grlist)
#'
#' # in a way similar to as.data.frame()
#'     as.data.frame(grlist)
#' @export
collapse <- function(grangeslist){
    add_series <- function(granges, group_name){
                    granges$group_name <- group_name;
                    granges }
    S4Vectors::mendoapply(add_series, grangeslist, names(grangeslist)) %>%
    unlist() %>%
    sort()
}


Aditya

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

This email message may contain legally privileged and/or confidential 
information. If you are not the intended recipient(s), or the employee or agent 
responsible for the delivery of this message to the intended recipient(s), you 
are hereby notified that any disclosure, copying, distribution, or use of this 
email message is prohibited. If you have received this message in error, please 
notify the sender immediately by e-mail and delete this email message from your 
computer. Thank you.

        [[alternative HTML version deleted]]

_______________________________________________
Bioc-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/bioc-devel

Reply via email to