I have given you the code, that i wrote....
use strict;
use warnings;
open (HOMOLOGENE,"<homosample.txt") or die $! ;
open (TAXID,"<taxid.txt") or die $! ;
open (HOMOOUT,">>homooutput.txt") or die $! ;
my @gid;
my @homotaxid;
my @taxtaxid;
my @species;
my @gene;
my $newgid;
my $newgene;
my $homolen;
# While loop for reading the data from the Homologene.
while ( my @homo=<HOMOLOGENE>) # @homo - > @inputs
{
$homolen = $#homo; #homolen -> arraylen
for (my $i=0;$i<=$homolen;$i++)
{
chomp $homo[$i];
my ($one,$two,$three, $four,$five,$six) = split(/\s/,$homo[$i]
+);
chomp $one;
chomp $two;
chomp $four;
chomp $six;
my $concat1=join(' | ',$four,$six);
chomp $concat1;
push @gid,$one;
push @homotaxid,$two;
push @gene,$concat1;
}
}
# print @gene;
while ( my @tax=<TAXID>)
{
my $taxlen = $#tax; # taxlen for tax array length
for (my $j=0;$j<=$taxlen;$j++)
{
chomp $tax[$j];
my ($seven,$eight,$nine) = split(/\s/,$tax[$j]);
chomp $seven;
chomp $eight;
chomp $nine;
push @taxtaxid,$seven;
#$, = '::::'; # separation character
my $concat2=join(' ',$eight,$nine);
push @species,$concat2;
#$, = '::::'; # separation character
}
}
# print @species;
my $specieslen=$#species; # Species length
for(my $l=0;$l<=$specieslen;$l++)
{
print HOMOOUT "\t\t\t\t\t".$species[$l]."\t\t\t\t\t";
}
print HOMOOUT "\n";
close HOMOLOGENE;
close TAXID;
close HOMOOUT;
|