Bio::Map Clone
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Toolbar
WebCvs
Summary
Bio::Map::Clone - An central map object representing a clone
Package variables
No package variables defined.
Included modules
Bio::Map::Position
Inherit
Bio::Map::MappableI Bio::Root::Root
Synopsis
   # get the clone object of $clone from the Bio::Map::Clone
my $cloneobj = $physical->get_cloneobj($clone);
# acquire all the markers that hit this clone foreach my $marker ($cloneobj->each_markerid()) { print " +++$marker\n"; }
See Bio::Map::Position and Bio::Map::PositionI for more information.
Description
This object handles the notion of a clone. This clone will
have a name and a position in a map.
This object is intended to be used by a map parser like fpc.pm.
Methods
newDescriptionCode
nameDescriptionCode
typeDescriptionCode
rangeDescriptionCode
matchDescriptionCode
set_matchDescriptionCode
gelDescriptionCode
remarkDescriptionCode
fp_numberDescriptionCode
sequence_typeDescriptionCode
sequence_statusDescriptionCode
fpc_remarkDescriptionCode
bandsDescriptionCode
groupDescriptionCode
contigidDescriptionCode
each_markeridDescriptionCode
set_markersDescriptionCode
Methods description
newcode    nextTop
 Title   : new
Usage : my $clone = Bio::Map::Clone->new
(
-name => $clone,
-markers => \@markers,
-contig => $contig,
-type => $type,
-bands => $bands,
-gel => $gel,
-group => $group,
-remark => $remark,
-fpnumber=> $fp_number,
-sequencetype => $seq_type,
-sequencestatus=> $seq_status,
-fpcremark => $fpc_remark,
-matche => \@ematch,
-matcha => \@amatch,
-matchp => \@pmatch,
-range => Bio::Range->new(-start => $startrange,
-end => $endrange)
);
Function: Initialize a new Bio::Map::Clone object
Most people will not use this directly but get Clones
through Bio::MapIO::fpc
Returns : Bio::Map::Clone object
Args : -name => marker name string,
-markers => array ref of markers,
-contig => contig name string,
-type => type string,
-bands => band string,
-gel => gel string,
-group => group name string,
-remark => remark string,
-fpnumber=> FP number string,
-sequencetype => seq type string,
-sequencestatus=> seq status string,
-fpcremark => FPC remark,
-matche => array ref,
-matcha => array ref,
-matchp => array ref,
-range => Bio::Range object,
namecodeprevnextTop
 Title   : name
Usage : my $name = $cloneobj->name();
Function: Get/set the name for this Clone
Returns : scalar representing the current name of this clone
Args : none to get, OR string to set
typecodeprevnextTop
 Title   : type
Usage : my $type = $cloneobj->type();
Function: Get/set the type for this clone
Returns : scalar representing the current type of this clone
Args : none to get, OR string to set
rangecodeprevnextTop
 Title   : range
Usage : my $range = $cloneobj->range();
Function: Get/set the range of the contig that this clone covers
Returns : Bio::Range representing the current range of this contig,
start and end of the contig can be thus found using:
my $start = $contigobj->range()->start();
my $end = $contigobj->range()->end();
Args : none to get, OR Bio::Range to set
matchcodeprevnextTop
 Title   : match
Usage : @eclone = $cloneobj->match('exact');
@aclone = $cloneobj->match('approximate');
@pclone = $cloneobj->match('pseudo');
Function: get all matching clones
Returns : list
Args : scalar representing the type of clone to be
queried.
set_matchcodeprevnextTop
 Title   : set_match
Usage : $clone->set_match($type,$values);
Function: Set the Matches per type
Returns : None
Args : type (one of 'exact' 'approx' 'pseudo')
array ref of match values
gelcodeprevnextTop
 Title   : gel
Usage : $clonegel = $cloneobj->gel();
Function: Get/set the gel number for this clone
Returns : scalar representing the gel number of this clone
Args : none to get, OR string to set
remarkcodeprevnextTop
 Title   : remark
Usage : $cloneremark = $cloneobj->remark();
Function: Get/set the remark for this clone
Returns : scalar representing the current remark of this clone
Args : none to get, OR string to set
fp_numbercodeprevnextTop
 Title   : fp_number
