On 11/20/2009 03:48 AM, Martin A. Hansen wrote:
> I was reading about lazy loading:
> http://biowiki.org/view/JBrowse/LazyFeatureLoading
>
> How to handle long features that would result in uneven large chunks
> and possible overloading?
>
> 1. One could disallow long features.
> 2. or break them into smaller features with a hidden "link" between
> them?
>
>
If there's a large real feature, the generated fake features can be
within it. For example, suppose you have the following four real features:
A: [10, 100)
B: [20, 30)
C: [40, 50)
D: [50, 60)
And suppose you want to split this set of features into chunks that each
contain two features. JBrowse will generate two fake features:
F1: [10, 101)
F2: [40,61)
And the NCList tree will look something like:
F1: (A B *F2)
F2: (C D)
Where *F2 is a URL pointing to the F2 chunk.
I hope that makes sense, maybe I'll add another diagram to that wiki
page to try and make it clearer.
The one failure case that I know about (with the current code) is when
there are lots of features with the exact same boundaries. I think that
could be addressed by making the NCList.pm code aware of the fake
features (currently, NCList.pm doesn't know anything about the fake
features; those are all created and handled by the code that calls
NCList.pm).
Mitch
|