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();
This module loads Bio::Graphics::Wiggle files from source files that use Jim Kent's "WIG" format:
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.
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.
Load the data from a source WIG file opened on a filehandle.
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.
Returns one or more Bio::Graphics::Features objects, which can be used to create Bio::Graphics tracks with the wiggle_xyplot (and related) glyphs.
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.
Several extensions to the WIG format "track" declaration are recognized.
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)
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 entended track declaration:
track type=wiggle_0 name="example" description="20 degrees, 2 hr" \ trim=stdev2 transform=logsquared
Lincoln Stein <email@example.com>.
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.