Usage : $clonefpnumber = $cloneobj->fp_number();
Function: Get/set the fp number for this clone
Returns : scalar representing the fp number of this clone
Args : none to get, OR string to set
sequence_typecodeprevnextTop
 Title   : sequence_type
Usage : $cloneseqtype = $cloneobj->sequence_type();
Function: Get/set the sequence type for this clone
Returns : scalar representing the sequence type of this clone
Args : none to get, OR string to set
sequence_statuscodeprevnextTop
 Title   : sequence_status
Usage : $cloneseqstatus = $cloneobj->sequence_status();
Function: Get/set the sequence status for this clone
Returns : scalar representing the sequence status of this clone
Args : none to get, OR string to set
fpc_remarkcodeprevnextTop
 Title   : fpc_remark
Usage : $clonefpcremark = $cloneobj->fpc_remark();
Function: Get/set the fpc remark for this clone
Returns : scalar representing the fpc remark of this clone
Args : none to get, OR string to set
bandscodeprevnextTop
 Title   : bands
Usage : @clonebands = $cloneobj->bands();
Function: Get/set the bands for this clone
Returns : liat representing the band of this clone, if
readcor = 1 while creating the MapIO object and the
.cor exists
Args : none to get, OR string to set
groupcodeprevnextTop
 Title   : group
Usage : $cloneobj->group($chrno);
Function: Get/set the group number for this clone.
This is a generic term, used for Linkage-Groups as well as for
Chromosomes.
Returns : scalar representing the group number of this clone
Args : none to get, OR string to set
contigidcodeprevnextTop
 Title   : contigid
Usage : my $ctg = $cloneobj->contigid();
Function: Get/set the contig this clone belongs to
Returns : scalar representing the contig
Args : none to get, OR string to set
each_markeridcodeprevnextTop
 Title   : each_markerid
Usage : @markers = $cloneobj->each_markerid();
Function: retrieves all the elements in a map unordered
Returns : list of strings (ids)
Args : none
*** This only supplies the ids set with the set_markers method *** *** It has nothing to do with actual Bio::Map::MarkerI objects ***
set_markerscodeprevnextTop
 Title   : markers
