Branch Coverage

blib/lib/Bio/ToolBox/Data/Feature.pm
Criterion Covered Total %
branch 144 494 29.1


line true false branch
1052 0 0 unless defined $column
1058 0 24 if @_
1064 0 65 if @_
1070 0 0 if @_
1071 0 0 if (exists $self->{'data'}{'line_count'}) { }
0 0 elsif (exists $self->{'data'}{'header_line_count'}) { }
1084 0 196 if @_
1087 118 78 wantarray ? :
1092 0 341 unless defined $column
1095 85 256 if (defined $value)
1100 340 1 CORE::length $v ? :
1105 1 20 if ($_[0])
1108 1 0 if (defined $i) { }
0 0 elsif (exists $self->{'feature'}) { }
1121 15 6 if exists $self->{'seqid'}
1127 6 0 if (defined $i) { }
0 0 elsif (exists $self->{'feature'}) { }
0 0 elsif (defined $j) { }
0 0 elsif ($self->feature_type eq 'named') { }
1141 0 0 if ($f)
1145 6 0 if defined $c
1151 5 114 if ($_[0])
1154 5 0 $_[0] =~ /^\d+$/ ? :
1155 1 4 if (defined $i and $d) { }
0 4 elsif (not $d) { }
4 0 elsif (exists $self->{'feature'}) { }
1156 1 0 if ($self->{'data'}->interbase) { }
1178 27 92 if exists $self->{'start'}
1184 87 5 if (defined $i) { }
5 0 elsif (exists $self->{'feature'}) { }
0 0 elsif (defined $j) { }
0 0 elsif ($self->feature_type eq 'named') { }
1187 6 81 if ($self->{'data'}->interbase)
1202 0 0 if ($f)
1206 92 0 if defined $s
1213 2 36 if ($_[0])
1216 2 0 $_[0] =~ /^\d+$/ ? :
1217 2 0 if (defined $i and $d) { }
0 0 elsif (not $d) { }
0 0 elsif (exists $self->{'feature'}) { }
1233 27 11 if exists $self->{'end'}
1239 10 1 if (defined $i) { }
1 0 elsif (exists $self->{'feature'}) { }
0 0 elsif (defined $j) { }
0 0 elsif ($self->feature_type eq 'named') { }
1253 0 0 if ($f)
1257 11 0 if defined $e
1263 1 29 if ($_[0])
1266 0 1 if (defined $i) { }
0 1 elsif (exists $self->{'feature'}) { }
1279 22 8 if exists $self->{'strand'}
1283 2 6 if (my $i = $self->{'data'}->strand_column) { }
5 1 elsif (exists $self->{'feature'}) { }
0 1 elsif ($self->feature_type eq 'named') { }
1293 0 0 if ($f)
1304 0 2 if ($str eq '1' or $str eq '-1' or $str eq '0') { }
0 2 elsif ($str eq '+') { }
2 0 elsif ($str eq '-') { }
0 0 elsif ($str eq '.') { }
0 0 elsif ($str eq '2') { }
0 0 elsif ($str eq '*') { }
1332 0 0 unless exists $self->{'seqid'}
1333 0 0 unless exists $self->{'start'}
1335 0 0 unless exists $self->{'end'}
1336 0 0 if (defined $str and not exists $self->{'strand'})
1344 3 1 if ($self->{'data'}->format eq 'narrowPeak') { }
1345 2 1 if (exists $self->{'feature'} and $self->{'feature'}->has_tag('peak')) { }
1361 5 0 if ($s and $e) { }
1372 1 75 if ($_[0])
1375 1 0 if (defined $i) { }
0 0 elsif (exists $self->{'feature'}) { }
1386 5 70 if (exists $self->{'feature'})
1391 70 0 if (defined $i) { }
0 0 elsif (my $att = $self->gff_attributes) { }
1402 0 3 if @_
1408 0 0 exists $self->{'feature'} ? :
3 0 defined $start_i ? :
1410 3 0 if $end
1411 3 0 CORE::length $coord > 2 ? :
1416 1 8 if ($_[0])
1419 0 1 if (defined $i) { }
0 1 elsif (exists $self->{'feature'}) { }
1431 0 9 if (defined $i)
1435 4 5 if (exists $self->{'feature'})
1439 5 0 if ($self->{'data'}->feature)
1448 0 66 if @_
1450 66 0 if defined $i
1451 66 0 if (defined $v and $v ne ".")
1454 0 0 if exists $self->{'feature'}
1455 0 0 if (my $att = $self->gff_attributes)
1463 0 2 if @_
1464 0 2 if ($self->{'data'}->vcf)
1470 2 0 if (defined $s and defined $e) { }
0 0 elsif (defined $s) { }
1484 0 0 defined $c ? :
1489 0 0 if $self->{'data'}->gff
1490 0 0 if $self->{'data'}->vcf
1496 0 1 unless $self->{'data'}->gff
1497 0 1 if exists $self->{'attributes'}
1501 0 3 unless $tag and $value
1512 0 0 unless $self->{'data'}->vcf
1513 0 0 if exists $self->{'attributes'}
1518 0 0 if ($self->{'data'}->name(7) eq "INFO")
1519 0 0 defined $_->[1] ? :
1528 0 0 if ($self->{'data'}->number_columns > 8)
1534 0 0 defined $sampleVals[$_] ? :
1545 0 0 if $self->{'data'}->gff
1546 0 0 if $self->{'data'}->vcf
1552 0 1 unless $self->{'data'}->gff
1553 0 1 unless exists $self->{'attributes'}
1555 1 0 if (exists $self->{'attributes'}{'ID'})
1559 1 0 if (exists $self->{'attributes'}{'Name'})
1565 1 2 if $key eq "ID"
1566 1 1 if $key eq "Name"
1578 0 0 unless $self->{'data'}->vcf
1579 0 0 unless exists $self->{'attributes'}
1585 0 0 defined $self->{'attributes'}{'INFO'}{$_} ? :
1595 0 0 if exists $self->{'attributes'}{'9'}{'GT'}
1597 0 0 if $key eq "GT"
1600 0 0 if (@order) { }
1609 0 0 if (@order) { }
1627 0 4 if @_
1628 0 4 if exists $self->{'feature'}
1631 4 0 unless $self->feature_type eq "named" or $force
1635 0 0 if ($f)
1641 0 0 unless $self->{'data'}->database
1648 0 0 unless $f
1655 0 1 if @_
1656 0 1 unless $self->{'data'}->database
1657 1 0 if ($self->feature_type eq 'coordinate') { }
0 0 elsif ($self->feature_type eq 'named') { }
1662 1 0 $db ? :
1666 0 0 $f ? :
1677 0 0 unless defined $db
1678 0 0 unless $db->can("features")
1698 0 0 if ($self->feature_type eq "named" and $args{'subfeature'})
1708 0 0 if (exists $args{'strand'})
1710 0 0 $args{'strand'} =~ /\-|r/i ? :
1712 0 0 if (exists $args{'extend'} and $args{'extend'})
1714 0 0 if $start <= 0
1717 0 0 unless defined $seqid and defined $start and defined $stop
1721 0 0 if ($strand == -1)
1733 0 0 unless (@$subfeatures)
1744 0 0 unless $Bio::ToolBox::Data::Feature::a->[1] <=> $Bio::ToolBox::Data::Feature::b->[1]
1756 0 0 if ($self->strand == -1)
1768 0 0 unless ($GENETOOL_LOADED)
1771 0 0 if ($@) { }
1781 0 0 unless $feature
1785 0 0 if ($subf eq 'exon') { }
0 0 elsif ($subf eq 'cds') { }
0 0 elsif ($subf eq '5p_utr') { }
0 0 elsif ($subf eq '3p_utr') { }
0 0 elsif ($subf eq 'intron') { }
1814 0 7 unless ($args{'dataset'})
1820 0 0 if ($self->feature_type eq "named" and $args{'subfeature'})
1829 7 0 if ($self->feature_type eq 'coordinate') { }
0 0 elsif ($self->feature_type eq 'named') { }
1835 0 7 exists $args{'strand'} && defined $args{'strand'} ? :
1840 0 0 unless $f
1845 0 0 exists $args{'strand'} && defined $args{'strand'} ? :
1852 0 0 if (exists $args{'extend'} and $args{'extend'})
1858 0 7 if $params[1] <= 0
1859 0 7 if ($params[2] < $params[1])
1861 0 0 if $params[2] <= 0
1867 0 7 unless $params[0] and defined $params[1]
1887 0 0 unless (@$subfeatures)
1891 0 0 if exists $args->{'exon'}
1902 0 0 defined $args->{'strand'} ? :
1910 0 0 if defined $exon_scores
1924 0 1 unless ($args{'dataset'})
1934 0 1 unless ($args{'extend'})
1937 0 1 unless $args{'db'} or $self->{'data'}->open_meta_database
1940 1 0 unless (defined $args{'coordinate'})
1948 0 1 if $params[1] < 1
1950 0 1 defined $args{'strand'} ? :
1961 0 1 if ($args{'avoid'})
1966 0 1 if ($args{'absolute'}) { }
1968 0 0 wantarray ? :
1984 0 4 unless ($args{'dataset'})
1993 0 4 unless $args{'db'} or $self->{'data'}->open_meta_database
1997 0 0 if ($self->feature_type eq "named" and $args{'subfeature'})
2009 0 4 defined $args{'strand'} ? :
2010 0 4 if ($args{'extend'})
2013 0 0 if $params[1] < 1
2025 0 4 if ($args{'avoid'})
2030 0 4 if ($args{'absolute'}) { }
2032 0 0 wantarray ? :
2036 4 0 unless (defined $args{'coordinate'})
2049 0 0 unless (@$subfeatures)
2053 0 0 if exists $args->{'exon'}
2071 0 0 defined $args->{'strand'} ? :
2098 0 0 if ($args->{'extend'})
2130 0 0 if ($args->{'absolute'}) { }
2132 0 0 wantarray ? :
2151 10 0 if (scalar @_ == 1) { }
2153 6 4 if (ref $_[0] eq 'HASH') { }
2170 0 10 defined $args->{'strand'} ? :
2171 6 4 if ($args->{'position'} == 5) { }
1 3 elsif ($args->{'position'} == 3) { }
2 1 elsif ($args->{'position'} == 4) { }
1 0 elsif ($args->{'position'} == 9) { }
2172 1 5 if ($strand >= 0) { }
2180 1 0 if ($strand >= 0) { }
2190 1 1 if (exists $args->{'practical_start'}) { }
2213 0 0 if (ref $args->{'avoid'} eq 'ARRAY') { }
0 0 elsif ($args->{'avoid'} eq '1') { }
0 0 elsif ($args->{'avoid'} =~ /w+/i) { }
2218 0 0 if (defined $args->{'type'}) { }
2242 0 0 if (@overlap_features)
2251 0 0 if $feat->primary_id eq $primary
2258 0 0 if ($position >= $start and $position <= $stop)
2273 0 5 if ($strand >= 0) { }
5 0 elsif ($strand < 0) { }
2283 5 0 wantarray ? :
2291 0 0 if ($method eq 'ncount') { }
2294 0 0 unless $p >= $start and $p <= $end
2296 0 0 if (exists $namecheck->{$n}) { }
2312 0 0 unless $p >= $start and $p <= $end
2327 0 0 unless ($args{'db'})
2330 0 0 unless ($args{'data'} and ref $args{'data'} eq "HASH")
2333 0 0 unless ($args{'callback'})
2339 0 0 if ($self->feature_type eq 'named' and $args{'subfeature'}) { }
2344 0 0 if (@$subfeatures) { }
2371 0 0 unless defined $tid
2400 0 0 unless $args{'bed'} =~ /^\d+$/
2401 0 0 unless $args{'bed'} >= 3
2409 0 0 if ($chr eq "." or not CORE::length $chr or $start eq "." or not CORE::length $start)
2413 0 0 if ($start > $stop)
2424 0 0 if ($args{'bed'} >= 4)
2428 0 0 if ($args{'bed'} >= 5)
2429 0 0 exists $args{'score'} ? :
2430 0 0 unless defined $score
2433 0 0 if ($args{'bed'} >= 6)
2435 0 0 if (exists $args{'strand'} and defined $args{'strand'}) { }
2441 0 0 $s == -1 ? :
2460 0 0 if ($chr eq "." or not CORE::length $chr or $start eq "." or not CORE::length $start)
2464 0 0 if ($start > $stop)
2472 0 0 if (exists $args{'strand'} and defined $args{'strand'}) { }
2478 0 0 $strand == 1 ? :
0 0 $strand == -1 ? :
2483 0 0 if (defined $type and $type =~ /:/)
2486 0 0 unless ($source)
2489 0 0 unless ($primary_tag)
2490 0 0 $args{'primary_tag'} || defined $type ? :
2494 0 0 exists $args{'score'} ? :
2495 0 0 unless defined $score
2503 0 0 if (exists $args{'attributes'} and ref $args{'attributes'} eq "ARRAY")