10/tax.pl


#!/usr/bin/perl -w

use strict;

my $taxfile = 'tax.txt';
my %lineage;
my %common;

open(TAX, $taxfile) || die "Could not open file\n";

while (<TAX>) {
    chomp;
    my @columns = split(/\t/,$_);
    $lineage{ $columns[1] } = $columns[3];
    $common{ $columns[1] }  = $columns[2];
}
close TAX;

my @species = ();
my $infile = 'mito.fa';
my $species;
my $common;
my $lineage;

format = 
-----------------------------------------------------------------------
SPECIES: @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
          $species 
COMMON:  ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~
          $common
         ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~
          $common
LINEAGE: ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~
          $lineage
         ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~
          $lineage
         ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ~
          $lineage
.

open(FASTA, $infile) or die "Could not open file\n";

while (<FASTA>) {
    if (/^>(.*)/) {
        $species = $1;
        $species =~ s/_/ /g;    # replace underscore with blank space
        $common  = $common{$species};
        $lineage = $lineage{$species};
        write;
    }
}
close FASTA;