Robert Buels




 Title   : new
 Usage   : Bio::JBrowse::Store::NCList::LazyNCList->new(
               $attrs, $lazyClass, $makeLazy,
               $measure, $output, $sizeThresh
 Function: create a LazyNCList
 Returns : an LazyNCList object
 Args    : $attrs is a reference to an ArrayRepr instance
           $lazyClass is the class number to be used for 'lazy'
              NCLists, which are references to sub-lists,
           $makeLazy is a reference to a sub taking the arguments
              (start, end, ID), which returns a "lazy feature" with the
              given attributes
           $loadChunk is a subroutine that takes a chunk ID number and returns the contents of that chunk (
           $measure is a reference to a sub that takes a feature to be
              output, and returns the number of bytes that feature will
              take up in the output
           $output is a reference to a sub that, given a chunk ID and some data,
              will output that data under that chunk ID
           $sizeThresh is the target chunk size


 Title   : addSorted
 Usage   : $ncl->addSorted($feat)
 Function: Adds a single feature to the set of features in this LazyNCList;
           features passed to this method are accumulated into "chunks";
           once a chunk grows to sizeThresh, the chunk is output.
           The features given to addSorted must be sorted by the NCList sort.
 Returns : nothing meaningful
 Args    : $feat is the feature to be added;


 Title   : finish
 Usage   : $ncl->finish()
 Function: Once all features have been added (through addSorted),
           call "finish" to flush all of the partial chunks.
           After calling finish, you can access the "topLevelList" property.
 Returns : nothing

overlapCallback( $from, $to, \&func )

Calls the given function once for each of the intervals that overlap the given interval if <$from <= $to>, iterates left-to-right, otherwise iterates right-to-left.


Mitchell Skinner <>

Copyright (c) 2007-2011 The Evolutionary Software Foundation

This package and its accompanying libraries are free software; you can redistribute it and/or modify it under the terms of the LGPL (either version 2.1, or at your option, any later version) or the Artistic License 2.0. Refer to LICENSE for the full license text.


Robert Buels <>


This software is copyright (c) 2013 by Robert Buels.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.