NAME

Microarray::GEO::SOFT::GPL - GEO platform data class

SYNOPSIS

use Microarray::GEO::SOFT:
my $soft = Microarray::GEO::SOFT->new("file" => "GPL15181.soft");

# or you can download from GEO FTP site
my $soft = Microarray::GEO::SOFT->new;
$soft->download("GPL15181");

# since you use a GPL id
# $gpl is a Microarray::GEO::SOFT::GPL class object
my $gpl = $soft->parse;

# the meta information
$gpl->meta;
$gpl->platform;
$gpl->title;
$gpl->accession;

# the platform data is a matrix
$gpl->matrix;
# the names for each column, it is gene id types
$gpl->colnames;
# the names for each row, it is the primary id for rows
# e.g. probe IDs
$gpl->rownames;

# we want to get other ID for microarray data
my $other_id = $gpl->mapping("miRNA_ID");
# or
my $other_id = $gpl->mapping($gpl->colnames->[1]);

DESCRIPTION

A Platform record is composed of a summary description of the array or sequencer and, for array-based Platforms, a data table defining the array template.Each Platform record is assigned a unique and stable GEO accession number (GPLxxx). A Platform may reference many Samples that have been submitted by multiple submitters. (Copyed from GEO web site).

This module is a simple tool to parse and store platform data. We only extract the most compact meta information and the id matrix for id mapping. Platform data is downloaded from ftp://ftp.ncbi.nih.gov/pub/geo/DATA/annotation/platforms/GPLxxx.annot.gz. This module will not be used directly but always be invoked by Microarray::GEO::SOFT module.

Subroutines

new("file" => $file, "verbose" = 1)>

Initial a GPL class object. The file argument is the platform data in SOFT format or a file handle that has been openned. 'verbose' determines whether print the message when analysis. 'sample_value_column' is the column name for table data when parsing GSM data. The argument is optional and the platform can be download through Microarray::GEO::SOFT.

$gpl->parse

Retrieve platform information. This soubroutine extracts the basic meta information and a table with different ID types.

$gpl->meta

Get meta information

$gpl->set_meta(HASH)

Set meta information. Valid argumetns are 'accession', 'title' and 'platform'.

$gpl->table

Get table information

$gpl->set_table

Set table information. Valid argumetns are 'rownames', 'colnames' and 'matrix'.

$gpl->platform

Accession number for the platform

$gpl->title

Title of the platform record

$gpl->accession

Accession number for the platform

$gpl->rownames

primary ID for probes in the platform

$gpl->colnames

Different ID types provided in the platform data

$gpl->matrix

ID type matrix, each column refers to one ID type

AUTHOR

Zuguang Gu <jokergoo@gmail.com>

COPYRIGHT AND LICENSE

Copyright 2012 by Zuguang Gu

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.12.1 or, at your option, any later version of Perl 5 you may have available.

SEE ALSO

Microarray::GEO::SOFT