Branch Coverage

blib/lib/Bio/ToolBox/Data/core.pm
Criterion Covered Total %
branch 194 462 41.9


line true false branch
35 26 46 if (ref $class)
77 0 52 unless (defined $self->{'data_table'} and ref $self->{'data_table'} eq 'ARRAY')
81 0 0 unless $silence
87 52 0 if (defined $self->{'last_row'}) { }
89 0 52 if ($self->{'last_row'} != $number)
103 52 0 if (defined $self->{'number_columns'}) { }
110 0 945 if ($count != $number)
112 0 0 if $count < $number
113 0 0 if $count > $number
123 0 52 if (@problems)
129 0 0 if ($too_low)
130 0 0 unless $silence
134 0 0 if ($too_high)
135 0 0 unless $silence
151 0 415 unless ($self->{$i}{'name'} eq $self->{'data_table'}[0][$i])
158 0 0 unless $silence
161 0 415 unless ($self->{$i}{'index'} == $i)
163 0 0 unless $silence
167 0 52 if $mdcheck
173 6 46 if ($self->{'gff'})
179 1 5 if ($self->{'number_columns'} != 9)
185 0 6 if (exists $self->{'0'} and not $self->{'0'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
194 0 6 if (exists $self->{'3'} and not $self->{'3'}{'name'} =~ /start|pos|position/i)
202 0 6 if (exists $self->{'4'} and not $self->{'4'}{'name'} =~ /stop|end|pos|position/i)
210 0 6 if (exists $self->{'6'} and not $self->{'6'}{'name'} =~ /strand/i)
220 0 6 unless ($self->_column_is_integers(3, 4))
224 0 6 unless ($self->_column_is_numeric(5))
228 0 6 unless ($self->_column_is_stranded(6))
234 1 5 if ($gff_check == 0)
241 8 0 if (exists $self->{$i}{'AUTO'})
245 0 1 unless $silence
250 21 31 if ($self->{'bed'})
256 0 21 if ($self->{'number_columns'} < 3)
262 0 21 if (exists $self->{'0'} and not $self->{'0'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
270 0 21 if (exists $self->{'1'} and not $self->{'1'}{'name'} =~ /start|pos|position/i)
277 0 21 if (exists $self->{'2'} and not $self->{'2'}{'name'} =~ /stop|end|pos|position/i)
284 0 21 if (exists $self->{'5'} and not $self->{'5'}{'name'} =~ /strand/i)
291 0 11 if (exists $self->{'6'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'6'}{'name'} =~ /start|thick|cds/i)
299 0 11 if (exists $self->{'7'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'7'}{'name'} =~ /end|stop|thick|cds/i)
307 0 11 if (exists $self->{'8'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'8'}{'name'} =~ /item|rgb|color/i)
315 0 11 if (exists $self->{'9'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'9'}{'name'} =~ /count|number|block|exon/i)
323 0 21 if (exists $self->{'10'} and not $self->{'10'}{'name'} =~ /size|length|block|exon/i)
330 0 21 if (exists $self->{'11'} and not $self->{'11'}{'name'} =~ /start|block|exon/i)
339 0 21 unless ($self->_column_is_integers(1, 2))
343 15 6 if ($self->{'number_columns'} >= 5)
345 0 15 unless ($self->_column_is_numeric(4))
350 15 6 if ($self->{'number_columns'} >= 6)
352 0 15 unless ($self->_column_is_stranded(5))
357 4 17 if ($self->{'format'} and $self->{'format'} =~ /narrow|broad/i)
359 0 4 unless ($self->_column_is_numeric(6, 7, 8))
364 3 18 if ($self->{'number_columns'} == 12)
366 0 3 unless ($self->_column_is_integers(6, 7, 9))
370 0 3 unless ($self->_column_is_comma_integers(10, 11))
375 4 17 if ($self->{'number_columns'} == 15 and $self->{'format'} =~ /gapped/i)
380 0 4 unless ($self->_column_is_integers(6, 7, 9))
384 0 4 unless ($self->_column_is_comma_integers(10, 11))
388 0 4 unless ($self->_column_is_numeric(12, 13, 14))
395 0 18 if ($self->{'format'} and $self->{'format'} =~ /narrowpeak/i and $self->{'number_columns'} != 10)
402 0 18 if ($self->{'format'} and $self->{'format'} =~ /broadpeak/i and $self->{'number_columns'} != 9)
409 0 18 if ($self->{'format'} and $self->{'format'} =~ /gappedpeak/i and $self->{'number_columns'} != 15)
418 21 0 if ($bed_check) { }
432 0 0 if (exists $self->{$i}{'AUTO'})
436 0 0 unless $silence
441 6 46 if ($self->{'ucsc'})
448 6 0 if ($colnumber == 16) { }
0 0 elsif ($colnumber == 15 or $colnumber == 12) { }
0 0 elsif ($colnumber == 11) { }
0 0 elsif ($colnumber == 10) { }
454 0 6 unless ($self->{'2'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
459 3 3 unless ($self->{'4'}{'name'} =~ /start|position/i)
463 3 3 unless ($self->{'5'}{'name'} =~ /stop|end|position/i)
467 3 3 unless ($self->{'6'}{'name'} =~ /start|position/i)
471 3 3 unless ($self->{'7'}{'name'} =~ /stop|end|position/i)
475 0 6 unless ($self->_column_is_integers(4, 5, 6, 7, 8))
479 0 6 unless ($self->_column_is_comma_integers(9, 10))
483 0 6 unless ($self->_column_is_stranded(3))
489 0 0 $colnumber == 15 ? :
497 0 0 unless ($self->{'1'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
502 0 0 unless ($self->{'3'}{'name'} =~ /start|position/i)
506 0 0 unless ($self->{'4'}{'name'} =~ /stop|end|position/i)
510 0 0 unless ($self->{'5'}{'name'} =~ /start|position/i)
514 0 0 unless ($self->{'6'}{'name'} =~ /stop|end|position/i)
518 0 0 unless ($self->_column_is_integers(3, 4, 5, 6, 7))
522 0 0 unless ($self->_column_is_comma_integers(8, 9))
526 0 0 unless ($self->_column_is_stranded(2))
535 0 0 unless ($self->{'2'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
540 0 0 unless ($self->{'4'}{'name'} =~ /start|position/i)
544 0 0 unless ($self->{'5'}{'name'} =~ /stop|end|position/i)
548 0 0 unless ($self->{'6'}{'name'} =~ /start|position/i)
552 0 0 unless ($self->{'7'}{'name'} =~ /stop|end|position/i)
556 0 0 unless ($self->_column_is_integers(4, 5, 6, 7, 8))
560 0 0 unless ($self->_column_is_comma_integers(9, 10))
564 0 0 unless ($self->_column_is_stranded(3))
573 0 0 unless ($self->{'1'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
578 0 0 unless ($self->{'3'}{'name'} =~ /start|position/i)
582 0 0 unless ($self->{'4'}{'name'} =~ /stop|end|position/i)
586 0 0 unless ($self->{'5'}{'name'} =~ /start|position/i)
590 0 0 unless ($self->{'6'}{'name'} =~ /stop|end|position/i)
594 0 0 unless ($self->_column_is_integers(3, 4, 5, 6, 7))
598 0 0 unless ($self->_column_is_comma_integers(8, 9))
602 0 0 unless ($self->_column_is_stranded(2))
613 3 3 if ($ucsc_check == 0)
623 48 0 if (exists $self->{$i}{'AUTO'})
627 0 3 unless $silence
632 0 52 if ($self->{'vcf'})
638 0 0 if ($self->{'number_columns'} < 8)
644 0 0 unless ($self->{'0'}{'name'} =~ /chrom/i)
648 0 0 if (exists $self->{'1'} and not $self->{'1'}{'name'} =~ /^pos|start/i)
657 0 0 unless ($self->_column_is_integers(1))
663 0 0 if ($vcf_check) { }
665 0 0 if $self->{'vcf'} == 1
675 0 0 if (exists $self->{$i}{'AUTO'})
679 0 0 unless $silence
684 0 52 if (exists $self->{'extension'} and defined $self->{'extension'} and $self->{'extension'} =~ /sgr/i)
692 0 0 if ($self->{'number_columns'} != 3)
696 0 0 unless ($self->{'0'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
700 0 0 unless ($self->{'1'}{'name'} =~ /start|position/i)
704 0 0 unless ($self->_column_is_integers(1))
708 0 0 if ($sgr_check == 0)
719 0 0 if (exists $self->{$i}{'AUTO'})
723 0 0 unless $silence
729 29 23 if ($self->{'bed'} or $self->{'gff'} or $self->{'ucsc'} or $self->{'extension'} and $self->{'extension'} =~ /sgr/i) { }
18 10 elsif ($self->{'bed'} == 0 and $self->{'gff'} == 0 and $self->{'ucsc'} == 0 and ($self->{'extension'} and not $self->{'extension'} =~ /sgr/i)) { }
743 18 0 unless $self->{'headers'} == -1
755 2 38 if $self->{'last_row'} == 0
757 0 101 unless exists $self->{$_}
761 0 1648 unless $self->{'data_table'}[$row][$i] =~ /^\d+$/
771 0 29 if $self->{'last_row'} == 0
773 0 45 unless exists $self->{$_}
778 0 407 unless $self->{'data_table'}[$row][$i] =~ /^[\d\-\+\.,eE]+$/
790 0 13 if $self->{'last_row'} == 0
792 0 26 unless exists $self->{$_}
796 0 220 unless $self->{'data_table'}[$row][$i] =~ /^[\d,]+$/
805 0 27 unless exists $self->{$index}
807 0 347 unless $self->{'data_table'}[$row][$index] =~ /^(?:\-1|0|1|\+|\-|\.)$/
820 1 0 if (not defined $_[0]) { }
0 0 elsif ($_[0] eq '0' or $_[0] eq '1') { }
0 0 elsif ($_[0] =~ /[a-zA-Z]+/) { }
840 0 15 unless $self->{'db'}
841 0 15 if $self->{'db'} =~ /^Parsed:/
842 14 1 if (exists $self->{'db_connection'})
843 14 0 unless $force
846 0 1 unless $db
860 0 12 unless $dataset
861 11 1 if (exists $self->{'verfied_dataset'}{$dataset}) { }
865 0 1 if ($dataset =~ /^(?:file|http|ftp)/)
876 1 0 if ($verified)
892 0 2 if (ref $self eq 'Bio::ToolBox::Data::Stream')
893 0 0 unless ($self->mode)
897 0 0 if (defined $self->{'fh'})
903 0 2 unless (@_)
913 2 16 if ($i == $deletion_list[0]) { }
929 0 3 if (ref $self eq 'Bio::ToolBox::Data::Stream')
930 0 0 unless ($self->mode)
934 0 0 if (defined $self->{'fh'})
942 0 3 unless (@_)
973 2 1 if exists $self->{'column_indices'}
974 0 2 if ($self->gff or $self->bed or $self->ucsc or $self->vcf)
987 19 33 if (@_)
995 0 40 if @_
996 28 12 if (defined $self->{'feature_type'})
1000 7 5 if (defined $self->chromo_column and defined $self->start_column) { }
5 0 elsif (defined $self->id_column or defined $self->type_column and defined $self->name_column or defined $self->feature and defined $self->name_column) { }
1018 60 8 if (@_)
1026 19 26 if (@_)
1028 0 0 if (exists $self->{'db_connection'} and $self->{'db_connection'})
1047 59 123 if (defined $_[0])
1055 5 86 if (defined $_[0] and $_[0] =~ /^(?:0|1|2|2\.[2|5]|3)$/)
1057 0 5 if ($_[0] eq '2.2' or $_[0] eq '2.5') { }
5 0 elsif ($_[0] eq '3') { }
1073 43 91 if (defined $_[0] and $_[0] =~ /^\d+$/)
1081 3 53 if (defined $_[0] and $_[0] =~ /^\d+$/)
1089 0 39 if (defined $_[0] and $_[0] =~ /^[\d\.]+$/)
1097 0 552 if @_
1103 0 0 if @_
1110 0 892 if @_
1116 0 138 if @_
1122 0 29 if @_
1128 0 0 if @_
1134 0 124 if @_
1153 0 53 unless my $comment = shift()
1162 1 0 if (defined $index) { }
1172 0 0 unless $self->vcf
1173 0 0 if exists $self->{'vcf_headers'}
1177 0 0 if ($comment =~ /^##([\w\-\.]+)=(.+)$/) { }
1185 0 0 if (not $value =~ /^<.+>$/) { }
1204 0 0 unless $self->vcf
1205 0 0 unless exists $self->{'vcf_headers'}
1214 0 0 if $key eq 'fileformat'
1215 0 0 if (ref $self->{'vcf_headers'}{$key} eq 'HASH') { }
1243 0 4 if @_
1248 2 2 wantarray ? :
1254 0 115 unless defined $index
1255 0 115 unless exists $self->{$index}{'name'}
1256 1 114 if (defined $new_name)
1258 1 0 if (exists $self->{'data_table'}) { }
0 0 elsif (exists $self->{'column_names'}) { }
1271 0 24 unless defined $index
1272 0 24 unless exists $self->{$index}
1273 2 22 if ($key and $key eq 'name')
1276 1 21 if ($key and defined $value) { }
0 21 elsif ($key and not defined $value) { }
1282 0 0 if (exists $self->{$index}{$key}) { }
1293 17 4 wantarray ? :
1300 0 0 unless defined $index
1301 0 0 if (defined $key) { }
1302 0 0 if (exists $self->{$index}{$key})
1310 0 0 if $key eq 'name'
1311 0 0 if $key eq 'index'
1319 0 2 unless exists $self->{$source}{'name'} and exists $self->{$target}{'name'}
1323 0 2 if exists $md->{'AUTO'}
1336 0 187 unless $name
1349 84 515 if ($self->{$i}{'name'} =~ /$name/i)
1388 0 37 if @_
1389 12 25 unless exists $self->{'column_indices'}
1395 0 118 if @_
1396 1 117 unless exists $self->{'column_indices'}
1402 0 33 if @_
1403 0 33 unless exists $self->{'column_indices'}
1413 0 32 if @_
1414 5 27 unless exists $self->{'column_indices'}
1420 0 72 if @_
1421 1 71 unless exists $self->{'column_indices'}
1427 0 12 if @_
1428 4 8 unless exists $self->{'column_indices'}
1434 0 70 if @_
1435 0 70 unless exists $self->{'column_indices'}
1441 0 0 if @_
1442 0 0 unless exists $self->{'column_indices'}
1457 0 13 unless $row and $row <= $self->{'last_row'}
1458 0 13 unless exists $self->{'SeqFeatureObjects'}