Provided by: libbio-perl-perl_1.7.8-1_all bug

NAME

       Bio::SeqFeature::Computation - Computation SeqFeature

SYNOPSIS

          $feat = Bio::SeqFeature::Computation->new(
              -start => 10,
              -end => 100,
              -strand => -1,
              -primary => 'repeat',
              -program_name => 'GeneMark',
              -program_date => '12-5-2000',
              -program_version => 'x.y',
              -database_name => 'Arabidopsis',
              -database_date => '12-dec-2000',
              -computation_id => 2231,
              -score => { no_score => 334 }
          );

DESCRIPTION

       Bio::SeqFeature::Computation extends the Generic seqfeature object with a set of
       computation related fields and a more flexible set of storing more types of score and
       subseqfeatures. It is compatible with the Generic SeqFeature object.

       The new way of storing score values is similar to the tag structure in the Generic object.
       For storing sets of subseqfeatures the array containing the subseqfeatures is now a hash
       which contains arrays of seqfeatures Both the score and subSeqfeature methods can be
       called in exactly the same way, the value's will be stored as a 'default' score or
       subseqfeature.

FEEDBACK

   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://bioperl.org/wiki/Mailing_lists  - About the mailing lists

   Support
       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 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 the web:

         https://github.com/bioperl/bioperl-live/issues

AUTHOR - Ewan Birney, Mark Fiers

       Ewan Birney <birney@sanger.ac.uk>

       Mark Fiers <m.w.e.j.fiers@plant.wag-ur.nl>

DEVELOPERS

       This class has been written with an eye out of inheritance. The fields the actual object
       hash are:

          _gsf_sub_hash  = reference to a hash containing sets of sub arrays
          _gsf_score_hash= reference to a hash for the score values

APPENDIX

       The rest of the documentation details each of the object methods. Internal methods are
       usually preceded with a _

   has_score
        Title   : has_score
        Usage   : $value = $self->has_score('some_score')
        Function: Tests whether a feature contains a score
        Returns : TRUE if the SeqFeature has the score,
                  and FALSE otherwise.
        Args    : The name of a score

   add_score_value
        Title   : add_score_value
        Usage   : $self->add_score_value('P_value',224);
        Returns : TRUE on success
        Args    : score (string) and value (any scalar)

   score
        Title   : score
        Usage   : $value = $comp_obj->score()
                  $comp_obj->score($value)
        Function: Returns the 'default' score or sets the 'default' score
                  This method exist for compatibility options
                  It would equal ($comp_obj->each_score_value('default'))[0];
        Returns : A value
        Args    : (optional) a new value for the 'default' score

   each_score_value
        Title   : each_score_value
        Usage   : @values = $gsf->each_score_value('note');
        Function: Returns a list of all the values stored
                  under a particular score.
        Returns : A list of scalars
        Args    : The name of the score

   all_scores
        Title   : all_scores
        Usage   : @scores = $feat->all_scores()
        Function: Get a list of all the scores in a feature
        Returns : An array of score names
        Args    : none

   remove_score
        Title   : remove_score
        Usage   : $feat->remove_score('some_score')
        Function: removes a score from this feature
        Returns : nothing
        Args    : score (string)

   computation_id
        Title   : computation_id
        Usage   : $computation_id = $feat->computation_id()
                  $feat->computation_id($computation_id)
        Function: get/set on program name information
        Returns : string
        Args    : none if get, the new value if set

   program_name
        Title   : program_name
        Usage   : $program_name = $feat->program_name()
                  $feat->program_name($program_name)
        Function: get/set on program name information
        Returns : string
        Args    : none if get, the new value if set

   program_date
        Title   : program_date
        Usage   : $program_date = $feat->program_date()
                  $feat->program_date($program_date)
        Function: get/set on program date information
        Returns : date (string)
        Args    : none if get, the new value if set

   program_version
        Title   : program_version
        Usage   : $program_version = $feat->program_version()
                  $feat->program_version($program_version)
        Function: get/set on program version information
        Returns : date (string)
        Args    : none if get, the new value if set

   database_name
        Title   : database_name
        Usage   : $database_name = $feat->database_name()
                  $feat->database_name($database_name)
        Function: get/set on program name information
        Returns : string
        Args    : none if get, the new value if set

   database_date
        Title   : database_date
        Usage   : $database_date = $feat->database_date()
                  $feat->database_date($database_date)
        Function: get/set on program date information
        Returns : date (string)
        Args    : none if get, the new value if set

   database_version
        Title   : database_version
        Usage   : $database_version = $feat->database_version()
                  $feat->database_version($database_version)
        Function: get/set on program version information
        Returns : date (string)
        Args    : none if get, the new value if set

   get_SeqFeature_type
        Title   : get_SeqFeature_type
        Usage   : $SeqFeature_type = $feat->get_SeqFeature_type()
                  $feat->get_SeqFeature_type($SeqFeature_type)
        Function: Get SeqFeature type which is automatically set when adding
                  a computation (SeqFeature) to a computation object
        Returns : SeqFeature_type (string)
        Args    : none if get, the new value if set

   get_all_SeqFeature_types
        Title   : get_all_SeqFeature_types
        Usage   : @all_SeqFeature_types = $comp->get_all_SeqFeature_types();
        Function: Returns an array with all subseqfeature types
        Returns : An array
        Args    : none

   get_SeqFeatures
        Title   : get_SeqFeatures('feature_type')
        Usage   : @feats = $feat->get_SeqFeatures();
                  @feats = $feat->get_SeqFeatures('feature_type');
        Function: Returns an array of sub Sequence Features of a specific
                  type or, if the type is omitted, all sub Sequence Features
        Returns : An array
        Args    : (optional) a SeqFeature type (ie exon, pattern)

   add_SeqFeature
        Title   : add_SeqFeature
        Usage   : $feat->add_SeqFeature($subfeat);
                  $feat->add_SeqFeature($subfeat,'seqfeature_type')
                  $feat->add_SeqFeature($subfeat,'EXPAND')
                  $feat->add_SeqFeature($subfeat,'EXPAND','seqfeature_type')
        Function: adds a SeqFeature into a specific subSeqFeature array.
                  with no 'EXPAND' qualifer, subfeat will be tested
                  as to whether it lies inside the parent, and throw
                  an exception if not.
                  If EXPAND is used, the parents start/end/strand will
                  be adjusted so that it grows to accommodate the new
                  subFeature,
                  optionally a seqfeature type can be defined.
        Returns : nothing
        Args    : An object which has the SeqFeatureI interface
                  (optional) 'EXPAND'
                  (optional) 'SeqFeature_type'

   remove_SeqFeatures
        Title   : remove_SeqFeatures
        Usage   : $sf->remove_SeqFeatures
                  $sf->remove_SeqFeatures('SeqFeature_type');
        Function: Removes all sub SeqFeature or all sub SeqFeatures of a specified type
                  (if you want to remove a more specific subset, take an array of them
                  all, flush them, and add back only the guys you want)
        Example :
        Returns : none
        Args    : none