#!/usr/bin/perl -w

$err_cmd = 0;
if (@ARGV == 0) {
    $opt = 9;                   # all common files
} elsif (@ARGV == 1) {
    $fopt = uc($ARGV[0]);
    if ($fopt =~ /-X/) {         # blocview
        $opt = 1;
    } elsif ($fopt =~ /-N/) {     # nmr_ensemble
        $opt = 2;
    } else {
        $err_cmd = 1;
    }
} else {
    $err_cmd = 1;
}

if ($err_cmd) {
    print <<DCMNFILE_USAGE;
===========================================================================
SYNOPSIS
    dcmnfile [-x|-n]
DESCRIPTION
    Deletes common files (e.g., stacking.pdb, bp_step.par) generated by
    various 3DNA programs.
AUTHOR
    Xiang-Jun Lu in the Laboratory of Wilma K. Olson at Rutgers Univ.
    Check URL: http://rutchem.rutgers.edu/~xiangjun/3DNA/
    Report bugs to <xiangjun\@rutchem.rutgers.edu>
===========================================================================
DCMNFILE_USAGE
    die "\n";
}

@blocview = ("t.pdb", "temp", "temp2", "t2.r3d", "tb.pdb", "t0.r3d", "t1.r3d",
           "tb_c.pdb", "t3.r3d", "t4.r3d", "t5.r3d", "t.r3d", "t.avs",
           "t.jpg", "rotxyz.ang");

@nmr_ensemble = ("str_selected", "best_str", "xnmr_tmp.pdb", "xnmr0_tmp.pdb",
                 "msg_out", "nmr_all.r3d", "rot1.dat", @blocview);

@cmnfiles = ("ref_frames.dat", "mref_frames.dat", "poc_haxis.r3d", "multiplets.pdb",
             "allpairs.pdb", "bestpairs.pdb", "stacking.pdb", "hstacking.pdb",
             "hel_regions.pdb", "bp_order.dat", "col_chains.scr", "col_helices.scr",
             "auxiliary.par", "bp_step.par", "bp_helical.par", "cf_7methods.par",
             "hbonds_info.dat", "bonds_lkg.dat", "serial_num.pdb", "atom_lkg.alc",
             "bblk_lkg.alc", "pblk_lkg.alc", "tmp_file", "mulbp.inp", "rotmat.dat",
             "pmiview1", "pmiview2", "pmiview3", @nmr_ensemble);

if ($opt == 1) {
    @delfiles = @blocview;
} elsif ($opt == 2) {
    @delfiles = @nmr_ensemble;
} else {
    @delfiles = @cmnfiles;
}

foreach $file (@delfiles) {
    if (-e $file) {
        unlink $file or warn "Can't delete $file: $!\n";
    }
}
