Bio::DB::GFF::Segment.3pm

Langue: en

Version: 2009-03-10 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::DB::GFF::Segment -- Simple DNA segment object

SYNOPSIS

See Bio::DB::GFF.

DESCRIPTION

Bio::DB::GFF::Segment provides the basic representation of a range of DNA contained in a GFF database. It is the base class from which the Bio::DB::GFF::RelSegment and Bio::DB::GFF::Feature classes are derived.

Generally, you will not create or manipulate Bio::DB::GFF::Segment objects directly, but use those that are returned by the Bio::DB::GFF module.

API

The remainder of this document describes the API for Bio::DB::GFF::Segment.

new

  Title   : new
  Usage   : $s = Bio::DB::GFF::Segment->new(@args)
  Function: create a new segment
  Returns : a new Bio::DB::GFF::Segment object
  Args    : see below
  Status  : Public
 
 

This method creates a new Bio::DB::GFF::Segment object. Generally this is called automatically by the Bio::DB::GFF module and derivatives.

There are five positional arguments:

  $factory      a Bio::DB::GFF::Adaptor to use for database access
  $sourceseq    ID of the source sequence
  $sourceclass  class of the source sequence
  $start        start of the desired segment relative to source sequence
  $stop         stop of the desired segment relative to source sequence
 
 

factory

  Title   : factory
  Usage   : $s->factory
  Function: get the factory object
  Returns : a Bio::DB::GFF::Adaptor
  Args    : none
  Status  : Public
 
 

This is a read-only accessor for the Bio::DB::GFF::Adaptor object used to create the segment.

start

  Title   : start
  Usage   : $s->start
  Function: start of segment
  Returns : integer
  Args    : none
  Status  : Public
 
 

This is a read-only accessor for the start of the segment.

end

  Title   : end
  Usage   : $s->end
  Function: end of segment
  Returns : integer
  Args    : none
  Status  : Public
 
 

This is a read-only accessor for the end of the segment.

stop

  Title   : stop
  Usage   : $s->stop
  Function: stop of segment
  Returns : integer
  Args    : none
  Status  : Public
 
 

This is an alias for end(), provided for AcePerl compatibility.

length

  Title   : length
  Usage   : $s->length
  Function: length of segment
  Returns : integer
  Args    : none
  Status  : Public
 
 

Returns the length of the segment. Always a positive number.

strand

  Title   : strand
  Usage   : $s->strand
  Function: strand of segment
  Returns : +1,0,-1
  Args    : none
  Status  : Public
 
 

Returns the strand on which the segment resides, either +1, 0 or -1.

low

  Title   : low
  Usage   : $s->low
  Function: return lower coordinate
  Returns : lower coordinate
  Args    : none
  Status  : Public
 
 

Returns the lower coordinate, either start or end.

high

  Title   : high
  Usage   : $s->high
  Function: return higher coordinate
  Returns : higher coordinate
  Args    : none
  Status  : Public
 
 

Returns the higher coordinate, either start or end.

sourceseq

  Title   : sourceseq
  Usage   : $s->sourceseq
  Function: get the segment source
  Returns : a string
  Args    : none
  Status  : Public
 
 

Returns the name of the source sequence for this segment.

class

  Title   : class
  Usage   : $s->class([$newclass])
  Function: get the source sequence class
  Returns : a string
  Args    : new class (optional)
  Status  : Public
 
 

Gets or sets the class for the source sequence for this segment.

subseq

  Title   : subseq
  Usage   : $s->subseq($start,$stop)
  Function: generate a subsequence
  Returns : a Bio::DB::GFF::Segment object
  Args    : start and end of subsequence
  Status  : Public
 
 

This method generates a new segment from the start and end positions given in the arguments. If stop < start, then the strand is reversed.

seq

  Title   : seq
  Usage   : $s->seq
  Function: get the sequence string for this segment
  Returns : a Bio::PrimarySeq
  Args    : none
  Status  : Public
 
 

Returns the sequence for this segment as a Bio::PrimarySeq. (-) strand segments are automatically reverse complemented

