Bio::Affymetrix::CDF- parse Affymetrix CDF files
use Bio::Affymetrix::CDF;
# Parse the CDF file
my $cdf=new Bio::Affymetrix::CDF({"probemode"=>0});
$cdf->parse_from_file("foo.cdf");
# Find some fun facts about this chip type
print $cdf->rows().",".$cdf->cols()."\n";
print $cdf->version()."\n";
# Print out all of the probeset names on this chip type
foreach my $i (keys %{$chp->probesets}) { print $chp->probesets->{$i}->name()."\n"; }
The Affymetrix microarray system produces files in a variety of formats. If this means nothing to you, these modules are probably not for you :). This module parses CDF files. Use this module if you want to find out about the design of an Affymetrix GeneChip, or you need the object for another one of the modules in this package.
All of the Bio::Affymetrix modules parse a file entirely into memory. You therefore need enough memory to hold these objects. For some applications, parsing as a stream may be more appropriate- hopefully the source to these modules will give enough clues to make this an easy task. This module in particular takes a lot of memory if probe information is also stored (about 150Mb). Memory usage is not too onorous (about 15Mb) if probe level information is omitted. You can.control this by setting probemode=>1 or probemode=>0 in the constructor.
You can also use these modules to write CDF files (using the write_to_filehandle method). See COMPATIBILITY for some important caveats.
You fill the object filled with data using the parse_from_filehandle, parse_from_string or parse_from_file routines. You can get/set various statistics using methods on the object.
The key method is probesets. This returns a reference to a hash of Bio::Affymetrix::CDF::Probeset objects. The keys of this hash are unit number - if you are looking for a specific probeset you will have to search for it yourself. Each Bio::Affymetrix::CDF::Probeset object contains information about the probesets.
Modules were written with the official Affymetrix documentation, which can be located at http://www.affymetrix.com/support/developer/AffxFileFormats.ZIP
This module can parse the CDF files used with the Affymetrix software MAS 5 and GCOS. These files have QC information in them (such as the information of the location of the QC probesets), which is not parsed.
This module can also write CDF files. The support is currently pretty limited .Currently the software can only write MAS5 files (not XDA format files), and will only write files that have been parsed in previously- it cannot create CDF files from scratch. So if you have any way of making Affymetrix chips, you will just have to look elsewhere :). These limitations are caused through not parsing the QC information.
Parsing QC information? Rearrange probe information to make it more usable?
Copyright (C) 2005 by Nick James, David J Craigon, NASC, The University of Nottingham
This module is free software. You can copy or redistribute it under the same terms as Perl itself.
Affymetrix is a registered trademark of Affymetrix Inc., Santa Clara, California, USA.
Nick James (nick at arabidopsis.info)
David J Craigon (david at arabidopsis.info)
Nottingham Arabidopsis Stock Centre (http://arabidopsis.info), University of Nottingham.
Arg [1] : hashref of parameters (optional) Example : my $cdf=new Bio::Affymetrix::CDF({probemode=>1); Description: constructor for CDF object. Turn probemode on and off (default off) by supplying named parameters as a hash reference Returntype : new Bio::Affmetrix::CDF object Exceptions : none Caller : general
Returns an reference to a two dimensional array of Bio::Affymetrix::CDF::Probe objects. Returntype : reference to two-dimensional array of Bio::Affymetrix::CDF::Probe objects Exceptions : none Caller : general
Arg [0] : none Example : my $cdf_file_name=$cdf->original_file_name(); Description: If this object was created using parse_from_file, the original filename. Otherwise undef. Returntype : string Exceptions : none Caller : general
Arg [1] : string Example : $cdf->parse_from_string($cdf_file_in_a_string); Description: Parse a CDF file from a buffer in memory Returntype : none Exceptions : none Caller : general
Arg [1] : string Example : $cdf->parse_from_file($cdf_filename); Description: Parse a CDF file from a file Returntype : none Exceptions : dies if cannot open file Caller : general
Arg [1] : reference to filehandle Example : $cdf->parse_from_filehandle(\*STDIN); Description: Parse a CDF file from a filehandle Returntype : none Exceptions : none Caller : general
Arg [1] : string $filename Arg [2] : string $format Arg [3] : string $version Example : $cdf->write_to_file($cdf_filename); Description: Writes a CDF file to a file. See write_to_filehandle for descriptions of format and version Returntype : none Exceptions : dies if cannot open file Caller : general
Arg [1] : filehandle $filehandle Arg [2] : string $format Arg [3] : string $version Example : $cdf->write_to_filehandle($cdf_filename); Description: Writes a CDF file to a filehandle. Takes arguments of the filehandle, the desired format, and the desired version of that format. Currently, format defaults to MAS5, and version defaults to GC3.0. These are the only formats the software is capable of producing currently. Also, this software cannot write files that were read in using the GCOS file format. The original CDF file must have been parsed in probe mode. Returntype : none Exceptions : dies if cannot open file Caller : general
To install Bio::Affymetrix::CEL, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Bio::Affymetrix::CEL
CPAN shell
perl -MCPAN -e shell install Bio::Affymetrix::CEL
For more information on module installation, please visit the detailed CPAN module installation guide.