NAME

Bio::Polloc::RuleI - Generic rules interface

DESCRIPTION

Use this interface to initialize the Bio::Polloc::Rule::* objects. Any rule inherits from this Interface. Usually, rules are initialized in sets (via the Bio::Polloc::RuleIO package).

AUTHOR - Luis M. Rodriguez-R

Email lmrodriguezr at gmail dot com

IMPLEMENTS OR EXTENDS

APPENDIX

Methods provided by the package

new

  • Attempts to initialize a Bio::Polloc::Rule::* object

  • Arguments

    -type

    The type of rule

    -value

    The value of the rule (depends on the type of rule)

    -context

    The context of the rule. See Bio::Polloc::RuleI->context.

  • Returns

    The Bio::Polloc::Rule::* object

  • Throws

    Bio::Polloc::Polloc::Error if unable to initialize the proper object

type

  • Gets/sets the type of rule

  • Arguments

    Value (str). Can be: pattern, profile, repeat, tandemrepeat, similarity, coding, boolean, composition, crispr. See the corresponding Bio::Polloc::Rule::* objects for further details.

    Some variations can be introduced, like case variations or short versions like patt or rep.

  • Return

    Value (str). The type of the rule, or undef if undefined. The value returned is undef or a string from the above list, regardless of the input variations.

  • Throws

    Bio::Polloc::Polloc::Error if an unsupported type is received.

context

  • Gets/sets the context of the rule.

    The context is a reference to an array of two elements (int or str), the first being: 1 => with respect to the start of the sequence 0 => somewhere within the sequence (ignores the second) -1 => with respect to the end of the sequence

    And the second being the number of residues from the reference point. The second value can be positive, negative, or zero.

  • Arguments

    Three integers, or one integer equal to zero. Please note that this function is extremely tolerant, and tries to guess the context regardless of the input.

  • Returns

    A reference to the array described above.

value

  • Gets/sets the value of the rule

  • Arguments

    Value (mix)

  • Returns

    Value (mix)

  • Note

    This function relies on _qualify_value

  • Throws

    Bio::Polloc::Polloc:Error if unsupported value is received

executable

  • Sets/gets the executable property. A rule can be executed even if this property is false, if the Bio::Polloc::RuleI::execute method is called directly ($rule->execute) or by other rule. This property is provided only for Bio::Polloc::RuleIO objects.

  • Arguments

    Boolean (0 or 1; optional)

  • Returns

    1 if expicilty executable, 0 otherwise

  • Note

    It is advisable to have only few (ideally one) executable rules, handling all the others with the rule type operation

name

  • Sets/gets the name of the rule

  • Arguments

    Name (str), the name to set

  • Returns

    The name (str or undef)

id

  • Sets/gets the ID of the rule

  • Purpose

    Provide a somewhat unique but human-readable identifier

  • Arguments

    The supposedly unique ID of the rule (str), any dot (.) will be changed to _

  • Returns

    The ID (str or undef)

restart_index

stringify

  • Provides an easy method for the (str) description of any Bio::Polloc::RuleI object.

  • Returns

    The stringified object (str, off course)

stringify_value

  • Dummy function to be overriten if non-string value like in Bio::Polloc::Rule::repeat

  • Returns

    The value as string

ruleset

execute

safe_value

  • Sets/gets a parameter of arbitrary name and value

  • Purpose

    To provide a safe interface for setting values from the parsed file

  • Arguments

    -param

    The parameter's name (case insensitive)

    -value

    The value of the parameter (optional)

  • Returns

    The value of the parameter or undef

source

  • Sets/gets the source of the annotation

  • Arguments

    The source (str)

  • Returns

    The source (str or undef)

INTERNAL METHODS

Methods intended to be used only witin the scope of Bio::Polloc::*

_qualify_type

_parameters

  • Returns the supported parameters for value.

  • Returns

    The supported value keys (arrayref).

_qualify_value

  • Takes the different possible values and returns them the way they must be saved (usually a hashref). Bio::Polloc::Rule::* modules must reimplement either _qualify_value or _parameters.

_qualify_value_default

_executable

  • Attempts to find the executable

  • Arguments

    • An alternative path to search at str.

_initialize

_search_value

Arguments

The key (str)

Returns

The value (mix) or undef

_next_child_id

  • Gets the ID for the next child.

  • Purpose

    Provide support for children identification

  • Returns

    The ID (str) or undef if the ID of the current Rule is not set.

36 POD Errors

The following errors were encountered while parsing the POD:

Around line 48:

Expected '=item *'

Around line 66:

Expected '=item *'

Around line 70:

Expected '=item *'

Around line 126:

Expected '=item *'

Around line 135:

Expected '=item *'

Around line 140:

Expected '=item *'

Around line 177:

Expected '=item *'

Around line 182:

Expected '=item *'

Around line 211:

Expected '=item *'

Around line 215:

Expected '=item *'

Around line 219:

Expected '=item *'

Around line 223:

Expected '=item *'

Around line 252:

Expected '=item *'

Around line 256:

Expected '=item *'

Around line 260:

Expected '=item *'

Around line 289:

Expected '=item *'

Around line 293:

Expected '=item *'

Around line 316:

Expected '=item *'

Around line 320:

Expected '=item *'

Around line 324:

Expected '=item *'

Around line 359:

Expected '=item *'

Around line 384:

Expected '=item *'

Around line 405:

Expected '=item *'

Around line 409:

Expected '=item *'

Around line 435:

Expected '=item *'

Around line 439:

Expected '=item *'

Around line 443:

Expected '=item *'

Around line 461:

Expected '=item *'

Around line 465:

Expected '=item *'

Around line 479:

Expected '=item *'

Around line 508:

Expected '=item *'

Around line 512:

Expected '=item *'

Around line 559:

Expected '=item *'

Around line 633:

Expected '=item *'

Around line 694:

Expected '=item *'

Around line 698:

Expected '=item *'