Entering edit mode
Alvaro J. González
▴
80
@alvaro-j-gonzalez-5813
Last seen 10.2 years ago
Thanks a lot, Florian. The 1.4.2 version of Gviz fixes the bug.
Alvaro J. Gonzalez, PhD
Computational Biology
Memorial Sloan-Kettering Cancer Center
New York, NY
#### original message ####
*Hi Alvaro,
thanks for reporting this. I took a look at the code and found the
issue.
As you correctly pointed out this only happens when the range on the
axis
is very close to the borders, and not particularly wide. The problem
is
that for display reasons we need to add a little bit of padding to the
margins of the range by gently clipping the extremes, which is usually
not
a big deal. In your example however the whole range on the axis is in
the
region that is being clipped, hence the error. The fix is simple,
however
you will not see this very small range at the extremes displayed
anymore.
The following example should make this a bit clearer:
plotTracks(list(GenomeAxisTrack(range = IRanges(start = 1, end =
100)),
AnnotationTrack(start=1, end=200, chr=1)), from =1, to = 50000,
grid=T,
v=50, col.grid="lightgray")
You may notice that the axis only starts somewhere close to the end of
the
item in the AnnotationTrack. Alas, we can't draw any ranges in it.
A fix will be available soon in both the devel and the release version
once it has passed the build system (1.4.2 or 1.5.3)
Cheers,
Florian
On 5/8/13 6:01 PM, "Alvaro J. Gonzalez" <alvaro.gonzalez4 at="" gmail.com="" <https:="" stat.ethz.ch="" mailman="" listinfo="" bioconductor="">> wrote:
>Dear Gviz users/developers,
>
>The package is throwing an error when I try to highlight certain
regions
>in
>the axis. The error is easily replicable:
>
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 25000, end =
25100)),
>from = 1, to = 50000)
>
>No problem with that. You get your genome axis from 1 to 50,000, and
a
>highlighted small region around the middle.
>
>The error is thrown when the highlighted small region is close to the
>borders:
>
>Towards the left border:
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 1, end = 100)),
from
>>=
>1, to = 50000)
>Error in validObject(x) :
> invalid class ³IRanges² object: 'widths(x)' cannot contain negative
>values
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 101, end =
200)),
>>from
>= 1, to = 50000)
>Error in validObject(x) :
> invalid class ³IRanges² object: 'widths(x)' cannot contain negative
>values
>
>Towards the right border:
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 49901, end =
50000)),
>from = 1, to = 50000)
>Error in validObject(x) :
> invalid class ³IRanges² object: 'widths(x)' cannot contain negative
>values
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 49801, end =
49900)),
>from = 1, to = 50000)
>Error in validObject(x) :
> invalid class ³IRanges² object: 'widths(x)' cannot contain negative
>values
>
>However, there's a moment when the highlighted region gets away
enough
>from
>the border that the error is avoided:
>
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 501, end =
600)),
>>from
>= 1, to = 50000)
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 49401, end =
49500)),
>from = 1, to = 50000)
>
>Those two run like a breeze.
>
>Interestingly, one can also avoid the error by making the highlighted
>range
>wider:
>
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 1, end = 1000)),
from
>= 1, to = 50000)
>> plotTracks(GenomeAxisTrack(range = IRanges(start = 49001, end =
50000)),
>from = 1, to = 50000)
>
>Not a problem with those.
>
>Ideas?*
[[alternative HTML version deleted]]