Bio::Affymetrix::CDF
Probe
Bio::Affymetrix::CDF::Probe- an Affymetrix probe in a probeset in an CDF file
|
No package variables defined. |
use Bio::Affymetrix::CDF;
# Parse the CDF file
my $cdf=new CDF();
$cdf->parse_from_file("foo.cdf");
# Find a probe. This is the first probe in the first probepair in Unit 1000
my $probe=$chp->probesets()->{1000}->[0]->[0];
# Find some fun facts about this probe
print join ",", ($probe->x(),$probe->y(),($probe->is_mismatch()?"Mismatch probe":"Perfect match probe");
|
The Affymetrix microarray system produces files in a variety of formats. If this means nothing to you, these modules are probably not for you :). After these modules have parsed a CDF file, the resulting Bio::Affymetrix::CDF file contains a hash of Bio::Affmetrix::CDF::Probeset objects. Each probeset then contains an array reference of probepairs, each one which is an array reference of Bio::Affymetrix::CDF::Probe objects.
You can only get probe-level information if you have parsed the CDF object with probe-level parsing turned on.
|
Methods description
Arg [1] : integer $index (optional)
Example : my $i=$probe->index();
Description: Get/set the index of this probe. Allegedly this number
was used in the CEL file at some point, but is probably useless now.
Returntype : integer
Exceptions : none
Caller : general
Arg [0] : none
Example : if ($probe->is_mismatch()) {
print "Everybody loves mismatch probes!";
}
Description: Utility function that returns whether this probe is a
mismatch probe or not.
Returntype : bool
Exceptions : none
Caller : general
Arg [1] : integer $position (optional)
Example : my $position=$probe->mismatch_position();
Description: Get/set the postition of the mismatch base (in the
25-mer oligo. As far as the author knows, all factory Affymetrix
chips have the mismatch probe in position 13).
Returntype : integer
Exceptions : none
Caller : general
Arg [0] : none
Example : my $probe=new Bio::Affymetrix::CDF::Probe();
Description: constructor for Bio::Affymetrix::CDF::Probe object. You
probably do not want to make these objects yourself, however.
Returntype : new Bio::Affmetrix::CDF object
Exceptions : none
Caller : general
Arg [0] : none
Example : my $original_number=$probe->original_probepair_number();
Description: Returns the probe pair number as written in the file
Returntype : integer $number
Exceptions : none
Caller : general
Arg [0] : none
Example : my $name=$probe->original_probeset()
Description: The name of the original probeset this probe came from
Returntype : string $probesetname
Exceptions : none
Caller : general
Arg [1] : char $base
Example : my $base=$probe->probe_target_base()
Description: Get/set what the base (A, C, T or G) would be if it is to detect for
the target sequence. Non-mismatch probes have
probe_mismatch_base() eq probe_target_base().
Returntype : char $base
Exceptions : none
Caller : general
Arg [1] : integer $x (optional)
Example : my $x=$probe->x();
Description: Get/set the y coordinate of this probe
Returntype : integer
Exceptions : none
Caller : general
Arg [1] : integer $y (optional)
Example : my $name=$probe->cols()
Description: Get/set the y coordinate of this probe
Returntype : integer
Exceptions : none
Caller : general
Methods code
sub index
{ my $self=shift;
if (my $q=shift) {
$self->{"INDEX"}=$q;
}
return $self->{"INDEX"};
}
sub is_mismatch
{ my $self=shift;
return !($self->probe_target_base() eq $self->probe_mismatch_base());
}
sub mismatch_position
{ my $self=shift;
if (my $q=shift) {
$self->{"POS"}=$q;
}
return $self->{"POS"};
}
sub new
{ my $class=shift;
my $q=shift;
my $self={};
bless $self,$class;
return $self;
}
sub original_probe_number
{ my $self=shift;
return $self->{"EXPOS"};
}
sub original_probepair_number
{ my $self=shift;
return $self->{"ATOM"};
}
sub original_probeset
{ my $self=shift;
return $self->{"PROBESET"};
}
sub probe_mismatch_base
{ my $self=shift;
if (my $q=shift) {
$self->{"PBASE"}=$q;
}
return $self->{"PBASE"};
}
sub probe_target_base
{ my $self=shift;
if (my $q=shift) {
$self->{"TBASE"}=$q;
}
return $self->{"TBASE"};
}
sub x
{ my $self=shift;
if (my $q=shift) {
$self->{"X"}=$q;
}
return $self->{"X"};
}
sub y
{ my $self=shift;
if (my $q=shift) {
$self->{"Y"}=$q;
}
return $self->{"Y"};
}
General documentation
COPYRIGHT |
top |
Copyright (C) 2005 by Nick James, David J Craigon, NASC (arabidopsis.info), 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.
|
AUTHORS |
top |
Nick James (nick at arabidopsis.info)
David J Craigon (david at arabidopsis.info)
Nottingham Arabidopsis Stock Centre (http://arabidopsis.info), University of Nottingham.
|
orignal_probe_number |
top |
Arg [0] : none Example : my $position=$probe->original_probe_number() Description: The name of the original index of this probe in the probeset Returntype : string $probesetname Exceptions : none Caller : general
|