#!/usr/bin/perl
#
# lsSnpPdbDbLoadStep [-verbose] db ..
#
# load lastest lsSnpPdb downlaods into the specified databases
#
# -verbose - print details
#
# $Id: lsSnpPdbDbLoadStep,v 1.1 2009/09/15 06:52:29 markd Exp $
#
use strict;
use warnings;
use File::Basename;
use FindBin;
use lib "$FindBin::Bin/../lib";
use gbCommon;
my $downloadDir = "data/download/lsSnpPdb";

# Get the latest lsSnpPdb download file name from the server
sub getDownloadFileName($) {
    my($db) = @_;
    my $dbDownloadDir = "$downloadDir/$db";
    my @downloadFiles = glob($dbDownloadDir . "/lsSnpPdb.*.tab.gz");
    @downloadFiles = sort @downloadFiles;

    if ($#downloadFiles < 0) {
        die("can't find lsSnpPdb download file in $dbDownloadDir");
    }
    return $downloadFiles[$#downloadFiles];
}

# load the specified database
sub lsSnpPdbDbLoad($) {
    my($db) = @_;
    my $downloadFile = getDownloadFileName($db);
    runProg("hgLsSnpPdbLoad load $db lsSnpPdb $downloadFile");
}

# Entry point
while (($#ARGV >= 0) && ($ARGV[0] =~/^-.*/)) {
    my $opt = $ARGV[0];
    shift @ARGV;
    if ($opt eq "-verbose") {
        $gbCommon::verbose = 1;
    } else {
        gbError("invalid option \"$opt\"");
    }
}

if ($#ARGV < 0) {
    die("Wrong \# args: lsSnpPdbDbLoadStep [-verbose] db ...");
}
my @dbs = @ARGV;

# use different task dir to allow running parallel with genbank
beginTask("lsSnpPdbDbLoad", "load");
foreach my $db (@dbs) {
    lsSnpPdbDbLoad($db);
}
endTask();
