#!/opt/gensoft/adm/bin/perl

use File::Basename;
use Cwd;

#if ( grep( /^-h/, @ARGV ) || grep( /^--help/, @ARGV )) {
if (grep (/^-(h|-help)$/, @ARGV)) { 
    print "usage: " . basename($0) . "\n";
    print "    display list of available kraken databases found in KRAKEN2_DB_PATH\n";
    print "    including current working directory (as kraken do)\n";
    exit 0; 
}



# add . as kraken2 use it as default, but only if not already part of KRAKEN_DB_PATH
my $workdir = cwd();
my $KRAKEN2_DB_PATH=$ENV{'KRAKEN2_DB_PATH'};
unless ($KRAKEN2_DB_PATH=~/$workdir/) { $KRAKEN2_DB_PATH   .=':' . $workdir; }

foreach $dir ( split(':', $KRAKEN2_DB_PATH) ) {
    next if ! (-d $dir);

	my $findcommand="find -L $dir -maxdepth 2 -mindepth 2 -type f -name hash.k2d";
	open(FILELIST,"$findcommand |")||die("can't open $findcommand |");

    my @found = <FILELIST>;
    close FILELIST;

	next if ! scalar( @found );    

    print "-------- $dir\n";
	foreach (@found) {
		my $db = basename(dirname($_));
       	print "  $db\n";
    }
	
}

