Branch Coverage

blib/lib/Bio/ToolBox/Data.pm
Criterion Covered Total %
branch 115 300 38.3


line true false branch
1114 25 21 if (ref $class)
1126 1 45 if ($args{'stream'})
1136 7 38 if ($args{'file'} and $args{'parse'}) { }
5 33 elsif ($args{'file'}) { }
1 32 elsif (exists $args{'db'} and $args{'features'}) { }
1139 5 2 unless ($self->parse_table(\%args))
1141 0 5 unless $l
1142 5 0 if ($self->database =~ /^Parsed:(.+)$/ and $self->feature_type eq "named")
1154 0 5 unless ($self->load_file($args{'file'}, $args{'noheader'}))
1164 1 0 if ($args{'features'} eq 'genome') { }
1168 0 1 if (defined $args{'blacklist'})
1173 0 0 if ($exclusion_Data and $exclusion_Data->feature_type eq 'coordinate') { }
1190 0 1 unless ($result)
1200 1 31 if (defined $args{'columns'}) { }
0 31 elsif (exists $args{'gff'} and $args{'gff'}) { }
0 31 elsif (exists $args{'bed'} and $args{'bed'}) { }
0 31 elsif (exists $args{'ucsc'} and $args{'ucsc'}) { }
1204 0 1 if exists $args{'feature'}
1212 0 0 unless ($self->extension =~ /g[tf]f/)
1214 0 0 $args{'gff'} == 3 ? :
0 0 $args{'gff'} == 2.5 ? :
1219 0 0 unless ($args{'bed'} =~ /^\d{1,2}$/ and $args{'bed'} >= 3)
1224 0 0 unless ($self->extension =~ /bed|peak/)
1231 0 0 unless ($u)
1235 0 0 unless ($self->extension =~ /ucsc|ref+lat|genepred/)
1249 0 1 unless my $Dupe = $self->new("columns", $columns)
1273 12 6 if (ref $args) { }
1278 0 12 exists $args->{'simplify'} && defined $args->{'simplify'} ? :
1288 0 18 unless ($file)
1294 5 13 unless my($flavor, $format) = $self->taste_file($file)
1297 0 13 if ($@)
1304 0 13 unless my $parser = $class->new
1305 0 13 unless $parser->open_file($file)
1309 6 7 unless ($feature)
1310 2 4 if ($typelist =~ /gene/i) { }
3 1 elsif ($typelist eq 'region') { }
1323 2 11 if ($subfeature)
1324 1 1 if $subfeature =~ /exon/i
1325 1 1 if $subfeature =~ /cds/i
1326 0 2 if $subfeature =~ /utr|untranslated/i
1327 0 2 if $subfeature =~ /codon/i
1329 4 9 if ($feature =~ /gene$/i) { }
1336 0 1 if (lc $feature eq "mrna" and not $parser->typelist =~ /mrna/i and not $self->last_row)
1345 0 13 unless $parser->parse_file
1348 5 8 if ($self->last_row > 0) { }
1357 65 0 if ($f)
1362 0 5 unless ($count == $self->last_row)
1378 2 6 if ($args)
1384 0 120 if ($chr_exclude)
1385 0 0 if $f->seq_id =~ /$chr_exclude/i
1388 113 7 if ($f->type =~ /$feature/i or $mrna_check and is_coding($f))
1393 0 8 unless ($self->last_row)
1399 0 8 if $chr_exclude
1418 0 2 unless defined $column
1419 0 2 unless exists $self->{$column}{'name'}
1421 0 2 wantarray ? :
1426 0 31 unless $name
1431 2 29 if ($name_ref eq 'ARRAY') { }
0 29 elsif ($name_ref eq 'Bio::DB::GFF::Typename') { }
29 0 elsif ($name_ref eq '') { }
1432 2 0 if ($self->last_row > 1) { }
1434 2 0 if ($self->last_row == scalar @$name - 1) { }
1485 0 31 if exists $self->{'column_indices'}
1486 0 31 if ($self->gff or $self->bed or $self->ucsc or $self->vcf)
1496 0 1 unless defined $index
1510 313 40 if ($_[0] and ref $_[0] eq 'ARRAY') { }
40 0 elsif ($_[0] and ref $_[0] eq 'Bio::ToolBox::Data::Feature') { }
0 0 elsif ($_[0] and $_[0] =~ /\t/) { }
1522 0 353 if (scalar @row_data > $self->{'number_columns'})
1537 0 9 unless defined $self->{'data_table'}[$row_number]
1542 5 4 if (exists $self->{'SeqFeatureObjects'} and defined $self->{'SeqFeatureObjects'}[$row_number])
1558 0 1 if (exists $self->{'SeqFeatureObjects'})
1568 237 0 wantarray ? :
1573 0 272 unless defined $row and defined $column
1574 0 272 if (defined $value)
1588 0 6 unless (ref $code eq "CODE")
1603 0 178 unless (defined $row_i and ref $seqfeature)
1606 0 178 unless $row_i <= $self->last_row
1614 0 0 unless $row_i <= $self->last_row
1615 0 0 unless $self->{'SeqFeatureObjects'}
1621 0 0 unless ($self->feature_type eq "named")
1629 0 0 if ($@)
1636 0 0 if (exists $self->{'SeqFeatureObjects'}) { }
1639 0 0 unless my $feature = $self->{'SeqFeatureObjects'}[$i]
1640 0 0 unless my $collSeqFeat = collapse_transcripts($feature)
1647 0 0 unless my $db = $self->open_meta_database(1)
1653 0 0 unless my $feature = get_db_feature("db", $db, "name", $self->value($i, $name_i) || undef, "type", $self->value($i, $type_i) || undef, "id", $self->value($i, $id_i) || undef)
1659 0 0 unless my $collSeqFeat = collapse_transcripts($feature)
1670 0 0 unless (exists $self->{'SeqFeatureObjects'})
1678 0 0 if ($@)
1686 0 0 if ($subfeature eq 'exon') { }
0 0 elsif ($subfeature eq 'cds') { }
0 0 elsif ($subfeature eq '5p_utr') { }
0 0 elsif ($subfeature eq '3p_utr') { }
1709 0 0 if (exists $self->{'SeqFeatureObjects'}) { }
1712 0 0 unless my $feature = $self->{'SeqFeatureObjects'}[$i]
1720 0 0 unless my $db = $self->open_meta_database(1)
1726 0 0 unless my $feature = get_db_feature("db", $db, "name", $self->value($i, $name_i) || undef, "type", $self->value($i, $type_i) || undef, "id", $self->value($i, $id_i) || undef)
1753 0 1 unless exists $self->{$index}{'name'}
1754 0 1 unless ($direction =~ /^[id]/i)
1766 1 0 if (defined $v and not $v =~ m[^(?:\.|n/?a|nan|\-?inf)$]i)
1775 1 0 if ($example =~ /[a-z]/i) { }
0 0 elsif ($example =~ /^\-?\d+\.?\d*$/) { }
1799 0 1 if ($sortmethod eq 'numeric') { }
1 0 elsif ($sortmethod eq 'ascii') { }
1819 0 0 if ($direction =~ /^i/i) { }
1848 0 78 if (exists $datahash{$value}) { }
1868 0 1 if ($direction eq 'i' or $direction eq 'I') { }
1 0 elsif ($direction eq 'd' or $direction eq 'D') { }
1899 0 1 unless ($self->feature_type eq "coordinate")
1925 0 1 if ($self->gff) { }
1931 0 0 unless $Bio::ToolBox::Data::a->[0] <=> $Bio::ToolBox::Data::b->[0]
1940 0 209 unless $Bio::ToolBox::Data::a->[0] <=> $Bio::ToolBox::Data::b->[0]
1951 0 1 unless ($part and $total_parts)
1957 0 1 if (exists $self->{'SeqFeatureObjects'})
1965 0 1 if ($part == 1) { }
1 0 elsif ($part == $total_parts) { }
1971 0 0 if (exists $self->{'SeqFeatureObjects'})
1985 0 1 if (exists $self->{'SeqFeatureObjects'})
2009 0 0 if (exists $self->{'SeqFeatureObjects'})
2026 0 1 if (exists $self->{'db_connection'})
2039 0 1 unless @files
2044 0 1 if ($@)
2052 0 1 unless ($Stream)
2088 0 2 if ($Stream->number_columns != $self->number_columns)
2118 0 0 if ($args{'dataset'} and ref $args{'dataset'} eq 'ARRAY') { }
0 0 elsif ($args{'dataset'} and ref $args{'dataset'} eq 'SCALAR') { }
2125 0 0 if ($args{'startcolumn'} and ref $args{'startcolumn'} eq 'ARRAY') { }
0 0 elsif ($args{'startcolumn'} and ref $args{'startcolumn'} eq 'SCALAR') { }
2133 0 0 if ($args{'endcolumn'} and ref $args{'endcolumn'} eq 'ARRAY') { }
0 0 elsif ($args{'endcolumn'} and ref $args{'endcolumn'} eq 'SCALAR') { }
2142 0 0 unless ($self->verify)
2146 0 0 unless (defined $outfile)
2147 0 0 if ($self->basename) { }
2168 0 0 unless (exists $skip{lc $self->{$i}{'name'}})
2170 0 0 if (defined $d) { }
2183 0 0 unless (@datasets)
2184 0 0 if (scalar keys %possibles > 1)
2193 0 0 if (scalar @startcolumns != scalar @datasets)
2202 0 0 if (scalar @endcolumns != scalar @datasets)
2246 0 0 if (substr($self->name($column), -1) eq "%")
2250 0 0 if ($do_percentile and substr($self->name($column), -2) eq "bp")
2259 0 0 $v eq '.' ? :
2264 0 0 if ($log)
2270 0 0 if ($log)
2275 0 0 if ($d == 0) { }
2282 0 0 if ($summed_data->value($row, 1) != $midpoint)
2324 6 148 if $self->{'index'} > $self->{'data'}{'last_row'}
2331 0 148 if (exists $self->{'data'}{'SeqFeatureObjects'} and defined $self->{'data'}{'SeqFeatureObjects'}[$i])
2342 0 0 if @_