File Coverage

blib/lib/Bio/ViennaNGS/MinimalFeature.pm
Criterion Covered Total %
statement 10 12 83.3
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1             # -*-CPerl-*-
2             # Last changed Time-stamp: <2014-12-20 00:32:56 mtw>
3              
4             package Bio::ViennaNGS::MinimalFeature;
5              
6 1     1   1284 use 5.12.0;
  1         3  
  1         33  
7 1     1   3 use version; our $VERSION = qv('0.12_07');
  1         1  
  1         4  
8 1     1   484 use namespace::autoclean;
  1         14748  
  1         5  
9              
10 1     1   240 use Moose::Util::TypeConstraints;
  0            
  0            
11             subtype 'PlusOrMinus',
12             as 'Str',
13             where { /[\+\-\.]/ },
14             message { "$_ is neither +/- nor ."};
15             no Moose::Util::TypeConstraints;
16              
17             use Moose;
18             with 'MooseX::Clone';
19              
20             has 'chromosome' => (
21             is => 'rw',
22             isa => 'Str',
23             required => 1,
24             predicate => 'has_chromosome',
25             );
26              
27             has 'start' => (
28             is => 'rw',
29             isa => 'Int',
30             required => 1,
31             predicate => 'has_start',
32             );
33              
34             has 'end' => (
35             is => 'rw',
36             isa => 'Int',
37             required => 1,
38             predicate => 'has_end',
39             );
40              
41             has 'strand' => (
42             is => 'rw',
43             isa => 'PlusOrMinus',
44             default => '.',
45             predicate => 'has_strand',
46             );
47              
48             sub set_minimalFeature{
49             my ($self,$chr,$start,$end,$strand) = @_;
50             $self->chromosome($chr);
51             $self->start($start);
52             $self->end($end);
53             $self->strand($strand);
54             }
55              
56             no Moose;
57              
58             1;
59