[BioC] Re(surrecting): [Bioc-sig-seq] Rsamtools countBam labeling

Martin Morgan mtmorgan at fhcrc.org
Thu Mar 31 18:40:30 CEST 2011


On 03/31/2011 08:32 AM, Cook, Malcolm wrote:
> Matt et. al.,
>
> I wonder if a satisfactory resolution to the issue of "the order
> changes between the GRanges object and the countBam data.frame
>
> http://www.mail-archive.com/bioc-sig-sequencing@r-project.org/msg01144.html
>
>  I am presented with the same issue and poised to tackle it but wondr
> if a generic solution emerged from you inquiries&  efforts.

Hi Malcolm --

For a reproducible example,

   library(Rsamtools)
   example(countBam)
   which1 <- as(which, "GRanges")
   ## which2 might be where your data actually starts
   which2 <- which1[c(2,1,3)]
   values(which2)[["OriginalOrder"]] <- 1:3
   param <- ScanBamParam(which=which2)
   cnt <- countBam(fl, param=param)

What happens is that ScanBamParam converts its argument to an 
IRangesList, using split(ranges(which2), seqnames(which2)). So do the 
same for the values and unlist

   cntVals <- unlist(split(values(which2), seqnames(which2)))

then cbind coerced values

   cbind(cnt, as.data.frame(cntVals))

with

 > which2
GRanges with 3 ranges and 1 elementMetadata value
     seqnames       ranges strand | OriginalOrder
        <Rle>    <IRanges>  <Rle> |     <integer>
[1]     seq2 [ 100, 1000]      * |             1
[2]     seq1 [1000, 2000]      * |             2
[3]     seq2 [1000, 2000]      * |             3

seqlengths
  seq1 seq2
    NA   NA
 > cbind(cnt, as.data.frame(cntVals))
   space start  end width    file records nucleotides OriginalOrder
1  seq1  1000 2000  1001 ex1.bam     612       21549             2
2  seq2   100 1000   901 ex1.bam    1169       41235             1
3  seq2  1000 2000  1001 ex1.bam     642       22640             3

Martin

>
> Thanks,
>
> Malcolm Cook Stowers Institute for Medical Research -
> Bioinformatics Kansas City, Missouri  USA
>
>
> _______________________________________________ Bioconductor mailing
> list Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor Search the
> archives:
> http://news.gmane.org/gmane.science.biology.informatics.conductor


-- 
Computational Biology
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N. PO Box 19024 Seattle, WA 98109

Location: M1-B861
Telephone: 206 667-2793



More information about the Bioconductor mailing list