Branch Coverage

Bio/SeqIO/genbank.pm
Criterion Covered Total %
branch 308 404 76.2


line true false branch
241 115 0 if (not defined $self->sequence_factory)
280 113 76 if index($buffer, 'LOCUS ') == 0
282 6 113 unless defined $buffer
283 0 113 unless $buffer =~ /^LOCUS\s+(\S.*)$/o
295 0 113 if (exists $VALID_ALPHABET{$seqlength}) { }
316 113 0 exists $VALID_ALPHABET{$alphabet} ? :
320 10 103 if ($params{'-alphabet'} eq 'protein') { }
328 4 109 if ($params{'-molecule'} eq 'dna' or $params{'-molecule'} eq 'rna')
332 0 113 unless exists $VALID_MOLTYPE{$params{'-molecule'}}
335 8 105 if ($circ eq 'circular') { }
341 34 71 length $circ == 3 ? :
352 107 6 if ($date =~ s/\s*((\d{1,2})-(\w{3})-(\d{2,4})).*/$1/)
353 0 107 if (length $date < 11) { }
357 0 0 if (length $d == 1)
362 0 0 if (length $y == 2)
363 0 0 if ($y > 60) { }
385 2 111 unless ($builder->want_object)
391 106 5 if ($builder->want_slot('annotation'))
398 110 629 if ($line =~ /^DEFINITION\s+(\S.*\S)/)
401 62 110 if ($line =~ /^\s+(.*)/)
415 110 629 if ($line =~ /^ACCESSION\s+(\S.*\S)/) { }
1 628 elsif ($line =~ /^PID\s+(\S+)/) { }
91 537 elsif ($line =~ /^VERSION\s+(\S.+)$/) { }
107 430 elsif ($line =~ /^KEYWORDS\s+(\S.*)/) { }
106 324 elsif ($line =~ /^SOURCE\s+\S/) { }
109 215 elsif ($line =~ /^REFERENCE\s+\S/) { }
2 213 elsif ($line =~ /^PROJECT\s+(\S.*)/) { }
60 153 elsif ($line =~ /^COMMENT\s+(\S.*)/) { }
20 133 elsif ($line =~ /^DB(?:SOURCE|LINK)\s+(\S.+)/) { }
418 3 110 if ($line =~ /^\s+(.*)/)
436 87 4 if ($acc =~ /^\w+\.(\d+)/)
440 89 2 if ($gi and index($gi, 'GI:') == 0)
450 31 107 if ($line =~ /^\s+(.*)/)
457 107 0 if @kw
465 101 5 if ($builder->want_slot('species')) { }
471 5 13 if substr($buffer, 0, 1) ne ' '
479 100 9 if ($annotation) { }
487 9 38 if substr($buffer, 0, 1) ne ' '
495 2 0 if ($annotation)
506 58 2 if ($annotation) { }
509 58 423 if $line =~ /^\S/
514 2 56 if (my($text, $table) = $comment =~ /([^#]*)(##\S+Data-START##.+?##\S+Data-END##)/is) { }
517 1 1 if $text
537 2 5 if substr($buffer, 0, 1) ne ' '
545 20 0 if ($annotation) { }
548 20 65 if $line =~ /^\S/
553 5 15 if ($dbsource =~ s/(UniProt(?:KB)?|swissprot):\s+locus\s+(\S+)\,.+\n//) { }
564 5 0 if ($dbsource =~ s/\s+created:\s+([^\.]+)\.\n//)
585 5 0 if ($dbsource =~ s/\s+xrefs:\s+((?:\S+,\s+)+\S+)\s+xrefs/xrefs/) { }
0 0 elsif ($dbsource =~ s/\s+xrefs:\s+(.+)\s+xrefs/xrefs/i) { }
592 49 0 if ($dbsrc =~ /(\S+)\.(\d+)/ or $dbsrc =~ /(\S+)/)
596 11 38 unless defined $version
597 20 23 $i++ % 2 ? :
6 43 $id =~ /^\d\S{3}/ ? :
618 0 0 if ($id =~ /gi:\s+(\d+)/) { }
0 0 elsif ($id =~ /pdb\s+accession\s+(\S+)/) { }
620 0 0 $i++ % 2 ? :
643 5 0 if ($dbsource =~ s/xrefs\s+ \(non\-sequence\s+databases\):\s+ ((?:\S+,\s+)+\S+)//x)
656 16 70 unless (exists $DBSOURCE{$db})
672 4 11 if ($dbsource =~ /^(\S*?):?\s*accession\s+(\S+)\.(\d+)/) { }
1 10 elsif ($dbsource =~ /^(\S*?):?\s*accession\s+(\S+)/) { }
10 0 elsif ($dbsource =~ /(\S+)([\.:])\s*(\S+)/) { }
700 9 1 if ($2 eq ':') { }
736 0 0 if substr($buffer, 0, 1) ne ' '
743 111 116 if ($line =~ /^(FEATURES|ORIGIN)/)
746 111 116 if $line =~ /^(FEATURES|ORIGIN)/
751 0 111 unless defined $buffer
759 106 5 if $annotation
763 0 111 unless ($builder->want_object)
769 104 1 if ($builder->want_slot('features') and defined $buffer and $buffer =~ /^FEATURES/o)
787 104 8280 if $buffer =~ /^BASE|ORIGIN|CONTIG|WGS/o
807 0 8280 unless (defined $ftunit)
813 0 0 unless ($buffer =~ /^\s{5,5}\S+/o or $buffer =~ /^\S+/o)
827 95 6 if ($species and $feat->primary_tag eq 'source' and $feat->has_tag('db_xref') and !$species->ncbi_taxid || $species->ncbi_taxid && $species->ncbi_taxid =~ /^list/)
835 95 1 if (index($tagval, 'taxon:') == 0)
848 111 0 if (defined $buffer)
850 7 104 if ($buffer =~ /^CONTIG\s+(.*)/o) { }
1 103 elsif ($buffer =~ /^WGS|WGS_SCAFLD\s+/o) { }
53 50 elsif (not $buffer =~ m[^ORIGIN|//]o) { }
853 7 22 if $buffer =~ m[^ORIGIN|//]o
857 7 0 if ($ctg)
880 52 96 if $buffer =~ m[^(ORIGIN|//)]
884 0 111 unless ($builder->want_object)
888 101 10 if ($builder->want_slot('seq')) { }
10 0 elsif (defined $buffer and substr($buffer, 0, 2) ne '//') { }
891 93 8 if (defined $buffer and $buffer =~ s/^ORIGIN\s+//)
892 1 92 if ($annotation and length $buffer > 0)
903 92 32643 if $buffer =~ m[^//]
915 10 162 if substr($buffer, 0, 2) eq '//'
923 0 111 unless $seq
944 0 25 unless defined $seq
946 0 25 unless (ref $seq and $seq->isa('Bio::SeqI'))
955 2 23 unless ($seq->can('division') and defined($div = $seq->division))
960 2 23 unless ($seq->can('molecule') and defined($mol = $seq->molecule))
966 2 23 $seq->is_circular ? :
971 0 25 if ($self->_id_generation_func) { }
976 23 2 if ($seq->can('get_dates'))
980 0 25 if $seq->display_id =~ /\s/
983 1 24 lc $alpha eq 'protein' ? :
995 0 25 if ($self->_ac_generation_func) { }
1002 23 2 if ($seq->isa('Bio::Seq::RichSeqI'))
1010 0 25 if ($seq->isa('Bio::Seq::RichSeqI') and $seq->pid)
1015 0 25 if (defined $self->_sv_generation_func) { }
18 9 elsif ($seq->isa('Bio::Seq::RichSeqI') and defined $seq->seq_version) { }
1017 0 0 if ($temp_line)
1023 18 0 defined $id && $id =~ /^\d+$/ ? :
1037 1 1 $db eq 'Project' ? :
1038 1 1 $db eq 'Project' ? :
0 2 $db eq 'GenBank' ? :
1045 0 25 if (defined $self->_kw_generation_func) { }
23 2 elsif ($seq->can('keywords')) { }
1051 23 0 unless $kw =~ /\.$/
1062 22 3 if (my $spec = $seq->species)
1063 22 0 $spec->can('organelle') ? :
1067 22 0 if ($spec->isa('Bio::Species')) { }
1082 22 0 $spec->name('abbreviated') ? :
1084 4 18 $on ? :
1085 6 16 $cn ? :
1097 47 0 if ($ref->start) { }
0 0 elsif ($ref->gb_reference) { }
1098 3 44 $seq->alphabet eq 'protein' ? :
1109 9 38 if $ref->consortium
1115 5 42 if ($ref->medline)
1122 13 34 if ($ref->pubmed)
1127 0 47 if ($ref->comment)
1143 0 25 if (defined $self->_post_sort) { }
1164 0 430 unless ($fth->isa('Bio::SeqIO::FTHelper'))
1173 0 25 if ($seq->annotation->get_Annotations('wgs'))
1183 1 24 if ($seq->annotation->get_Annotations('contig'))
1187 1 0 if (not $ct) { }
1197 1 24 if ($seq->length == 0)
1201 1 24 if ($self->_show_dna == 0)
1211 0 24 $o ? :
1233 19 5 if (my $last = substr($str, $i))
1246 24 0 if $self->_flush_on_write and defined $self->_fh
1265 0 430 unless (ref $fth and $fth->isa('Bio::SeqIO::FTHelper'))
1271 0 430 length $fth->key >= 15 ? :
1278 0 997 if ($tag eq 'db_xref' and grep /HASH/, @{$fth->field->{$tag};}) { }
1291 0 1085 if ($value eq '_no_value') { }
976 109 elsif (not $FTQUAL_NO_QUOTE{$tag} or length "/$tag=$value" >= $FTQUAL_LINE_LENGTH) { }
1303 330 646 $value =~ /\s/ ? :
1334 0 100 unless ($$buffer =~ /^REFERENCE/)
1344 402 977 if ($line =~ /^\s{2}AUTHORS\s+(.*)/o)
1347 638 402 if ($line =~ /^\s{9,}(.*)/o)
1356 35 1344 if ($line =~ /^\s{2}CONSRTM\s+(.*)/o)
1359 1 35 if ($line =~ /^\s{9,}(.*)/o)
1368 408 971 if ($line =~ /^\s{2}TITLE\s+(.*)/o)
1371 285 408 if ($line =~ /^\s{9,}(.*)/o)
1380 416 963 if ($line =~ /^\s{2}JOURNAL\s+(.*)/o)
1386 149 416 if ($line =~ /^\s{9,}(.*)/o)
1396 59 904 if ($line =~ /^\s{2}REMARK\s+(.*)/o)
1399 24 59 if ($line =~ /^\s{9,}(.*)/o)
1409 130 774 if ($line =~ /^\s{2}MEDLINE\s+(.*)/)
1412 0 130 if ($line =~ /^\s{9,}(.*)/)
1422 237 537 if ($line =~ /^\s{3}PUBMED\s+(.*)/)
1425 0 237 if ($line =~ /^\s{9,}(.*)/)
1435 417 120 if ($line =~ /^REFERENCE/o)
1437 317 100 if defined $ref
1451 286 131 if ($line =~ /^REFERENCE\s+\d+\s+\([a-z]+ (\d+) to (\d+)\)/) { }
14 117 elsif ($line =~ /^REFERENCE\s+\d+\s+\((.*)\)/) { }
1460 100 437 if $line =~ /^(FEATURES)|(COMMENT)/o
1466 100 0 if defined $ref
1494 402 15 if $au
1495 408 9 if $title
1557 303 214 if ($line =~ /^(?:\s{0,2})(\w+)\s+(.+)?$/ox) { }
1559 101 202 if $tag and not exists $source{$tag}
1562 0 214 unless $tag
1565 101 7 if $tag ne 'CLASSIFICATION' and $tag eq 'ORGANISM' and $line =~ /(?
1571 113 303 exists $ann->{$tag} ? :
1579 0 101 unless $sci_name
1584 101 0 if ($sl =~ /^(mitochondrion|chloroplast|plastid)? \s*(.*?) \s*(?: \( (.*?) \) )?\.? $ /msx) { }
1606 101 0 $class[-2] ? :
1608 88 13 if ($sci_name =~ /^($possible_genus)/) { }
1620 5 96 if ($species and $species =~ /(.+)\s+((?:subsp\.|var\.).+)/)
1629 0 101 unless defined $species || defined $genus and $unkn == 0
1637 101 0 if @class > 0
1638 32 69 if $common
1639 101 0 if $abbr_name
1640 9 92 if $organelle
1664 8280 0 if ($$buffer =~ /^\s{5}(\S+)\s+(.+?)\s*$/o) { }
1669 88489 103 if ($line =~ /^(\s+)(.+?)\s*$/o) { }
1672 80312 8177 if (length $1 > 6) { }
1675 68121 12191 if (@qual or index($2, '/') == 0) { }
1719 0 55807 unless my($qualifier, $value) = $data =~ m[^/([^=]+)(?:=\s*(.+))?]
1722 0 55807 unless defined $qualifier
1724 54903 904 if (defined $value) { }
1726 52083 2820 if (substr($value, 0, 1) eq '"') { }
27 2793 elsif ($value =~ /^\(/) { }
1730 0 12312 if ($i >= $#qual)
1746 9870 2442 unless ($qualifier =~ /^translation$/i)
1763 0 2 if ($i >= $#qual)
1802 0 0 unless $length
1840 0 1765 unless $length
1848 2129 0 if ($line =~ /^(.{0,$subl})($pat)(.*)/)
1854 0 2129 if $l eq ''
1866 1760 5 if $s
1884 0 25 if (defined $value)
1902 116 25 if (defined $value)
1920 0 25 if (defined $value)
1938 0 25 if (defined $value)
1956 0 25 if (defined $value)
1974 0 25 if (defined $value)