Usage : $obj->set_markers($newval)
Function: Set list of Marker ids (arrayref)
Returns : None
Args : arrayref of strings (ids)
*** This only sets a list of ids *** *** It has nothing to do with actual Bio::Map::MarkerI objects ***
Methods code
newdescriptionprevnextTop
sub new {
   my ($class,@args) = @_;
   my $self= $class->SUPER::new(@args);
   
   my ($name,$markers,$contig,$type,$bands,$gel,$group,
       $remark,$fpnumber,$seqtype,$seqstatus,$fpcremark,
       $matche,$matcha,$matchp,
       $range) = $self->_rearrange([qw(NAME  MARKERS CONTIG TYPE
				       BANDS GEL GROUP REMARK FPNUMBER
				       SEQUENCETYPE SEQUENCESTATUS
				       FPCREMARK MATCHE MATCHA MATCHP
				       RANGE)],@args);

   $self->name($name)                  if defined $name;
   $self->markers($markers)            if defined $markers;
   $self->contigid($contig)            if defined $contig;
   $self->type($type)                  if defined $type;
   $self->bands($bands)                if defined $bands;
   $self->gel($gel)                    if defined $gel;
   $self->group($group)                if defined $group;
   $self->remark($remark)              if defined $remark;
   $self->fp_number($fpnumber)         if defined $fpnumber;
   $self->sequence_type($seqtype)     if defined $seqtype;
   $self->sequence_status($seqstatus) if defined $seqstatus;
   $self->fpc_remark($fpcremark)       if defined $fpcremark;
   $self->range($range)                if defined $range;

   $self->set_match('approx', $matcha) if defined $matcha;
   $self->set_match('pseudo', $matchp) if defined $matchp;
   $self->set_match('exact',  $matche) if defined $matche; 

   return $self;
}
namedescriptionprevnextTop
sub name {
    my ($self) = shift;    
    return $self->{'_name'} = shift if @_;
    return $self->{'_name'};
}
typedescriptionprevnextTop
sub type {
    my ($self) = shift;
    return $self->{'_type'} = shift if @_;
    return $self->{'_type'};
}
rangedescriptionprevnextTop
sub range {
    my ($self) = shift;    
    return $self->{'_range'} = shift if @_;
    return $self->{'_range'};
}
matchdescriptionprevnextTop
sub match {
  my ($self,$type) = @_;

  $type = "_match" . lc(substr($type, 0, 1));
  return @{$self->{$type} || []};
}
set_matchdescriptionprevnextTop
sub set_match {
   my ($self,$type,$val) = @_;
   $type = "_match" . lc(substr($type, 0, 1));
   $self->{$type} = $val;
}
geldescriptionprevnextTop
sub gel {
    my ($self) = shift;
    return $self->{'_gel'} = shift if @_;
    return $self->{'_gel'};
}
remarkdescriptionprevnextTop
sub remark {
    my ($self) = shift;
    return $self->{'_remark'} = shift if @_;
    return $self->{'_remark'};
}
fp_numberdescriptionprevnextTop
sub fp_number {
    my ($self) = shift;
    return $self->{'_fpnumber'} = shift if @_;
    return $self->{'_fpnumber'};
}
sequence_typedescriptionprevnextTop
sub sequence_type {
    my ($self) = shift;
    return $self->{'_sequencetype'} = shift if @_;
    return $self->{'_sequencetype'};
}
sequence_statusdescriptionprevnextTop
sub sequence_status {
    my ($self) = shift;
    return $self->{'_sequencestatus'} = shift if @_;
    return $self->{'_sequencestatus'};
}
fpc_remarkdescriptionprevnextTop
sub fpc_remark {
    my ($self) = shift;
    return $self->{'_fpcremark'} = shift if @_;
    return $self->{'_fpcremark'};
}
bandsdescriptionprevnextTop
sub bands {
    my ($self) = shift; 
    return $self->{'_bands'} = shift if @_;
    return $self->{'_bands'};
}
groupdescriptionprevnextTop
sub group {
    my ($self) = shift;
    return $self->{'_group'} = shift if @_;    
    return $self->{'_group'};
}
contigiddescriptionprevnextTop
sub contigid {
    my ($self) = shift;
    $self->{'_contig'} = shift if @_;
    return $self->{'_contig'} || 0;
}
each_markeriddescriptionprevnextTop
sub each_markerid {
  my ($self,$value) = @_;   
  return @{$self->{"_markers"}};
}
set_markersdescriptionprevnextTop
sub set_markers {
    my ($self,$markers) = @_;
    if( defined $markers && ref($markers) =~ /ARRAY/ ) { 
	$self->{'_markers'} = $markers;
    }
}

1;
}
General documentation
FEEDBACKTop
Mailing ListsTop
User feedback is an integral part of the evolution of this and other
Bioperl modules. Send your comments and suggestions preferably to
the Bioperl mailing list. Your participation is much appreciated.
  bioperl-l@bioperl.org                  - General discussion
http://bioperl.org/wiki/Mailing_lists - About the mailing lists
Support Top
Please direct usage questions or support issues to the mailing list:
bioperl-l@bioperl.org
rather than to the module maintainer directly. Many experienced and
reponsive experts will be able look at the problem and quickly
address it. Please include a thorough description of the problem
with code and data examples if at all possible.
Reporting BugsTop
Report bugs to the Bioperl bug tracking system to help us keep track
of the bugs and their resolution. Bug reports can be submitted via the
web:
  https://redmine.open-bio.org/projects/bioperl/
AUTHOR - Gaurav GuptaTop
Email gaurav@genome.arizona.edu
CONTRIBUTORSTop
Sendu Bala bix@sendu.me.uk
PROJECT LEADERSTop
Jamie Hatfield jamie@genome.arizona.edu
Dr. Cari Soderlund cari@genome.arizona.edu
PROJECT DESCRIPTIONTop
The project was done in Arizona Genomics Computational Laboratory (AGCoL)
at University of Arizona.
This work was funded by USDA-IFAFS grant #11180 titled "Web Resources for
the Computation and Display of Physical Mapping Data".
For more information on this project, please refer:
http://www.genome.arizona.edu
APPENDIXTop
The rest of the documentation details each of the object methods.
Internal methods are usually preceded with a _
Access MethodsTop
These methods let you get and set the member variables
each_matchTop
 Title   : each_match
Function: Synonym of the match() method.