Branch Coverage

blib/lib/Ace/Sequence.pm
Criterion Covered Total %
branch 107 204 52.5


line true false branch
72 0 25 unless ref $seq or $seq and $db
76 0 25 if defined $start and not defined $offset
79 0 0 $end > $start ? :
0 25 if defined $end and not defined $length
83 24 1 ref $seq ? :
84 0 25 unless ($obj)
92 0 25 unless $parent
98 4 21 if $strand < 0
101 16 9 if $obj->can('smapped')
104 16 9 $obj->can('smapped') ? :
120 17 8 if defined $refseq
139 5 1 $end > $start ? :
147 0 10 if @_
155 18 1000 if (@_)
159 0 18 unless defined $refseq
162 0 18 if (ref $refseq and ref $refseq eq 'ARRAY')
167 16 2 if (ref $refseq and $refseq->can('smapped'))
168 0 16 unless $self->parent eq $refseq->parent
180 2 0 unless $refseq->isa('Ace::Object')
182 0 2 unless $refseq
186 0 2 unless $r_parent eq $$self{'parent'}
194 0 1018 unless $prev
195 0 1018 if $self->absolute
196 534 484 wantarray ? :
205 0 134 if $self->absolute
206 134 0 if (my($ref, $r_offset, $r_strand) = $self->refseq) { }
223 0 24 if @_
234 389 36 unless defined $abs
235 36 389 if $abs
237 389 0 if ($self->refseq) { }
239 34 355 $r_strand < 0 ? :
252 47 59 $$self{'length'} > 0 ? :
253 17 89 if ($abs and $self->refseq ne $self->parent)
255 9 8 if $r_strand < 0 or $$self{'strand'} < 0 or $$self{'length'} < 0
259 82 7 if $self->r_strand eq $$self{'strand'}
267 0 1611 if defined $_[0]
274 0 59 if ($self->absolute) { }
59 0 elsif (my $ref = $self->refseq) { }
277 0 59 $ref->isa('Ace::Sequence::Feature') ? :
287 0 3 if (ref $arg and $arg->isa('Ace::Sequence'))
290 0 0 $reversed ? :
293 0 3 $reversed ? :
299 0 12 if $$self{'dna'}
305 9 3 $self->end >= $self->start ? :
306 8 4 if $self->r_strand ne $effective_strand
314 6 0 unless defined $abs
321 0 6 if $self->debug
323 6 0 unless $abs
331 0 0 unless require GFF
339 0 0 if $gff
355 5 0 if ($self->automerge)
358 0 5 if ($types{'transcript'})
362 0 5 if $types{'clone'}
363 0 5 if ($types{'similarity'})
370 5 0 wantarray ? :
379 0 1 $curated ? :
380 0 1 $curated ? :
381 0 1 $curated ? :
383 0 1 unless @features
396 2 102 unless $transcript
397 83 19 if ($feature->type =~ /^(exon|intron|cds)$/) { }
19 0 elsif ($feature->type eq 'Sequence') { }
407 8 11 unless exists $transcripts{$_}{'exon'}
419 0 0 unless @clones
428 0 0 $self->strand < 0 ? :
429 0 0 $self->strand < 0 ? :
431 0 0 if $feature->type eq 'Clone_left_end'
432 0 0 if $feature->type eq 'Clone_right_end'
434 0 0 if ($feature->type eq 'Sequence')
436 0 0 if $info =~ /LINK|CHROMOSOME|\.\w+$/
437 0 0 if ($info->Genomic_canonical(0))
438 0 0 if $info->Clone
451 0 0 if ($abs)
475 0 0 unless @types
492 0 0 unless $feature->type eq 'similarity'
505 0 0 if $$self{'feature_list'}
506 0 0 unless my $raw = $self->_query('seqfeatures -version 2 -list')
521 5 1 if ($ref_strand > 0) { }
522 5 0 defined $ref_offset ? :
530 1 0 defined $ref_offset ? :
559 16 11 if $obj->isa('Ace::Sequence')
564 11 0 if $obj->isa('Ace::Object')
574 0 0 if exists $CACHE{$obj}
576 0 0 unless $p
584 0 0 if @pieces
603 6 5 $tl_start < $tl_end ? :
605 5 6 $strand < 0 ? :
11 0 if $length
631 0 7 if ($automerge and lc $type eq 'transcript') { }
0 7 elsif ($automerge and lc $type eq 'clone') { }
644 5 0 if (%filter) { }
649 7 0 if ($type ne '') { }
651 0 7 defined $st ? :
657 0 0 unless defined $st
666 0 5 if $@
670 0 5 $promiscuous ? :
681 0 5 if ($abs)
709 5 13 if $start > $end
719 0 18 if $self->debug
734 1 5 unless $features
736 5 0 if ref $features eq 'ARRAY' and @$features
737 0 5 unless ref $features