#!/usr/bin/perl

use strict;
use warnings;

###########################################################
#
# The script corrects models -D1, which was originally linked 
# by script copy_domain1_as_0.pl
# These scripts removes links, trim models to true D1 range
# and creates tarball for 
#
###########################################################


use lib qw(Core);
use lib qw(Classes);

use Exporter;
use LocalConfiguration;
use DomainsManager;

#my $target = $ARGV[0];

my @targets;

opendir DIR, "/local/CASP13/TARGETS";
while(my $file = readdir(DIR)){
     next if (! -l "/local/CASP13/TARGETS/".$file);
     next if ($file !~ m/D1\.pdb$/);
     next if ($file =~ /T0645/);
     my $target = $file; 
     $target =~ s/-D1\.pdb$//; 
     push @targets, $target;
}
closedir DIR;

my $tarballDir = "/local/CASP13/TARBALLS/predictions_trimmed_to_domains";
my $tarballTargetsName = "/local/CASP13/TARBALLS/targets/Targets_trimmed_to_domains.tar.gz";

my $target;

foreach my $t (sort @targets){
   $target = $t;
   print $t."\n";

   # move models dir
   my $command = sprintf("rsync -a /local/CASP13/MODELS/$target-D1/* /local/CASP13/MODELS/old_$target-D1/");
   system("$command");
   $command = sprintf("rm -rf /local/CASP13/MODELS/$target-D1");
   system("$command");
   &trimModels();
   &createPredictionsTarball();
   


}

exit;


#&trimModels();

#&createPredictionsTarball();
 

#----------------------------------------------------------
# SUBROUTINES
#----------------------------------------------------------

# TODO: handle with spice

sub linkTarget {
    my $targetFile = sprintf("%s/%s.pdb",$LOCAL_CONFIG->{DATA_TARGETS_DIR}, $target);
    my $link = sprintf("%s/%s-D1.pdb",$LOCAL_CONFIG->{DATA_TARGETS_DIR}, $target);
    if(-f $link ){ # exist files with results: domain 0 and domain 1 are different
        # do nothing
        return;
    }
    if(!-e $link ){
        system("/bin/ln -s $targetFile $link");
    }
}

sub copyCACA {
    my $resDir = sprintf("%s/CACA",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resFile1 = sprintf("%s/%s.CAerr",$resDir, $target);
    my $resFile2 = sprintf("%s/%s.CAerr.html",$resDir, $target);
    my $copyFile1 = sprintf("%s/%s-D1.CAerr",$resDir, $target);
    my $copyFile2 = sprintf("%s/%s-D1.CAerr.html",$resDir, $target); 
    my $tmp_file = sprintf("%s/%s-D1.tmp",$resDir, $target);
    if(!-f $resFile1 || !-f $resFile2){
        warn "Either $resFile1 or $resFile2 doesn't exist\n";
        return;
    }

    if(-f $copyFile1 || -f $copyFile2){ # exist files with results: domain 0 and domain 1 are different
	# do nothing
	return;
    }
    my $pattern = $target."TS[0-9][0-9][0-9]_[1-5]"; # pattern to handle with T0123TS123_1
    my $patternD1 = "\\($target"."TS[0-9][0-9][0-9]_[1-5]\\)\\(-D1\\)\\(_[1-5]\\)"; # pattern to handle with T0123TS123_1_2
    if(!-e $copyFile1 ){
	system("sed \'s:$pattern:&-D1:g\'  < $resFile1 >$tmp_file");
	system("sed \'s:$patternD1:\\1\\3\\2:g\' <$tmp_file >$copyFile1");
	system("/bin/rm -f $tmp_file");
    }
    if(!-e $copyFile2 ){
        system("sed \'s:$pattern:&-D1:g\' < $resFile2 > $tmp_file");
	system("sed \'s:$patternD1:\\1\\3\\2:g\' <$tmp_file >$copyFile2");
	system("rm -f $tmp_file");
    }
}


sub linkDaliLite {
    my $resDir = sprintf("%s/DaliLite",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        warn "$resDir_domain0 doesn't exist\n";
        return;
    }
    if(-d $resDir_domain1 ){
	return;
    }else{
	system("/bin/mkdir -p $resDir_domain1");
	system("chgrp casp $resDir_domain1");
	system("chmod 775 $resDir_domain1");
    }

    # read subdirs 
    my @subDirs;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $subDir = readdir(DIR)) {
        next unless (-d "$resDir_domain0/$subDir");
        next if ($subDir =~ m/^\./);
	push(@subDirs, $subDir);
    }
    closedir(DIR);

    # create links
    foreach my $subDir (@subDirs){
	my $link = sprintf("%s/%s-D1",$resDir_domain1,$subDir);
	my $origSubDir = sprintf("%s/%s",$resDir_domain0,$subDir);
	system("/bin/ln -s $origSubDir $link");
    }
}


