open my( $normal_fh ), ">>", $normalOut or die("Couldn't open NORMAL $normalOut $!\n"); my @arrayToPrint; if ($nbGABlocks == 0) { @arrayToPrint = (); #print ("NoAlignmentBlocks!\n"); my @subArray = ($chrInterval,$startInterval,$endInterval,"NA","NA","NA"); my @naArray = ("NA","NA","NA","NA","NA","NA","NA") x scalar(@species); push(@arrayToPrint,@subArray); push(@arrayToPrint,@naArray); } NORMALBLOCK: foreach my $block (sort{$blocksHash{$a}{"orderBlock"} <=> $blocksHash{$b}{"orderBlock"}} keys %blocksHash) { my $spNb = 0; my $order = $blocksHash{$block}{"orderBlock"}; @arrayToPrint = (); my @subArray = ($chrInterval,$startInterval,$endInterval,$block,$order,$warning); push(@arrayToPrint,@subArray); @subArray = (); SP: foreach my $sp (@species) { my $newSp = $speciesCorrespond{$sp}; $spNb++; if (exists($blocksHash{$block}{$newSp})) { my $chr = $blocksHash{$block}{$newSp}{"chr"}; my $start = $blocksHash{$block}{$newSp}{"start"}; my $end = $blocksHash{$block}{$newSp}{"end"}; my $strand = $blocksHash{$block}{$newSp}{"strand"}; my $size = $blocksHash{$block}{$newSp}{"sizeBlock"}; my $comment = $spBlocksHash{$newSp}{$block}{"comment"}; @subArray = ($newSp,$chr,$start,$end,$strand,$size,$comment); push(@arrayToPrint,@subArray); @subArray = (); } else { @subArray = ($newSp,"NA","NA","NA","NA","NA","NA"); push(@arrayToPrint,@subArray); @subArray = (); } } my $printing = join("\t",@arrayToPrint); $" = "\t"; $normal_fh->printflush("$printing\n"); }