NAME

GenOO::Region - Role that represents a region on a reference sequence

SYNOPSIS

This role when consumed requires specific attributes and provides
methods that correspond to a region on a reference sequence.

DESCRIPTION

A region object is an area on another reference sequence. It has a
specific start and stop position on the reference and a specific 
direction (strand). It has methods that combine the direction with
the positional information a give positions for the head or the tail
of the region. It also offers methods that calculate distances or
overlaps with other object that also consume the role.

EXAMPLES

# Get the location information on the reference sequence
$obj_with_role->start;   # 10
$obj_with_role->stop;    # 20
$obj_with_role->strand;  # -1

# Get the head position on the reference sequence
$obj_with_role->head_position;  # 20