[Bioperl-l] Re: MicroarrayIO proposal
Adam Witney
awitney@sghms.ac.uk
Mon, 14 Oct 2002 10:02:46 +0100
Hi Allen,
I would recommend staying away from the use of the word 'Probe' as there is
always confusion as to what you are referring to. Many people use 'probe' to
refer to the DNA molecule spotted onto the array and others use it to refer
to the labelled sample hybridised to the array.
The Microarray and Gene Expression Database group (www.mged.org) has avoided
use of this word completely and uses 'reporter' to describe the spotted DNA
and 'labeledExtract' to refer to the hybridising material.
The MGED group has developed a model to represent microarray data and is
fast being incorporated into the major microarray databases in use. Also,
one of the working groups at MGED is developing a perl/java software toolkit
to create and manipulate microarray data objects. Take a look here for more
details
http://www.mged.org/Workgroups/MAGE/magestk.html
Maybe it would be worth incorporating the magestk work into your work here?
cheers
adam
> Message: 10
> Date: Fri, 11 Oct 2002 17:05:05 -0700 (PDT)
> From: Allen Day <allenday@ucla.edu>
> To: Bioperl <bioperl-l@bioperl.org>
> Subject: [Bioperl-l] MicroarrayIO proposal
>
> Hi all,
>
> I'm getting ready to commit some MicroarrayIO classes to bioperl-live, but
> first I'd like to get some feedback on how I've set them up. See below:
>
> Hierarchy is like this:
>
> Bio/
> Expression/
> Microarray/
> ProbeI.pm
> Probeset.pm
> Affymetrix/
> Array.pm
> Data.pm
> Probe.pm
> MicroarrayI.pm
> MicroarrayIO.pm
> MicroarrayIO/
> affymetrix.pm
> ProbeI.pm
>
>
>
>
> And usage is like this:
>
> use Bio::Expression::MicroarrayIO;
>
> # create an IO object. an array object is created
> # based on -template
> my $mio = Bio::Expression::MicroarrayIO->new(
> -file => 'path/to/datafile',
> -format => 'affymetrix',
> -template => 'path/to/template',
> );
>
> # fill the array object created by the constructor
> # with data from the next array. returns a
> # Bio::Expression::MicroarrayI compliant object
> my $array = $mio->next_array;
>
> # this will write affy-format files, given
> # a MicroarrayI compliant object
> my $out = Bio::Expression::MicroarrayIO->new(
> -file => '>path/to/outputfile',
> -format => 'affymetrix',
> );
>
> #write $array to file
> $out->write_array($array);
>
> #print a list of outliers and masked probes
> foreach my $probeset ($array->each_probeset){
> foreach my $probe ($probeset->each_probe){
> next unless $probe->is_outlier or $probe->is_masked;
> print join "\t", (
> $probeset->id,
> $probe->x,
> $probe->y,
> $probe->value,
> $probe->is_outlier,
> $probe->is_masked,
> "\n";
> )
> }
> }
>
>
> Comments appreciated. Enjoy the weekend.
>
> -Allen
>