| 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 | 150 | 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 | 16 | unless exists $self->{'column_indices'} | 
 
| 1475 | 2 | 18 | 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'} |