Archive Ensembl HomeArchive Ensembl Home
SeqFeatureI.pm
Go to the documentation of this file.
00001 =head1 LICENSE
00002 
00003   Copyright (c) 1999-2012 The European Bioinformatics Institute and
00004   Genome Research Limited.  All rights reserved.
00005 
00006   This software is distributed under a modified Apache license.
00007   For license details, please see
00008 
00009     http://www.ensembl.org/info/about/code_licence.html
00010 
00011 =head1 CONTACT
00012 
00013   Please email comments or questions to the public Ensembl
00014   developers list at <dev@ensembl.org>.
00015 
00016   Questions may also be sent to the Ensembl help desk at
00017   <helpdesk@ensembl.org>.
00018 
00019 =cut
00020 
00021 =head1 NAME
00022 
00023 Bio::EnsEMBL::SeqFeatureI
00024 
00025 =head1 DESCRIPTION
00026 
00027 Do not use this class. It is deprecated and has been replaced by 
00028 Bio::EnsEMBL::Feature.
00029 
00030 =head1 METHODS
00031 
00032 =cut
00033 
00034 
00035 # Let the code begin...
00036 
00037 
00038 package Bio::EnsEMBL::SeqFeatureI;
00039 
00040 use vars qw(@ISA);
00041 use strict;
00042 use Carp;
00043 
00044 # Object preamble - inherits from Bio::Root::Object
00045 
00046 use Bio::SeqFeatureI;
00047 use Bio::EnsEMBL::Root;
00048 
00049 @ISA = qw(Bio::EnsEMBL::Root Bio::SeqFeatureI);
00050 
00051 
00052 =head1 Abstract methods
00053 
00054 These methods must be implemented in all subclasses.
00055 
00056 
00057 =head2 analysis
00058 
00059  Title   : analysis
00060  Usage   : $sf->analysis();
00061  Function: Store details of the program/database
00062            and versions used to create this feature.
00063            
00064  Example :
00065  Returns : 
00066  Args    :
00067 
00068 
00069 =cut
00070 
00071 sub analysis {
00072    my ($self,$value) = @_;
00073 
00074    $self->throw("Have not implemeneted analysis");
00075 
00076 }
00077 
00078 =head2 validate
00079 
00080  Title   : validate
00081  Usage   : $sf->validate;
00082  Function: Checks whether all the data is present in the
00083            object.
00084  Example :
00085  Returns : 
00086  Args    :
00087 
00088 
00089 =cut
00090 
00091 sub validate {
00092    my ($self,$value) = @_;
00093 
00094    $self->throw("Have not implemeneted validate");
00095 
00096 
00097 }
00098 
00099 
00100 sub id {
00101     my ($self,$value) = @_;
00102 
00103     $self->throw("Have not implemented id");
00104 }
00105 
00106 =head2 percent_id
00107 
00108  Title   : percent_id
00109  Usage   : $pid = $feat->percent_id()
00110            $feat->percent_id($pid)
00111  Function: get/set on percentage identity information
00112  Returns : float
00113  Args    : none if get, the new value if set
00114 
00115 =cut
00116 
00117 sub percent_id {
00118     my ($self) = @_;
00119     $self->throw("percent_id() not yet implemented");
00120 }
00121 
00122 =head2 e_value
00123 
00124  Title   : p_value
00125  Usage   : $p_val = $feat->p_value()
00126            $feat->p_value($p_val)
00127  Function: get/set on p value information
00128  Returns : float
00129  Args    : none if get, the new value if set
00130 
00131 =cut
00132 
00133 sub e_value {
00134     my ($self) = @_;
00135     $self->throw("e value() not yet implemented");
00136 }
00137 
00138 =head2 phase
00139 
00140  Title   : phase
00141  Usage   : $phase = $feat->phase()
00142            $feat->phase($phase)
00143  Function: get/set on start phase of predicted exon feature
00144  Returns : [0,1,2]
00145  Args    : none if get, 0,1 or 2 if set. 
00146 
00147 =cut
00148 
00149 sub phase {
00150     my ($self) = @_;
00151     $self->throw("phase() not yet implemented");
00152 }
00153 
00154 =head2 end_phase
00155 
00156  Title   : end_phase
00157  Usage   : $end_phase = $feat->end_phase()
00158            $feat->end_phase($end_phase)
00159  Function: get/set on end phase of predicted exon feature
00160  Returns : [0,1,2]
00161  Args    : none if get, 0,1 or 2 if set. 
00162 
00163 =cut
00164 
00165 sub end_phase {
00166     my ($self) = @_;
00167     $self->throw("end_phase() not yet implemented");
00168 }
00169 
00170 
00171 # this is a bit too sneaky. 
00172 sub location {
00173     my ($self)= @_;
00174     return $self;
00175 }
00176 
00177 
00178 1;