Branch Coverage

blib/lib/Bio/FeatureIO/gff.pm
Criterion Covered Total %
branch 88 228 38.6


line true false branch
111 0 7 if ($arg{'-file'} =~ /^>.*/) { }
123 0 7 if ($self->validate)
144 1 67 if ($f)
148 2 65 if $self->fasta_mode
153 0 68 if $gff_string =~ /^\s*$/
154 3 65 if $gff_string =~ /^\#[^#]/
158 0 65 unless $gff_string
161 2 63 if ($gff_string =~ /^>/) { }
6 57 elsif ($gff_string =~ /^##/) { }
169 2 0 if ($pos >= 0) { }
227 6 24 if (ref $anno_ID)
230 0 6 if exists $seen_ids{$attr_ID}
239 24 6 if (@parents) { }
242 0 24 unless exists $seen_ids{$parent_id}
262 5 12 unless $self->fasta_mode
265 6 6 unless ($self->seqio)
284 0 0 unless ($feature)
287 0 0 unless $feature->isa('Bio::SeqFeature::Annotated')
289 0 0 if ($self->version == 1) { }
0 0 elsif ($self->version == 2) { }
0 0 elsif ($self->version == 2.5) { }
0 0 elsif ($self->version == 3) { }
324 7 84 if defined $val
326 7 84 if ($val and $val == 1)
346 6 24 if defined $val
362 1 0 if (defined $k and defined $v) { }
0 0 elsif (defined $k) { }
388 0 0 if defined $val
405 7 73 if defined $val
422 7 0 if (defined $val and $valid{$val}) { }
0 0 elsif (defined $val) { }
449 1 74 if ($f) { }
2 72 elsif ($self->{'buffer'}) { }
474 6 12 if ($directive eq 'gff-version') { }
1 11 elsif ($directive eq 'sequence-region') { }
1 10 elsif ($directive eq 'feature-ontology') { }
1 9 elsif ($directive eq 'attribute-ontology') { }
1 8 elsif ($directive eq 'source-ontology') { }
5 3 elsif ($directive eq 'FASTA' or $directive =~ /^>/) { }
3 0 elsif ($directive eq '#') { }
0 0 elsif ($directive eq 'organism') { }
476 0 6 if ($version != 3)
486 0 1 unless $arg[1] and $arg[2]
556 57 0 unless $start eq '.'
557 57 0 unless $end eq '.'
558 54 0 $strand eq '-' ? :
3 54 $strand eq '+' ? :
564 0 57 if ($self->validate) { }
567 0 0 if ($seq =~ /[^a-zA-Z0-9\.\-\:\^\*\$\@\!\+\_\?]/)
571 0 0 if ($seq =~ /\s/)
576 0 0 if ($seq =~ /^>/)
583 0 0 if ($start > $end)
591 0 0 if (defined $region and $start < $region->start or $end > $region->end)
597 0 0 if $strand =~ /^[^\+\-\.\?]$/
600 0 0 if $phase =~ /^[^\.012]$/
603 0 0 if ($type =~ /^\D+:\d+$/) { }
611 0 0 unless ($feature_type)
617 0 57 if ($type =~ /^\D+:\d+$/) { }
630 57 0 unless ($attribute_string eq '.')
642 3 90 if ($attr{$key}) { }
653 8 49 if ($attr{'Dbxref'} or $attr{'dbxref'})
658 0 71 unless ($db and $accession)
670 3 54 if ($attr{'Ontology_term'})
674 0 9 if ($self->validate) { }
688 3 54 if ($attr{'Gap'})
697 3 54 if ($attr{'Target'})
707 0 3 unless $target_string =~ / /
710 0 3 if (not $tend or $extra)
720 0 3 if ($strand and $strand eq '+') { }
0 3 elsif ($strand and $strand eq '-') { }
728 0 3 if $strand
735 11 46 if ($attr{'ID'})
736 0 11 if (scalar @{$attr{'ID'};} > 1)
741 0 11 if ($self->{'allIDs'}{do { $attr{'ID'} }->[0]} and $self->validate)
753 0 57 if ($attr{'Name'})
754 0 0 if (scalar @{$attr{'Name'};} > 1)
764 62 280 if ($attr{$other_canonical})
775 8 0 if $non_reserved_tag eq 'dbxref'
785 0 57 if (@illegal_tags > 0)
815 0 0 if ($tag eq 'comment') { }
835 0 0 if @_
836 0 0 if defined $organism
874 0 0 unless (defined $group)
881 0 0 ref $feature->seq_id ? :
884 0 0 if $type eq 'exon'
887 0 0 $feature->strand == -1 ? :
0 0 $feature->strand == 1 ? :
888 0 0 ref $feature->score ? :
0 0 defined $feature->score ? :
889 0 0 ref $feature->frame ? :
0 0 ref $feature->phase ? :
0 0 defined $feature->frame ? :
892 0 0 if ($type eq 'EXON' or $type eq 'CDS' or $type eq 'start_codon' or $type eq 'stop_codon')
893 0 0 $gene_id ? :
0 0 $transcript_id ? :
894 0 0 $frame eq '.' ? :
913 0 0 ref $feature->seq_id ? :
915 0 0 if ($feature->source) { }
922 0 0 if ($feature->type) { }
926 0 0 $feature->strand == -1 ? :
0 0 $feature->strand == 1 ? :
927 0 0 ref $feature->score ? :
0 0 defined $feature->score ? :
928 0 0 ref $feature->phase ? :
0 0 defined $feature->phase ? :
931 0 0 if (my(@v) = $feature->get_Annotations('Name'))
935 0 0 if (my(@v) = $feature->get_Annotations('ID'))
938 0 0 if scalar @v > 1
940 0 0 if (my(@v) = $feature->get_Annotations('Parent'))
944 0 0 if (my(@v) = $feature->get_Annotations('dblink'))
948 0 0 if (my(@v) = $feature->get_Annotations('ontology_term'))
952 0 0 if (my(@v) = $feature->get_Annotations('comment'))
956 0 0 if (my(@v) = $feature->get_Annotations('Target'))
959 0 0 defined $_->strand ? :