Branch Coverage

Bio/Tools/GFF.pm
Criterion Covered Total %
branch 114 260 43.8


line true false branch
201 16 0 unless $noparse
204 0 16 unless ($self->gff_version($gff_version))
235 0 46 if /^\s+$/
236 42 4 if ($line =~ /^\#\#sequence-region\s+(\S+)\s+(\S+)\s+(\S+)\s*/) { }
0 4 elsif ($line =~ /^(\#\#feature-ontology)/) { }
0 4 elsif ($line =~ /^(\#\#attribute-ontology)/) { }
0 4 elsif ($line =~ /^(\#\#source-ontology)/) { }
0 4 elsif ($line =~ /^(\#\#\#)/) { }
0 4 elsif ($line =~ /^(\#\#FASTA)/) { }
260 0 0 unless ($line =~ /^\>(\S+)/)
265 0 46 if ($line =~ /^\>(.*)/)
268 0 0 if ($seq)
274 4 42 unless ($handled)
279 3 43 unless $line =~ /^\#/
292 0 0 if ($line =~ /^\>(.*)/) { }
297 0 0 if ($seqid =~ /(\S+)\s+(.*)/)
302 0 0 if ($line =~ /^\#/)
305 0 0 if ($line =~ /^\>/)
312 0 0 if $self->ignore_sequence
319 0 0 if ($self->features_attached_to_seqs)
349 1 0 if defined $self->{'segments'}
375 0 3 if ($gff_string =~ /^\#\#\#/)
378 0 3 if $gff_string =~ /^\#/ or $gff_string =~ /^\s*$/ or $gff_string =~ m[^//]
384 0 0 if ($seq)
387 0 0 unless $gff_string
392 1 3 unless $gff_string
397 0 3 if ($self->features_attached_to_seqs)
407 0 0 if @_
409 0 0 unless $self->{'__feature_idx_by_seq_id'}
434 1 2 if ($self->gff_version == 1) { }
1 1 elsif ($self->gff_version == 3) { }
462 0 1 unless (defined $frame)
465 1 0 unless $frame =~ /^\d+$/
472 0 1 if ($score eq '.') { }
477 1 0 if ($strand eq '-')
478 0 1 if ($strand eq '+')
479 0 1 if ($strand eq '.')
481 0 0 if ($g =~ /(\S+)=(\S+)/) { }
523 0 1 unless (defined $frame)
532 0 1 if ($score eq '.') { }
537 1 0 if ($strand eq '-')
538 0 1 if ($strand eq '+')
539 0 1 if ($strand eq '.')
558 1 1 $flag == 0 ? :
2 59 if ($a eq '"') { }
1 58 elsif ($a eq ';' and $flag) { }
0 116 elsif ($a eq '#' and not $flag) { }
577 3 0 if (defined $values)
594 2 0 if (length $othervalue > 0)
616 0 1 unless (defined $frame)
625 1 0 if ($score eq '.') { }
630 0 1 if ($strand eq '-')
631 1 0 if ($strand eq '+')
632 0 1 if ($strand eq '.')
664 0 3 unless @features
665 1 2 if ($self->{'_first'} and $self->gff_version == 3)
693 1 10 if ($self->gff_version == 1) { }
8 2 elsif ($self->gff_version == 3) { }
0 2 elsif ($self->gff_version == 2.5) { }
720 1 0 if ($feat->can('score'))
723 0 1 unless defined $score
725 1 0 if ($feat->can('frame'))
728 1 0 unless defined $frame
731 0 1 if (not $strand) { }
0 1 elsif ($strand == 1) { }
1 0 elsif ($feat->strand == -1) { }
739 1 0 if ($feat->can('seqname')) { }
757 1 3 if exists $SKIPPED_TAGS{$tag}
759 3 0 if $value
781 0 2 if ($origfeat->isa('Bio::SeqFeature::FeaturePair')) { }
788 2 0 if ($feat->can('score'))
791 1 1 unless defined $score
793 2 0 if ($feat->can('frame'))
796 2 0 unless defined $frame
799 0 2 if (not $strand) { }
1 1 elsif ($strand == 1) { }
1 0 elsif ($feat->strand == -1) { }
807 2 0 if ($feat->can('seqname'))
834 1 6 if exists $SKIPPED_TAGS{$tag}
837 6 0 defined $value && length $value ? :
854 0 2 if (not $feat->has_tag('Target') || $feat->has_tag('Group') and $origfeat->isa('Bio::SeqFeature::FeaturePair'))
857 0 0 $origfeat->feature1->strand < 0 ? :
0 0 $str2 ? :
883 0 0 if ($origfeat->isa('Bio::SeqFeature::FeaturePair')) { }
890 0 0 if ($feat->can('score'))
893 0 0 unless defined $score
895 0 0 if ($feat->can('frame'))
898 0 0 unless defined $frame
901 0 0 if (not $strand) { }
0 0 elsif ($strand == 1) { }
0 0 elsif ($feat->strand == -1) { }
909 0 0 if ($feat->can('seqname')) { }
927 0 0 if (@all_tags)
931 0 0 if exists $SKIPPED_TAGS{$tag}
932 0 0 defined $value && length $value ? :
946 0 0 if ($tag eq 'Group' or $tag eq 'Target') { }
955 0 0 if (not $feat->has_tag('Target') || $feat->has_tag('Group') and $origfeat->isa('Bio::SeqFeature::FeaturePair'))
958 0 0 $origfeat->feature1->strand < 0 ? :
0 0 $str2 ? :
984 0 8 if ($origfeat->isa('Bio::SeqFeature::FeaturePair')) { }
994 8 0 if ($feat->can('score'))
997 1 7 unless defined $score
999 8 0 if ($feat->can('frame'))
1002 1 7 unless defined $frame
1006 0 8 if (not $strand) { }
8 0 elsif ($strand == 1) { }
0 0 elsif ($feat->strand == -1) { }
1014 8 0 if ($feat->can('seqname')) { }
1027 19 5 if $feat->has_tag($t)
1031 7 29 if exists $SKIPPED_TAGS{$tag}
1033 7 22 if ($tag eq 'Target' and not $origfeat->isa('Bio::SeqFeature::FeaturePair'))
1035 0 7 if (scalar @values > 1)
1038 0 0 unless defined $e and defined $b and $target_id
1039 0 0 if defined $strand and $strand < 0
1041 0 0 if ($strand) { }
1053 27 2 if (defined $value and length $value) { }
1055 0 27 if (ref $value eq 'Bio::Annotation::Comment')
1059 8 19 if ($value =~ /[^a-zA-Z0-9\,\;\=\.:\%\^\*\$\@\!\+\_\?\-]/)
1075 3 26 unless $tag =~ /^(ID|Name|Alias|Parent|Gap|Target|Derives_from|Note|Dbxref|Ontology_term)$/
1081 0 7 if ($feat->has_tag('Target') and not $feat->has_tag('Group') and $origfeat->isa('Bio::SeqFeature::FeaturePair'))
1088 0 0 $origfeat->feature1->strand < 0 ? :
1099 0 8 if ($feat->can('name') and defined $feat->name)
1105 0 8 if ($feat->location->isa('Bio::Location::SplitLocationI')) { }
1150 16 31 if (defined $value and grep {$value == $_;} 1, 2, 2.5, 3)
1174 0 0 unless my $self = $class->new(@_)
1211 0 0 if @_
1213 0 0 unless $self->{'_seq_by_id_h'}
1259 0 3 if @_
1282 0 0 if @_
1299 0 0 unless wantarray