[Bioc-devel] coverage(gr, weight='score') does not work when score(gr) is an Rle

Hervé Pagès hpages at fredhutch.org
Tue Apr 21 00:09:23 CEST 2015


Hi,

On 04/17/2015 09:42 AM, Hervé Pagès wrote:
> Hi,
>
> I think we should just expand the Rle internally. That will produce
> a numeric vector of the length of the GRanges i.e. it will be the
> same size as the start and end components of the GRanges object itself.
> No big deal at all.
>
> I'll make that change.

Done in GenomicRanges 1.20.2 (release) and 1.21.1 (devel).

Cheers,
H.

>
> H.
>
> On 04/17/2015 09:00 AM, Michael Lawrence wrote:
>> Ideally it should be supported, but it would take some work as the
>> coverage
>> stuff is all in C. Could you give more details on your use case? For
>> example, if you already have a range for every position on the
>> chromosome,
>> you could just extract the score column. I'm guessing it's more
>> complicated
>> than that. If the zeros are the problem, you could just subset the
>> GRanges
>> to remove the ranges with zero score, and then coerce the score to
>> numeric
>> before calling coverage.
>>
>> Michael
>>
>> 2015-04-17 8:00 GMT-07:00 Philip Lijnzaad <p.lijnzaad at umcutrecht.nl>:
>>
>>> Dear all,  I'm puzzled by the following behaviour:
>>>
>>> Given
>>>
>>>      n <- 10
>>>      gr <- GRanges(seqnames=Rle('A', n),
>>>                    ranges=IRanges(1:n, width=1),
>>>                    score=Rle(5,n))
>>> If I do
>>>
>>>      coverage(gr,weight='score')
>>>
>>> I get
>>>
>>>      Error in .normarg_shift_or_weight(weight, "weight", x) :
>>>        'weight' must be a numeric vector, a single string, or a
>>> list-like
>>> object
>>>
>>> Surely 'score' should be allowed to be an Rle? Especially given the
>>> fact that the return value of coverage(x,weight="score") when score is
>>> plain numeric vector is always an Rle ! Is this the expected behaviour?
>>> If so, I would argue that violates the principle of least suprise :-)
>>>
>>> The background to this is that I do numerical analysis on derived
>>> numerical data along my chromosomes. It contains many
>>> contiguous zeroes so it would be wasteful to cast
>>> everything down using as.numeric().
>>>
>>> This is R version 3.01 on x86_64 Linux, Bioconductor version 2.13,
>>>
>>>> package.version("IRanges")
>>> [1] "1.20.7"
>>>> package.version("GenomicRanges")
>>> [1] "1.14.4"
>>>
>>> Regards,
>>>
>>>
>>> Philip
>>>
>>>
>>> --
>>> Philip Lijnzaad, PhD
>>> Molecular Cancer Research
>>> University Medical Center (UMC), Utrecht
>>> Stratenum room 2.211
>>> IM: plijnzaad at jabber.org , philip.lijnzaad at gmail.com
>>> P.O. Box 85060, 3508 AB Utrecht
>>> (Universiteitsweg 100, 3584 CG Utrecht)
>>> The Netherlands
>>> tel: +31 (0)8875 68464
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>>
>>> De informatie opgenomen in dit bericht kan vertrouwelijk zijn en is
>>> uitsluitend bestemd voor de geadresseerde. Indien u dit bericht
>>> onterecht
>>> ontvangt, wordt u verzocht de inhoud niet te gebruiken en de afzender
>>> direct
>>> te informeren door het bericht te retourneren. Het Universitair Medisch
>>> Centrum Utrecht is een publiekrechtelijke rechtspersoon in de zin van de
>>> W.H.W.
>>> (Wet Hoger Onderwijs en Wetenschappelijk Onderzoek) en staat
>>> geregistreerd
>>> bij
>>> de Kamer van Koophandel voor Midden-Nederland onder nr. 30244197.
>>>
>>> Denk s.v.p aan het milieu voor u deze e-mail afdrukt.
>>>
>>>
>>> ------------------------------------------------------------------------------
>>>
>>>
>>> This message may contain confidential information and ...{{dropped:10}}
>>
>> _______________________________________________
>> Bioc-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>>
>

-- 
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpages at fredhutch.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the Bioc-devel mailing list