The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Microarray::File::Data - An object oriented Perl module describing microarray data files

SYNOPSIS

        use Microarray::File::Data;

        my $oFile = data_file->new('/results.txt');

DESCRIPTION

Microarray::File::Data provides methods for retrieving data from microarray data file objects.

METHODS

Object creation

If you know the type of data file you are dealing with, then you should use the appropriate file module. However, if for some reason you don't know you can create a data_file object and the module will attempt to create a file object of the correct type for you. This depends on the correct Plug-In module being present. If you write your own Plug-In module, you'll need to include a class-level method 'auto_data_file' in your module, which returns the package name of the file object and a search term that will identify an unknown file as the correct type.

Spot object methods

Spot object creation

The module can create individual Microarray::Spot objects for you, either on-mass, or individually as you want them. The overhead for doing this is not huge, so if you have replicates that you want to handle using the Microarray::Reporter module, this is a handy way to fill the reporter container.

        $oFile->spot_object(123);                               # sets and gets object for spot index 123

        $oFile->set_spot_objects;                               # sets all spot objects
        my $oSpot = $oFile->spot_object(1234);  # spot object for spot index 1234
set_spot_objects

Creates spot objects for all spots.

spot_object

Pass a spot index to this method to return the relevant spot object. If set_spot_objects has not been called, this will create and return only this object.

number_spots

Returns the total number of spot objects created by set_spot_objects().

get_spots

Returns the spot objects as an array, where each index of the array matches that of the spot. (Therefore there is not a spot at index[0], but instead this element holds the number of spots!)

Other methods

image_file_names, fluor_names, laser_powers, pmt_voltages

Returns the relevant values for each analysed channel as a list. Will only work for file types that return the relevant information (for instance, BlueFuse does not return laser/PMT information).

guess_barcode

In the event that a barcode is not present in the data file, will parse the file name and assume that the first portion of the name (using an underscore or hyphen as a delimiter) is the barcode.

num_channels

Defaults to two in the event that a file type is used which does not return the number of channels.

And many other methods that need no explanation;

analysis_software, pixel_size, channel1_name, channel2_name, channel1_signal, channel2_signal, channel1_snr, channel2_snr, channel_quality, channel_sat, bad_flags

Once again, not all file types will return the relevant information (BlueFuse does not return channel saturation or SNR).

TESTING

This distribution has been extensively tested, but does not include data files for testing purposes since they are very large. If you would like to run the full test you can download the files at http://www.instituteforwomenshealth.ucl.ac.uk/trl/pipeline/download.html.

SEE ALSO

Microarray, Microarray::File, Microarray::Spot

AUTHOR

Christopher Jones, Gynaecological Cancer Research Laboratories, Institute for Women's Health, University College London.

http://www.instituteforwomenshealth.ucl.ac.uk/AcademicResearch/Cancer/trl

c.jones@ucl.ac.uk

COPYRIGHT AND LICENSE

Copyright 2008 by Christopher Jones, University College London

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