Bio::Graphics::Wiggle::Loader(3pm)

SYNOPSIS
  my $loader = Bio::Graphics::Wiggle::Loader->new('/base/directory/for/wigfiles','wibfilename');
  my $fh = IO::File->new('uploaded_file.txt');
  $loader->load($fh);

  my $gff3_file   = $loader->featurefile('gff3',$method,$source);
  my $featurefile = $loader->featurefile('featurefile');
  my @features    = $loader->features();

USAGE
This module loads Bio::Graphics::Wiggle files from source files that use Jim Kent's "WIG" format:

http://genome.ucsc.edu/google/goldenPath/help/wiggle.html

Several data sets can be grouped together in a single WIG source file. The load() method accepts the path to a WIG source file, and will create one or more .wib ("wiggle binary") databases of quantitative data in the directory indicated when you created the loader. Call the featurefile() method to return a text file in either GFF3 or Bio::Graphics::FeatureFile format, suitable for loading into a gbrowse database.

  METHODS

$loader = Bio::Graphics::Wiggle::Loader->new('/base/directory' [,'my_data'])
    Create a new loader. The first argument specifies the base directory in which the loaded .wib files will be created. The second argument specifies the base name for the created .wib files, or "track" if not specified.

$loader->load($fh)
    Load the data from a source WIG file opened on a filehandle.

$data = $loader->featurefile($type [,$method,$source])
    Return the data corresponding to a GFF3 or Bio::Graphics::FeatureFile. The returned file will have one feature per WIG track, and a properly formatted "wigfile" attribute that directs Bio::Graphics to the location of the quantitative data.

    $type is one of "gff3" or "featurefile". In the case of "gff3", you may specify an optional method and source for use in describing each feature. In the case of "featurefile", the returned file will contain GBrowse stanzas that describe a reasonable starting format to display the data.

@features = $loader->features
    Returns one or more Bio::Graphics::Features objects, which can be used to create Bio::Graphics tracks with the wiggle_xyplot (and related) glyphs.

$loader->allow_sampling(1)
    If allow_sampling() is passed a true value, then very large files (more than 5 MB) will undergo a sampling procedure to find their minimum and maximum values and standard deviation. Otherwise, file will be read in its entirety to generate those statistics.

  EXTENSIONS
Several extensions to the WIG format "track" declaration are recognized.

transform=<transform>
    Specify a transform to be performed on all numeric data within this track prior to loading into the binary wig file. Currently, the following three declarations are recognized:

     transform=logtransform y' = 0          for  y == 0
                            y' = log(y)     for  y >  0
                            y' = -log(-y)   for  y <  0

     transform=logsquared  y' = log(y**2) for y != 0
                           y' = 0         for y == 0

     transform=none        y' = y   (no transform - the default)

trim=<trim>
    Specify a trimming function to be performed on the data prior to scaling. Currently, the following trim functions are recognized:

     trim=stdev1           trim to plus/minus 1 standard deviation of the mean
     trim=stdev2           trim to plus/minus 2 standard deviations of the mean (default)
     trim=stdevN           trim to plus/minus N standard deviations of the mean
     trim=none             no trimming

Example intended track declaration:

 track type=wiggle_0 name="example" description="20 degrees, 2 hr"  \
       trim=stdev2 transform=logsquared

SEE ALSO
Bio::Graphics::Wiggle, Bio::Graphics::Glyph::wiggle_xyplot, Bio::Graphics::Glyph::wiggle_density, Bio::Graphics::Panel, Bio::Graphics::Glyph, Bio::Graphics::Feature, Bio::Graphics::FeatureFile

AUTHOR
Lincoln Stein <lstein@cshl.org>.

Copyright (c) 2007 Cold Spring Harbor Laboratory

This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the GPL (either version 1, or at your option, any later version) or the Artistic License 2.0. Refer to LICENSE for the full license text. In addition, please see DISCLAIMER.txt for disclaimers of warranty.