NAME
TRL::Microarray::Microarray_File::Quantarray - A Perl module for managing Perkin Elmer 'Scanarray' microarray files
SYNOPSIS
use TRL::Microarray::Microarray_File::Quantarray;
my $data_file = quantarray_file->new("/file.csv");
my $ch1_image = quantarray_image->new("/image1.tif");
DESCRIPTION
TRL::Microarray::Microarray_File::Quantarray is an object-oriented Perl module for managing microarray files created by Perkin Elmer's 'Scanarray' software. It inherits from TRL::Microarray::Microarray_File, and maps data fields in a Scanarray data file to those used by TRL::Microarray::Microarray_File::Data_File, as well as extracting header information from image files.
METHODS
quantarray_file methods
In case you didn't guess - where a method exists for "channel1" in the following methods, there is an equivalent method for "channel2".
General methods - typically retrieving information from the header
- pixel_size
-
Measured in micrometers.
- channel1_name
-
i.e. Cyanine 3, or Cyanine 5. This comes from Scanarray's fluorochrome list, and represents whatever fluor you chose in the scan set up.
- channel1_image_file
-
The full path of the image file when saved by Scanarray.
- gal_file
-
The full path of the GAL file, when/if imported by Scanarray during data extraction.
- user_comment
-
No idea where this comes from. But its there in the data file.
- analysis_software
- num_channels
- slide_barcode
- channel1_pmt, channel1_laser
- array_columns, array_rows
-
Number of columns and rows of blocks on the array
- spot_columns, spot_rows
-
Number of columns and rows of spots in each block
Spot methods
Pass the spot index to these methods to return information for a particular spot.
- block_row,block_col,spot_row,spot_col,spot_index
-
There is no 'block number' field in Scanarray files, so all coordinates are at row/column level.
- feature_id, synonym_id
-
The 'Name' and 'ID' columns respectively.
- x_pos, y_pos
-
Spot centre location in pixels, from the top-left of the image.
- footprint
-
You'd better look this one up... but its something like how far away the spot centre is, compared to where it was expected to be.
- flag_id
-
The flag associated with the spot.
- ch1_median_f, ch1_mean_f, ch1_sd_f
-
Median, mean and SD values for the fluorescence measurements of spot pixels.
- ch1_median_b, ch1_mean_b, ch1_sd_b
-
Median, mean and SD values for the fluorescence measurements of background pixels.
- ch1_b1sd, channel1_quality, channel1_sat
-
The percent of spot pixels 1 SD above background, percent of spot pixels 2 SD above background, and percent of spot pixels that are saturated.
- channel1_snr
-
Scanarray calculates signal to noise ratio as the median signal/background SD.
quantarray_image methods
- image_barcode
-
Returns the barcode, if there is only one, or if there is one at each end of the array and they are identical. Otherwise, if there are two barcodes that are different it will die with an error.
- image_lbarcode
-
Returns the lower barcode
- image_ubarcode
-
Returns the upper barcode
- protocol_name, protocol_id, protocol_description
-
These methods return details of the Scanarray protocol used to scan and extract array data
- image_resolution
-
Pixel size in microns
- fluor_name, fluor_id, fluor_colour_name, fluor_description, fluor_excitation, fluor_emission
-
These methods return details of the fluorochrome specified in the scan protocol and visualised in this image. Not necessarily the fluorochrome used in the experiment!
- laser_id, filter_id
-
The Scanarray IDs of the filter and laser used in the scan
- pmt_gain, laser_power
-
Percentage values specified in the scan protocol
- user_comment
-
User comment can contain the slide barcode
Setting a new barcode
You can change the value of a barcode in the header information. You can't overwrite the original file, but you can write these header changes to a new image file. This is achieved using the Image::ExifTool module.
my $success = $image->set_new_barcode('new barcode','/new_file.tif');
The returned values are; 1=write success, 2=write success no changes, 0=write error. If you need to change any other values, you can do by manipulating the embedded Image::ExifTool object.
my $exiftool = $image->get_exiftool_object;
SEE ALSO
TRL::Microarray, TRL::Microarray::Microarray_File, TRL::Microarray::Microarray_File::Data_File
AUTHOR
Christopher Jones, Translational Research Laboratories, Institute for Women's Health, University College London.
c.jones@ucl.ac.uk
COPYRIGHT AND LICENSE
Copyright 2006 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.