Branch Coverage

Bio/DB/GFF/Feature.pm
Criterion Covered Total %
branch 56 190 29.4


line true false branch
132 110 395 if defined $fstrand and $fstrand eq '-'
133 505 0 $group ? :
203 45 279 if defined $fstrand and $fstrand eq '-'
205 324 0 $group ? :
253 106 868 if @_
274 106 756 if @_
295 0 279 if @_
315 25 0 if @_
335 25 0 if @_
356 85 562 unless $self->{'fstrand'}
357 0 562 if ($self->absolute)
380 106 1308 if @_
438 0 0 unless my $group = $self->group
439 0 0 unless $group->can('start')
463 0 0 unless $t->can('start')
470 0 0 if ($v == 2.5) { }
0 0 elsif ($v == 3) { }
488 0 282 if (@_)
566 106 0 if (ref(my $t = $clone->type))
567 106 0 $t->can('clone') ? :
571 106 0 if (ref(my $g = $clone->group))
572 106 0 $g->can('clone') ? :
576 0 106 if (my $merged = $self->{'merged_segs'})
600 106 0 if @_
625 0 30 unless my $subfeat = $self->{'subfeatures'}
628 30 0 if ($type) { }
629 0 30 unless my $features = $$subfeat{lc $type}
688 0 0 unless 'Bio::Location::Split'->can('new')
689 0 0 unless 'Bio::Location::Simple'->can('new')
692 0 0 if (my(@segments) = $self->segments) { }
753 0 0 if exists $self->{'merged_segs'}{$type}
755 0 0 unless $Bio::DB::GFF::Feature::a->[1] <=> $Bio::DB::GFF::Feature::b->[1]
762 0 0 if @merged
764 0 0 if (defined $previous and $previous->stop + 1 >= $s->start and $pscore == $score and $previous->method eq $s->method) { }
0 0 elsif (defined $previous and $previous->start == $s->start and $previous->stop == $s->stop and $previous->method eq $s->method) { }
769 0 0 if ($self->absolute and $self->strand < 0) { }
776 0 0 if (ref $g and $g->isa('Bio::DB::GFF::Homol'))
815 0 0 unless my $subfeat = $self->{'subfeatures'}
848 0 20 unless defined(my $id = $self->id)
953 0 0 if $CONSTANT_TAGS{$tag}
956 0 0 if $atts and $atts->{$tag}
968 0 30 if $func_name eq 'DESTROY'
972 30 0 if $func_name =~ /^[A-Z]/
1002 58 249 if (my $subfeat = $self->{'subfeatures'})
1008 201 0 if (defined $self->{'fstrand'}) { }
1009 201 0 if $self->{'fstrand'} ne $strand
1014 168 33 $start < $stop ? :
1015 0 201 if ($shrink and not $first++) { }
1017 0 0 $self->{'fstrand'} ne '-' ? :
1018 0 0 $self->{'fstrand'} ne '-' ? :
1020 168 33 if ($self->{'fstrand'} ne '-') { }
1022 0 168 if not defined $self->{'start'} or $low < $self->{'start'}
1024 6 162 if not defined $self->{'stop'} or $high > $self->{'stop'}
1027 2 31 if not defined $self->{'start'} or $high > $self->{'start'}
1029 0 33 if not defined $self->{'stop'} or $low < $self->{'stop'}
1035 201 0 unless $h and $h->isa('Bio::DB::GFF::Homol')
1036 0 0 unless $g and $g->isa('Bio::DB::GFF::Homol')
1039 0 0 if ($shrink and not $tfirst++) { }
1043 0 0 if ($start <= $stop) { }
1044 0 0 if not defined $g->{'start'} or $start < $g->{'start'}
1045 0 0 if not defined $g->{'stop'} or $stop > $g->{'stop'}
1047 0 0 if not defined $g->{'start'} or $start > $g->{'start'}
1048 0 0 if not defined $g->{'stop'} or $stop < $g->{'stop'}
1079 15 15 if $self->{'sorted'}++
1080 0 15 unless my $strand = $self->strand
1081 0 15 unless my $subfeat = $self->{'subfeatures'}
1086 20 5 if $strand > 0
1090 5 20 if $strand < 0
1112 80 0 if $name
1140 0 0 if $version == 3
1146 0 0 if defined $start and defined $stop and $start > $stop
1153 0 0 if (my $t = $self->target) { }
0 0 elsif (my $g = $self->group) { }
1154 0 0 $version == 2.5 ? :
1160 0 0 $name =~ /\S\s\S/ ? :
1167 0 0 if $v =~ /\S\s+\S/
1174 0 0 ref $ref ? :
1176 0 0 unless defined $phase
1177 0 0 defined $start ? :
0 0 defined $stop ? :
0 0 defined $self->score ? :
0 0 defined $strand ? :
1207 0 0 if defined $start and defined $stop and $start > $stop
1211 0 0 ref $ref ? :
1213 0 0 unless defined $phase
1217 0 0 if (my $g = $self->group)
1220 0 0 if defined $class
1221 0 0 if not defined $parent or $name ne $parent
1224 0 0 if defined $parent and $parent ne ''
1226 0 0 if (my $t = $self->target)
1227 0 0 if $t->stop < $t->start
1239 0 0 if ($recurse)
1260 0 0 if $version
1302 0 0 if ($factory->can('create_cmap_viewer_link'))
1309 0 0 unless $link_str