The method is called dna() return the data as a simple sequence string.

dna

  Title   : dna
  Usage   : $s->dna
  Function: get the DNA string for this segment
  Returns : a string
  Args    : none
  Status  : Public
 
 

Returns the sequence for this segment as a simple string. (-) strand segments are automatically reverse complemented

The method is also called protein().

primary_seq

  Title   : primary_seq
  Usage   : $s->primary_seq
  Function: returns a Bio::PrimarySeqI compatible object
  Returns : a Bio::PrimarySeqI object
  Args    : none
  Status  : Public
 
 

This is for compatibility with BioPerl's separation of SeqI from PrimarySeqI. It just returns itself.

type

  Title   : type
  Usage   : $s->type
  Function: return the string "feature"
  Returns : the string "feature"
  Args    : none
  Status  : Public
 
 

This is for future sequence ontology-compatibility and represents the default type of a feature on the genome

equals

  Title   : equals
  Usage   : $s->equals($d)
  Function: segment equality
  Returns : true, if two segments are equal
  Args    : another segment
  Status  : Public
 
 

Returns true if the two segments have the same source sequence, start and stop.

asString

  Title   : asString
  Usage   : $s->asString
  Function: human-readable string for segment
  Returns : a string
  Args    : none
  Status  : Public
 
 

Returns a human-readable string representing this sequence. Format is:

    sourceseq/start,stop
 
 

clone

  Title   : clone
  Usage   : $copy = $s->clone
  Function: make a copy of this segment
  Returns : a Bio::DB::GFF::Segment object
  Args    : none
  Status  : Public
 
 

This method creates a copy of the segment and returns it.

error

  Title   : error
  Usage   : $error = $s->error([$new_error])
  Function: get or set the last error
  Returns : a string
  Args    : an error message (optional)
  Status  : Public
 
 

In case of a fault, this method can be used to obtain the last error message. Internally it is called to set the error message.

Relative Addressing Methods

The following methods are provided for compatibility with Bio::DB::GFF::RelSegment, which provides relative addressing functions.

abs_start

  Title   : abs_start
  Usage   : $s->abs_start
  Function: the absolute start of the segment
  Returns : an integer
  Args    : none
  Status  : Public
 
 

This is an alias to start(), and provided for API compatibility with Bio::DB::GFF::RelSegment.

abs_end

  Title   : abs_end
  Usage   : $s->abs_end
  Function: the absolute stop of the segment
  Returns : an integer
  Args    : none
  Status  : Public
 
 

This is an alias to stop(), and provided for API compatibility with Bio::DB::GFF::RelSegment.

abs_strand

  Title   : abs_strand
  Usage   : $s->abs_strand
  Function: the absolute strand of the segment
  Returns : +1,0,-1
  Args    : none
  Status  : Public
 
 

This is an alias to strand(), and provided for API compatibility with Bio::DB::GFF::RelSegment.

abs_ref

  Title   : abs_ref
  Usage   : $s->abs_ref
  Function: the reference sequence for this segment
  Returns : a string
  Args    : none
  Status  : Public
 
 

This is an alias to sourceseq(), and is here to provide API compatibility with Bio::DB::GFF::RelSegment.

refseq

  Title   : refseq
  Usage   : $s->refseq
  Function: get or set the reference sequence
  Returns : a string
  Args    : none
  Status  : Public
 
 

Examine or change the reference sequence. This is an alias to sourceseq(), provided here for API compatibility with Bio::DB::GFF::RelSegment.

ref

  Title   : ref
  Usage   : $s->refseq
  Function: get or set the reference sequence
  Returns : a string
  Args    : none
  Status  : Public
 
 

An alias for refseq()

seq_id

  Title   : seq_id
  Usage   : $ref = $s->seq_id
  Function: get the reference sequence in a LocationI-compatible way
  Returns : a string
  Args    : none
  Status  : Public
 
 

An alias for refseq() but only allows reading.

truncated

  Title   : truncated
  Usage   : $truncated = $s->truncated
  Function: Flag indicating that the segment was truncated during creation
  Returns : A boolean flag
  Args    : none
  Status  : Public
 
 

