PA5098 PA5100 PA5092 PA3175
####
PA5098 PA5100 1
PA5098 PA5092 2
PA5098 PA3175 3
PA5100 PA5092 1
PA5100 PA3175 2
PA5092 PA3175 1
####
PA5098 PA5100 1
PA5098 PA5092 2
PA5098 PA3175 3
PA5100 PA5092 2
PA5100 PA3175 3
PA5092 PA3175 3
####
############# open pathways output list with PA01 locus IDs
my $in=$ARGV[1] || "pathways.col";
open (IN,$in) or die "cannot open $in\n";
##
my $out="$in.$org.stepSize.tab";
open(OUT,">",$out);
#
my %HoCplx2ID; my %HoPwyPair;my %HoPairs;
while (my $lines=){
next if ($lines =~/^#/);
next if ($lines =~/^UNIQUE-ID/);
chomp $lines;
my @cols=split(/\t/,$lines);
my $cmplxID=$cols[0];
my $cmplxNm=$cols[1];
my @restCols=@cols[2..$#cols];
my @cycIDs=grep(/^GCXG-/, @restCols);
@cycIDs=grep($_ ne '',@cycIDs);
my $pwySize=scalar(@cycIDs);
push (@{$HoCplx2ID{$cmplxID}},@cycIDs);
}
close(IN);
###########
my %HoP;
foreach my $pwy (keys %HoCplx2ID){
my @genes=@{$HoCplx2ID{$pwy}};
my $numbGenes=scalar(@genes);
for (my $i=0;$i<$numbGenes;$i++){
for (my $j=1;$j<$numbGenes;$j++){
my $pair=join("-",$HoCycID2Loc{$genes[$i]},$HoCycID2Loc{$genes[$j]});
my $rev_pair=join("-",$HoCycID2Loc{$genes[$j]},$HoCycID2Loc{$genes[$i]});
if (($genes[$i] ne $genes[$j]) && (!exists($HoP{$rev_pair}))){
print OUT join("\t",$HoCycID2Loc{$genes[$i]},$HoCycID2Loc{$genes[$i+1]},$j)."\n";
$HoP{$pair}=1;
}
}
}
}