From: Mitch S. <mit...@be...> - 2009-11-20 16:57:25
|
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 |