This indicates that the sequence was truncated during creation. The returned flag is undef if no truncation occured. If truncation did occur, the flag is actually an array ref in which the first element is true if truncation occurred on the left, and the second element occurred if truncation occurred on the right.

Bio::RangeI Methods

The following Bio::RangeI methods are supported:

overlaps(), contains(), equals(),intersection(),union(),overlap_extent()

Bio::SeqI implementation

primary_id

  Title   : primary_id
  Usage   : $unique_implementation_key = $obj->primary_id;
  Function: Returns the unique id for this object in this
            implementation. This allows implementations to manage their
            own object ids in a way the implementaiton can control
            clients can expect one id to map to one object.
 
            For sequences with no accession number, this method should
            return a stringified memory location.
 
  Returns : A string
  Args    : None
  Status  : Virtual
 
 

display_name

  Title   : display_name
  Usage   : $id = $obj->display_name or $obj->display_name($newid);
  Function: Gets or sets the display id, also known as the common name of
            the Seq object.
 
            The semantics of this is that it is the most likely string
            to be used as an identifier of the sequence, and likely to
            have "human" readability.  The id is equivalent to the LOCUS
            field of the GenBank/EMBL databanks and the ID field of the
            Swissprot/sptrembl database. In fasta format, the >(\S+) is
            presumed to be the id, though some people overload the id
            to embed other information. Bioperl does not use any
            embedded information in the ID field, and people are
            encouraged to use other mechanisms (accession field for
            example, or extending the sequence object) to solve this.
 
            Notice that $seq->id() maps to this function, mainly for
            legacy/convenience issues.
  Returns : A string
  Args    : None or a new id
 
 

Note, this used to be called display_id(), and this name is preserved for backward compatibility. The default is to return the seq_id().

accession_number

  Title   : accession_number
  Usage   : $unique_biological_key = $obj->accession_number;
  Function: Returns the unique biological id for a sequence, commonly
            called the accession_number. For sequences from established
            databases, the implementors should try to use the correct
            accession number. Notice that primary_id() provides the
            unique id for the implemetation, allowing multiple objects
            to have the same accession number in a particular implementation.
 
            For sequences with no accession number, this method should return
            "unknown".
  Returns : A string
  Args    : None
 
 

alphabet

  Title   : alphabet
  Usage   : if( $obj->alphabet eq 'dna' ) { /Do Something/ }
  Function: Returns the type of sequence being one of
            'dna', 'rna' or 'protein'. This is case sensitive.
 
            This is not called <type> because this would cause
            upgrade problems from the 0.5 and earlier Seq objects.
 
  Returns : a string either 'dna','rna','protein'. NB - the object must
            make a call of the type - if there is no type specified it
            has to guess.
  Args    : none
  Status  : Virtual
 
 

desc

  Title   : desc
  Usage   : $seqobj->desc($string) or $seqobj->desc()
  Function: Sets or gets the description of the sequence
  Example :
  Returns : The description
  Args    : The description or none
 
 

species

  Title   : species
  Usage   : $species = $seq->species() or $seq->species($species)
  Function: Gets or sets the species
  Example :
  Returns : Bio::Species object
  Args    : None or Bio::Species object
 
 

See Bio::Species for more information

annotation

  Title   : annotation
  Usage   : $ann = $seq->annotation or $seq->annotation($annotation)
  Function: Gets or sets the annotation
  Example :
  Returns : Bio::Annotation object
  Args    : None or Bio::Annotation object
 
 

See Bio::Annotation for more information

is_circular

  Title   : is_circular
  Usage   : if( $obj->is_circular) { /Do Something/ }
  Function: Returns true if the molecule is circular
  Returns : Boolean value
  Args    : none
 
 

BUGS

Report them please.

SEE ALSO

bioperl

AUTHOR

Lincoln Stein <lstein@cshl.org>.

Copyright (c) 2001 Cold Spring Harbor Laboratory.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

CONTRIBUTORS

Jason Stajich <jason@bioperl.org>.