Branch Coverage

blib/lib/Bio/ToolBox/Data/core.pm
Criterion Covered Total %
branch 216 502 43.0


line true false branch
35 1 72 if (ref $class)
78 0 52 unless (defined $self->{'data_table'} and ref $self->{'data_table'} eq "ARRAY")
82 0 0 unless $silence
88 52 0 if (defined $self->{'last_row'}) { }
90 0 52 if ($self->{'last_row'} != $number)
104 52 0 if (defined $self->{'number_columns'}) { }
111 0 945 if ($count != $number)
113 0 0 if $count < $number
114 0 0 if $count > $number
124 0 52 if (@problems)
130 0 0 if ($too_low)
131 0 0 unless $silence
135 0 0 if ($too_high)
136 0 0 unless $silence
152 0 415 unless ($self->{$i}{'name'} eq $self->{'data_table'}[0][$i])
159 0 0 unless $silence
162 0 415 unless ($self->{$i}{'index'} == $i)
164 0 0 unless $silence
168 0 52 if $mdcheck
174 6 46 if ($self->{'gff'})
180 1 5 if ($self->{'number_columns'} != 9)
186 0 6 if (exists $self->{'0'} and not $self->{'0'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
195 0 6 if (exists $self->{'3'} and not $self->{'3'}{'name'} =~ /start|pos|position/i)
203 0 6 if (exists $self->{'4'} and not $self->{'4'}{'name'} =~ /stop|end|pos|position/i)
211 0 6 if (exists $self->{'6'} and not $self->{'6'}{'name'} =~ /strand/i)
221 0 6 unless ($self->_column_is_integers(3, 4))
225 0 6 unless ($self->_column_is_numeric(5))
229 0 6 unless ($self->_column_is_stranded(6))
235 1 5 if ($gff_check == 0)
242 8 0 if (exists $self->{$i}{'AUTO'})
246 0 1 unless $silence
251 21 31 if ($self->{'bed'})
257 0 21 if ($self->{'number_columns'} < 3)
263 0 21 if (exists $self->{'0'} and not $self->{'0'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
271 0 21 if (exists $self->{'1'} and not $self->{'1'}{'name'} =~ /start|pos|position/i)
278 0 21 if (exists $self->{'2'} and not $self->{'2'}{'name'} =~ /stop|end|pos|position/i)
285 0 21 if (exists $self->{'5'} and not $self->{'5'}{'name'} =~ /strand/i)
292 0 11 if (exists $self->{'6'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'6'}{'name'} =~ /start|thick|cds/i)
300 0 11 if (exists $self->{'7'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'7'}{'name'} =~ /end|stop|thick|cds/i)
308 0 11 if (exists $self->{'8'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'8'}{'name'} =~ /item|rgb|color/i)
316 0 11 if (exists $self->{'9'} and not $self->{'format'} =~ /narrow|broad/i and not $self->{'9'}{'name'} =~ /count|number|block|exon/i)
324 0 21 if (exists $self->{'10'} and not $self->{'10'}{'name'} =~ /size|length|block|exon/i)
331 0 21 if (exists $self->{'11'} and not $self->{'11'}{'name'} =~ /start|block|exon/i)
340 0 21 unless ($self->_column_is_integers(1, 2))
344 15 6 if ($self->{'number_columns'} >= 5)
346 0 15 unless ($self->_column_is_numeric(4))
351 15 6 if ($self->{'number_columns'} >= 6)
353 0 15 unless ($self->_column_is_stranded(5))
358 4 17 if ($self->{'format'} and $self->{'format'} =~ /narrow|broad/i)
360 0 4 unless ($self->_column_is_numeric(6, 7, 8))
365 3 18 if ($self->{'number_columns'} == 12)
367 0 3 unless ($self->_column_is_integers(6, 7, 9))
371 0 3 unless ($self->_column_is_comma_integers(10, 11))
376 4 17 if ($self->{'number_columns'} == 15 and $self->{'format'} =~ /gapped/i)
381 0 4 unless ($self->_column_is_integers(6, 7, 9))
385 0 4 unless ($self->_column_is_comma_integers(10, 11))
389 0 4 unless ($self->_column_is_numeric(12, 13, 14))
396 0 18 if ($self->{'format'} and $self->{'format'} =~ /narrowpeak/i and $self->{'number_columns'} != 10)
403 0 18 if ($self->{'format'} and $self->{'format'} =~ /broadpeak/i and $self->{'number_columns'} != 9)
410 0 18 if ($self->{'format'} and $self->{'format'} =~ /gappedpeak/i and $self->{'number_columns'} != 15)
419 21 0 if ($bed_check) { }
433 0 0 if (exists $self->{$i}{'AUTO'})
437 0 0 unless $silence
442 6 46 if ($self->{'ucsc'})
449 6 0 if ($colnumber == 16) { }
0 0 elsif ($colnumber == 15 or $colnumber == 12) { }
0 0 elsif ($colnumber == 11) { }
0 0 elsif ($colnumber == 10) { }
455 0 6 unless ($self->{'2'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
460 3 3 unless ($self->{'4'}{'name'} =~ /start|position/i)
464 3 3 unless ($self->{'5'}{'name'} =~ /stop|end|position/i)
468 3 3 unless ($self->{'6'}{'name'} =~ /start|position/i)
472 3 3 unless ($self->{'7'}{'name'} =~ /stop|end|position/i)
476 0 6 unless ($self->_column_is_integers(4, 5, 6, 7, 8))
480 0 6 unless ($self->_column_is_comma_integers(9, 10))
484 0 6 unless ($self->_column_is_stranded(3))
490 0 0 $colnumber == 15 ? :
498 0 0 unless ($self->{'1'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
503 0 0 unless ($self->{'3'}{'name'} =~ /start|position/i)
507 0 0 unless ($self->{'4'}{'name'} =~ /stop|end|position/i)
511 0 0 unless ($self->{'5'}{'name'} =~ /start|position/i)
515 0 0 unless ($self->{'6'}{'name'} =~ /stop|end|position/i)
519 0 0 unless ($self->_column_is_integers(3, 4, 5, 6, 7))
523 0 0 unless ($self->_column_is_comma_integers(8, 9))
527 0 0 unless ($self->_column_is_stranded(2))
536 0 0 unless ($self->{'2'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
541 0 0 unless ($self->{'4'}{'name'} =~ /start|position/i)
545 0 0 unless ($self->{'5'}{'name'} =~ /stop|end|position/i)
549 0 0 unless ($self->{'6'}{'name'} =~ /start|position/i)
553 0 0 unless ($self->{'7'}{'name'} =~ /stop|end|position/i)
557 0 0 unless ($self->_column_is_integers(4, 5, 6, 7, 8))
561 0 0 unless ($self->_column_is_comma_integers(9, 10))
565 0 0 unless ($self->_column_is_stranded(3))
574 0 0 unless ($self->{'1'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
579 0 0 unless ($self->{'3'}{'name'} =~ /start|position/i)
583 0 0 unless ($self->{'4'}{'name'} =~ /stop|end|position/i)
587 0 0 unless ($self->{'5'}{'name'} =~ /start|position/i)
591 0 0 unless ($self->{'6'}{'name'} =~ /stop|end|position/i)
595 0 0 unless ($self->_column_is_integers(3, 4, 5, 6, 7))
599 0 0 unless ($self->_column_is_comma_integers(8, 9))
603 0 0 unless ($self->_column_is_stranded(2))
614 3 3 if ($ucsc_check == 0)
624 48 0 if (exists $self->{$i}{'AUTO'})
628 0 3 unless $silence
633 0 52 if ($self->{'vcf'})
639 0 0 if ($self->{'number_columns'} < 8)
645 0 0 unless ($self->{'0'}{'name'} =~ /chrom/i)
649 0 0 if (exists $self->{'1'} and not $self->{'1'}{'name'} =~ /^pos|start/i)
658 0 0 unless ($self->_column_is_integers(1))
664 0 0 if ($vcf_check) { }
666 0 0 if $self->{'vcf'} == 1
676 0 0 if (exists $self->{$i}{'AUTO'})
680 0 0 unless $silence
685 0 52 if (exists $self->{'extension'} and defined $self->{'extension'} and $self->{'extension'} =~ /sgr/i)
693 0 0 if ($self->{'number_columns'} != 3)
697 0 0 unless ($self->{'0'}{'name'} =~ /^#?(?:chr|chromo|seq|refseq|ref_seq|seq|seq_id)/i)
701 0 0 unless ($self->{'1'}{'name'} =~ /start|position/i)
705 0 0 unless ($self->_column_is_integers(1))
709 0 0 if ($sgr_check == 0)
720 0 0 if (exists $self->{$i}{'AUTO'})
724 0 0 unless $silence
730 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)) { }
744 18 0 unless $self->{'headers'} == -1
756 2 38 if $self->{'last_row'} == 0
758 0 101 unless exists $self->{$_}
762 0 1648 unless $self->{'data_table'}[$row][$i] =~ /^\d+$/
772 0 29 if $self->{'last_row'} == 0
774 0 45 unless exists $self->{$_}
779 0 407 unless $self->{'data_table'}[$row][$i] =~ /^[\d\-\+\.,eE]+$/
791 0 13 if $self->{'last_row'} == 0
793 0 26 unless exists $self->{$_}
797 0 220 unless $self->{'data_table'}[$row][$i] =~ /^[\d,]+$/
806 0 27 unless exists $self->{$index}
808 0 347 unless $self->{'data_table'}[$row][$index] =~ /^(?:\-1|0|1|\+|\-|\.)$/
821 1 0 if (not defined $_[0]) { }
0 0 elsif ($_[0] eq '0' or $_[0] eq '1') { }
0 0 elsif ($_[0] =~ /[a-zA-Z]+/) { }
841 0 15 unless $self->{'db'}
842 0 15 if $self->{'db'} =~ /^Parsed:/
843 14 1 if (exists $self->{'db_connection'})
844 14 0 unless $force
847 0 1 unless $db
861 0 12 unless $dataset
862 11 1 if (exists $self->{'verfied_dataset'}{$dataset}) { }
866 0 1 if ($dataset =~ /^(?:file|http|ftp)/)
877 1 0 if ($verified)
893 0 2 if (ref $self eq "Bio::ToolBox::Data::Stream")
894 0 0 unless ($self->mode)
898 0 0 if (defined $self->{'fh'})
904 0 2 unless (@_)
914 2 16 if ($i == $deletion_list[0]) { }
930 0 3 if (ref $self eq "Bio::ToolBox::Data::Stream")
931 0 0 unless ($self->mode)
935 0 0 if (defined $self->{'fh'})
943 0 3 unless (@_)
974 2 1 if exists $self->{'column_indices'}
975 0 2 if ($self->gff or $self->bed or $self->ucsc or $self->vcf)
988 20 34 if (@_)
996 0 37 if @_
997 24 13 if (defined $self->{'feature_type'})
1001 8 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) { }
1019 60 8 if (@_)
1027 20 26 if (@_)
1029 0 0 if (exists $self->{'db_connection'} and $self->{'db_connection'})
1048 72 151 if (defined $_[0])
1056 5 97 if (defined $_[0] and $_[0] =~ /^(?:0|1|2|2\.[2|5]|3)$/)
1064 43 94 if (defined $_[0] and $_[0] =~ /^\d+$/)
1072 3 59 if (defined $_[0] and $_[0] =~ /^\d+$/)
1080 0 44 if (defined $_[0] and $_[0] =~ /^[\d\.]+$/)
1088 0 553 if @_
1094 0 3 if @_
1100 0 0 if @_
1106 0 892 if @_
1112 0 138 if @_
1118 0 29 if @_
1124 0 0 if @_
1130 0 129 if @_
1149 0 53 unless my $comment = shift()
1158 1 0 if (defined $index) { }
1168 0 0 unless $self->vcf
1169 0 0 if exists $self->{'vcf_headers'}
1173 0 0 if ($comment =~ /^##([\w\-\.]+)=(.+)$/) { }
1181 0 0 if (not $value =~ /^<.+>$/) { }
1200 0 0 unless $self->vcf
1201 0 0 unless exists $self->{'vcf_headers'}
1210 0 0 if $key eq "fileformat"
1211 0 0 if (ref $self->{'vcf_headers'}{$key} eq 'HASH') { }
1239 0 4 if @_
1244 2 2 wantarray ? :
1250 0 24 unless defined $index
1251 0 24 unless exists $self->{$index}{'name'}
1252 1 23 if (defined $new_name)
1254 1 0 if (exists $self->{'data_table'}) { }
0 0 elsif (exists $self->{'column_names'}) { }
1267 0 26 unless defined $index
1268 0 26 unless exists $self->{$index}
1269 2 24 if ($key and $key eq "name")
1272 3 21 if ($key and defined $value) { }
0 21 elsif ($key and not defined $value) { }
1278 0 0 if (exists $self->{$index}{$key}) { }
1289 17 4 wantarray ? :
1296 0 0 unless defined $index
1297 0 0 if (defined $key) { }
1298 0 0 if (exists $self->{$index}{$key})
1306 0 0 if $key eq "name"
1307 0 0 if $key eq "index"
1315 0 2 unless exists $self->{$source}{'name'} and exists $self->{$target}{'name'}
1319 0 2 if exists $md->{'AUTO'}
1332 0 220 unless $name
1345 88 648 if ($self->{$i}{'name'} =~ /$name/i)
1370 12 0 unless (defined $coord or defined $chromo or defined $start)
1372 12 0 if (defined $id and defined $self->{'data_table'}[1])
1373 8 4 if ($self->{'data_table'}[1][$id] =~ /^[\w\-\.]+:\d+(?:[\-\.]{1,2}\d+)?$/)
1378 4 0 if (not defined $coord and defined $name and defined defined $self->{'data_table'}[1])
1382 0 4 if ($self->{'data_table'}[1][$name] =~ /^[\w\-\.]+:\d+(?:[\-\.]{1,2}\d+)?$/)
1390 1 17 if ($self->{'zerostart'} == 0 and defined $start and substr($self->name($start), -1) eq 0)
1417 13 13 unless exists $self->{'column_indices'}
1418 2 24 if (defined $_[0])
1419 2 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1431 1 116 unless exists $self->{'column_indices'}
1432 2 115 if (defined $_[0])
1433 2 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1445 0 21 unless exists $self->{'column_indices'}
1446 2 19 if (defined $_[0])
1447 2 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1460 0 109 unless exists $self->{'column_indices'}
1461 0 109 if (defined $_[0])
1462 0 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1474 4 17 unless exists $self->{'column_indices'}
1475 2 19 if (defined $_[0])
1476 2 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1488 1 71 unless exists $self->{'column_indices'}
1489 0 72 if (defined $_[0])
1490 0 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1502 4 10 unless exists $self->{'column_indices'}
1503 2 12 if (defined $_[0])
1504 2 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1516 1 70 unless exists $self->{'column_indices'}
1517 0 71 if (defined $_[0])
1518 0 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1530 0 0 unless exists $self->{'column_indices'}
1531 0 0 if (defined $_[0])
1532 0 0 if ($_[0] =~ /^\d+$/ and $_[0] < $self->{'number_columns'}) { }
1545 0 90 if (@_)
1548 0 0 if ($_[0] eq '1' and $n =~ /^start$/i) { }
0 0 elsif ($_[0] eq '0' and $n =~ /^start0$/i) { }
1573 0 13 unless ref $self eq "Bio::ToolBox::Data"
1574 0 13 unless $row and $row <= $self->{'last_row'}
1575 0 13 unless exists $self->{'SeqFeatureObjects'}