sub linkMammoth {
    my $resDir = sprintf("%s/MAMMOTH",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        warn "$resDir_domain0 doesn't exist\n";
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.mammoth 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
	#remove extension 
	$file =~ s/\.mammoth//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
	my $link = sprintf("%s/%s-D1.mammoth",$resDir_domain1,$file);
	my $origFile = sprintf("%s/%s.mammoth",$resDir_domain0,$file);
	system("/bin/ln -s $origFile $link");
    }

}

sub linkModels {
    my $resDir = sprintf("%s",$LOCAL_CONFIG->{DATA_MODELS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        warn "$resDir_domain0 doesn't exist\n";
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
    
}

sub trimModels {
    my $resDir = sprintf("%s",$LOCAL_CONFIG->{DATA_MODELS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        warn "$resDir_domain0 doesn't exist\n";
        return;
    }
    if(-d $resDir_domain1){
        warn "Directory $resDir_domain1 does exist!!! You should delete it, if you are sure you want to copy domain 0 as domain 1 for target $target.\n Also pay attention if in table casp13.domains there has been defined just one domain with index '1' for target $target\n";
        return;
    }
    my $domains_manager = new DomainsManager();
    $domains_manager->split_models_to_domains($target);
}


sub linkLVR {
    my $resDir = sprintf("%s/LVR",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        warn "$resDir_domain0 doesn't exist\n";
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.csv
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
	next if ($file !~ m/csv$/);
        #remove extension 
        $file =~ s/\.csv//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.csv",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.csv",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }

}



sub linkLGA_SDA_DATA {
    my $resDir = sprintf("%s/LGA/SDA/DATA",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
	warn "$resDir_domain0 doesn't exist\n";
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.mammoth 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        #remove extension 
        $file =~ s/\.lga//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.lga",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.lga",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }

}

sub linkLGA_SDA_ALIGNMENT {
    my $resDir = sprintf("%s/LGA/SDA/ALIGNMENT",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.mammoth 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        #remove extension 
        $file =~ s/\.lga//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.lga",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.lga",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
}

sub linkLGA_SDA_ROTATED {
    my $resDir = sprintf("%s/LGA/SDA/ROTATED",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.mammoth 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        #remove extension 
        $file =~ s/\.lga//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.lga",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.lga",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
}


sub linkLGA_SIA_DATA {
    my $resDir = sprintf("%s/LGA/SIA/DATA",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.mammoth 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        #remove extension 
        $file =~ s/\.lga//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.lga",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.lga",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }

}

sub linkLGA_SIA_ALIGNMENT {
    my $resDir = sprintf("%s/LGA/SIA/ALIGNMENT",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.mammoth 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        #remove extension 
        $file =~ s/\.lga//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.lga",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.lga",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
}


sub linkLGA_SIA_ROTATED {
    my $resDir = sprintf("%s/LGA/SIA/ROTATED",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.mammoth 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        #remove extension 
        $file =~ s/\.lga//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.lga",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.lga",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
}

sub linkLDDT {
    my $resDir = sprintf("%s/lDDT/",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.lddt 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
	next if ($file !~ m/\.lddt$/);
        #remove extension 
        $file =~ s/\.lddt//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.lddt",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.lddt",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
}

sub linkCAD {
    my $resDir = sprintf("%s/CADscore/",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }   
    # read files and delete extension T0123TS123_1.cad 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        next if ($file !~ m/\.cad$/);
        #remove extension 
        $file =~ s/\.cad$//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.cad",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.cad",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
}

sub linkRPF {
    my $resDir = sprintf("%s/rpf/",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1.rpf 
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        next if ($file !~ m/\.rpf$/);
        #remove extension 
        $file =~ s/\.rpf$//;
        push(@files, $file);
    }
    closedir(DIR);

    foreach my $file (@files){
        my $link = sprintf("%s/%s-D1.rpf",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s.rpf",$resDir_domain0,$file);
        system("/bin/ln -s $origFile $link");
    }
}

sub copyMVSM {
    my $resDir = sprintf("%s/MVSM/DATA",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        push(@files, $file);
    }
    closedir(DIR);

    my $pattern = $target."TS[0-9][0-9][0-9]_[1-5]";
    my $patternD1 = "\\($target"."TS[0-9][0-9][0-9]_[1-5]\\)\\(-D1\\)\\(_[1-5]\\)"; # pattern to handle with T0123TS123_1_2
    foreach my $file (@files){
        my $copyFile = sprintf("%s/%s-D1",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s",$resDir_domain0,$file);
	my $tmp_file = sprintf("%s/%s-D1.tmp",$resDir_domain1,$file);
        system("sed \'s:$pattern:&-D1:g\' < $origFile > $tmp_file");
        system("sed \'s:$patternD1:\\1\\3\\2:g\' <$tmp_file >$copyFile");
        system("rm -f $tmp_file");

    }
}

sub copyRR {
    my $resDir = sprintf("%s/RR_CONTS",$LOCAL_CONFIG->{RESULTS_DIR});
    my $resDir_domain0 = sprintf("%s/%s",$resDir, $target);
    my $resDir_domain1 = sprintf("%s/%s-D1",$resDir, $target);
    if(!-d $resDir_domain0){
        return;
    }
    if(-d $resDir_domain1){
        return;
    }else{
        system("/bin/mkdir -p $resDir_domain1");
        system("chgrp casp $resDir_domain1");
        system("chmod 775 $resDir_domain1");
    }
    # read files and delete extension T0123TS123_1
    my @files;
    opendir(DIR, $resDir_domain0) or die $!;
    while (my $file = readdir(DIR)) {
        next unless (-f "$resDir_domain0/$file");
        next if ($file =~ m/^\./);
        push(@files, $file);
    }
    closedir(DIR);

    my $pattern = $target.".pdb";
    foreach my $file (@files){
        my $copyFile = sprintf("%s/%s-D1",$resDir_domain1,$file);
        my $origFile = sprintf("%s/%s",$resDir_domain0,$file);
        system("sed \'s:$pattern:$target-D1.pdb:g\' < $origFile > $copyFile");
    }

}


sub createPredictionsTarball {
    my $dir_dom1 = sprintf("%s/%s-D1", $LOCAL_CONFIG->{DATA_MODELS_DIR}, $target);
#    my $dir_dom1 = sprintf("%s/%s-D1", "/local/CASP13/MODELS", $target);
    if (! -d $dir_dom1) {
        return;
    }
    my $tar_name = sprintf("%s/%s-D1.tar.gz", $tarballDir, $target);
    if (-e $tar_name ) {
        system(sprintf("/bin/rm -f %s",$tar_name));
    }
    system(sprintf("cd %s ; tar -czhf $tar_name %s-D1 ", $LOCAL_CONFIG->{DATA_MODELS_DIR} ,$target));
    system("chgrp casp $tar_name");
    system("chmod 664 $tar_name");
#    system(sprintf("cd %s ; tar -czhf $tar_name %s-D1 ", "/local/CASP13/MODELS" ,$target))
#    printf("cd %s ; tar -czhf $tar_name %s-D1 ", "/local/CASP13/MODELS" ,$target);

}


sub createTargetsTarball {
    if (-e $tarballTargetsName){
	system("/bin/rm -f $tarballTargetsName");
    }
    system(sprintf("cd %s; tar -czhf %s *-D?.pdb", $LOCAL_CONFIG->{DATA_TARGETS_DIR}, $tarballTargetsName));
    system("chgrp casp $tarballTargetsName");
    system("chmod 664 $tarballTargetsName");    
}

