diff variant_effect_predictor/Bio/AnalysisResultI.pm @ 0:2bc9b66ada89 draft default tip

Uploaded
author mahtabm
date Thu, 11 Apr 2013 06:29:17 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/variant_effect_predictor/Bio/AnalysisResultI.pm	Thu Apr 11 06:29:17 2013 -0400
@@ -0,0 +1,229 @@
+#-----------------------------------------------------------------
+# $Id: AnalysisResultI.pm,v 1.5 2002/10/22 07:38:24 lapp Exp $
+#
+# BioPerl module Bio::AnalysisResultI
+#
+# Cared for by Steve Chervitz <sac@bioperl.org>
+#
+# Derived from Bio::Tools::AnalysisResult by Hilmar Lapp <hlapp@gmx.net>
+#
+# You may distribute this module under the same terms as perl itself
+#-----------------------------------------------------------------
+
+# POD documentation - main docs before the code
+
+=head1 NAME
+
+Bio::AnalysisResultI - Interface for analysis result objects
+
+=head1 SYNOPSIS
+
+Bio::AnalysisResultI defines an interface that must be implemented by
+a subclass. So you cannot create Bio::AnalysisResultI objects,
+only objects that inherit from Bio::AnalysisResultI. 
+
+=head1 DESCRIPTION
+
+The AnalysisResultI module provides an interface for modules
+encapsulating the result of an analysis that was carried out with a
+query sequence and an optional subject dataset.
+
+The notion of an analysis represented by this base class is that of a unary or
+binary operator, taking either one query or a query and a subject and producing
+a result. The query is e.g. a sequence, and a subject is either a sequence,
+too, or a database of sequences. 
+
+This interface defines methods to access analysis result data and does
+not impose any contraints on how the analysis result data is acquired.
+
+Note that this module does not provide support for B<running> an analysis.
+Rather, it is positioned in the subsequent parsing step (concerned with
+turning raw results into BioPerl objects).
+
+=head1 FEEDBACK
+
+=head2 Mailing Lists
+
+User feedback is an integral part of the evolution of this and other
+Bioperl modules. Send your comments and suggestions preferably to one
+of the Bioperl mailing lists.  Your participation is much appreciated.
+
+  bioperl-l@bioperl.org          - General discussion
+  http://bio.perl.org/MailList.html             - About the mailing lists
+
+=head2 Reporting Bugs
+
+Report bugs to the Bioperl bug tracking system to help us keep track
+the bugs and their resolution.  Bug reports can be submitted via email
+or the web:
+
+  bioperl-bugs@bio.perl.org
+  http://bugzilla.bioperl.org/
+
+=head1 AUTHOR - Steve Chervitz, Hilmar Lapp
+
+Email sac@bioperl.org
+Email hlapp@gmx.net (author of Bio::Tools::AnalysisResult on which this module is based)
+
+=head1 COPYRIGHT
+
+Copyright (c) 2001 Steve Chervitz. All Rights Reserved.
+
+=head1 DISCLAIMER
+
+This software is provided "as is" without warranty of any kind.
+
+=head1 APPENDIX
+
+The rest of the documentation details each of the object
+methods. Internal methods are usually preceded with a _
+
+=cut
+
+
+# Let the code begin...
+
+
+package Bio::AnalysisResultI;
+use strict;
+use vars qw(@ISA);
+
+use Bio::Root::RootI;
+
+@ISA = qw( Bio::Root::RootI );
+
+
+=head2 analysis_query
+
+ Usage     : $query_obj = $result->analysis_query();
+ Purpose   : Get a Bio::PrimarySeqI-compatible object representing the entity 
+             on which the analysis was performed. Lacks sequence information.
+ Argument  : n/a
+ Returns   : A Bio::PrimarySeqI-compatible object without sequence information.
+             The sequence will have display_id, description, moltype, and length data.
+
+=cut
+
+#---------------------
+sub analysis_query {
+#---------------------
+    my ($self) = @_;
+    $self->throw_not_implemented;
+}
+
+
+=head2 analysis_subject
+
+ Usage     : $obj = $result->analyis_subject();
+ Purpose   : Get the subject of the analysis against which it was
+             performed. For similarity searches it will probably be a database,
+             and for sequence feature predictions (exons, promoters, etc) it
+             may be a collection of models or homologous sequences that were
+             used, or undefined.
+ Returns   : An object of a type the depends on the implementation
+             May also return undef for analyses that don\'t involve subjects.
+ Argument  : n/a
+ Comments  : Implementation of this method is optional.
+             AnalysisResultI provides a default behavior of returning undef.
+
+=cut
+
+#---------------
+sub analysis_subject { 
+#---------------
+    my ($self) = @_; 
+    return undef;
+}
+
+=head2 analysis_subject_version
+
+ Usage     : $vers = $result->analyis_subject_version();
+ Purpose   : Get the version string of the subject of the analysis.
+ Returns   : String or undef for analyses that don\'t involve subjects.
+ Argument  : n/a
+ Comments  : Implementation of this method is optional.
+             AnalysisResultI provides a default behavior of returning undef.
+
+=cut
+
+#---------------
+sub analysis_subject_version { 
+#---------------
+    my ($self) = @_; 
+    return undef;
+}
+
+
+=head2 analysis_date
+
+ Usage     : $date = $result->analysis_date();
+ Purpose   : Get the date on which the analysis was performed.
+ Returns   : String
+ Argument  : n/a
+
+=cut
+
+#---------------------
+sub analysis_date {
+#---------------------
+    my ($self) = @_;
+    $self->throw_not_implemented;
+}
+
+=head2 analysis_method
+
+ Usage     : $meth = $result->analysis_method();
+ Purpose   : Get the name of the sequence analysis method that was used
+             to produce this result (BLASTP, FASTA, etc.). May also be the
+             actual name of a program.
+ Returns   : String
+ Argument  : n/a
+
+=cut
+
+#-------------
+sub analysis_method { 
+#-------------
+    my ($self) = @_;  
+    $self->throw_not_implemented;
+}
+
+=head2 analysis_method_version
+
+ Usage     : $vers = $result->analysis_method_version();
+ Purpose   : Get the version string of the analysis program.
+           : (e.g., 1.4.9MP, 2.0a19MP-WashU).
+ Returns   : String
+ Argument  : n/a
+
+=cut
+
+#---------------------
+sub analysis_method_version {
+#---------------------
+    my ($self) = @_; 
+    $self->throw_not_implemented;
+}
+
+=head2 next_feature
+
+ Title   : next_feature
+ Usage   : $seqfeature = $obj->next_feature();
+ Function: Returns the next feature available in the analysis result, or
+           undef if there are no more features.
+ Example :
+ Returns : A Bio::SeqFeatureI implementing object, or undef if there are no
+           more features.
+ Args    : none
+
+=cut
+
+#---------------------
+sub next_feature {
+#---------------------
+    my ($self);
+    $self->throw_not_implemented;
+}
+
+
+1;