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). Only available if the
original CDF file was in MAS5 format.
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_mismatch_base()
Description: Get/set the base A,C,T or G at the mismatch position.
Returntype : char $base
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 the x coordinate of this probe. This is now (since version 0.3) immutable.
Returntype : integer
Exceptions : none
Caller : general
Arg [1] : integer $y (optional)
Example : my $name=$probe->cols()
Description: Get the y coordinate of this probe. This is now (since version 0.3) immutable.
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;
return $self->{"X"};
}
sub y
{ my $self=shift;
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
|