#blast!/bin/bash

############# New modify script support blastx ###############
#############   May 16, 2012 Weicai Ye  ######################

cxx_dir=$1

#Files related to GPU BLAST

cp   ./ncbi_blast_files/functions.cpp                           $cxx_dir/src/algo/blast/core/functions.cpp

if [ -f $cxx_dir/src/algo/blast/core/blast_engine.c ]; then
    cp  $cxx_dir/src/algo/blast/core/blast_engine.c             $cxx_dir/src/algo/blast/core/blast_engine.c.backup
    cp   ./ncbi_blast_files/blast_engine.c                      $cxx_dir/src/algo/blast/core/
else
    echo "\"$cxx_dir/src/algo/blast/core/blast_engine.c\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/core/blast_seqsrc.c ];  then
    cp  $cxx_dir/src/algo/blast/core/blast_seqsrc.c                 $cxx_dir/src/algo/blast/core/blast_seqsrc.c.backup
    cp   ./ncbi_blast_files/blast_seqsrc.c                          $cxx_dir/src/algo/blast/core/
else
    echo "\"$cxx_dir/src/algo/blast/core/blast_seqsrc.c\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/api/seqsrc_seqdb.cpp ];  then
    cp  $cxx_dir/src/algo/blast/api/seqsrc_seqdb.cpp                $cxx_dir/src/algo/blast/api/seqsrc_seqdb.cpp.backup
    cp   ./ncbi_blast_files/seqsrc_seqdb.cpp                        $cxx_dir/src/algo/blast/api/
else
    echo "\"$cxx_dir/src/algo/blast/api/seqsrc_seqdb.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_reader/seqdb.cpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_reader/seqdb.cpp          $cxx_dir/src/objtools/blast/seqdb_reader/seqdb.cpp.backup
    cp   ./ncbi_blast_files/seqdb.cpp                               $cxx_dir/src/objtools/blast/seqdb_reader/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_reader/seqdb.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.cpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.cpp      $cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.cpp.backup
    cp   ./ncbi_blast_files/seqdbimpl.cpp                           $cxx_dir/src/objtools/blast/seqdb_reader/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.hpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.hpp      $cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.hpp.backup
    cp   ./ncbi_blast_files/seqdbimpl.hpp                           $cxx_dir/src/objtools/blast/seqdb_reader/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_reader/seqdbimpl.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/blastinput/cmdline_flags.cpp ];  then
    cp  $cxx_dir/src/algo/blast/blastinput/cmdline_flags.cpp        $cxx_dir/src/algo/blast/blastinput/cmdline_flags.cpp.backup
    cp   ./ncbi_blast_files/cmdline_flags.cpp                       $cxx_dir/src/algo/blast/blastinput/
else
    echo "\"$cxx_dir/src/algo/blast/blastinput/cmdline_flags.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/blastinput/blast_args.cpp ];  then
    cp  $cxx_dir/src/algo/blast/blastinput/blast_args.cpp           $cxx_dir/src/algo/blast/blastinput/blast_args.cpp.backup
    cp  ./ncbi_blast_files/blast_args.cpp                          $cxx_dir/src/algo/blast/blastinput/
else
    echo "\"$cxx_dir/src/algo/blast/blastinput/blast_args.cpp\" could not be found. Exiting..."
    exit 1
fi


if [ -f $cxx_dir/src/algo/blast/blastinput/blastp_args.cpp ];  then
    cp  $cxx_dir/src/algo/blast/blastinput/blastp_args.cpp          $cxx_dir/src/algo/blast/blastinput/blastp_args.cpp.backup
    cp   ./ncbi_blast_files/blastp_args.cpp                         $cxx_dir/src/algo/blast/blastinput/
else
    echo "\"$cxx_dir/src/algo/blast/blastinput/blastp_args.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/blastinput/blastx_args.cpp ];  then
    cp  $cxx_dir/src/algo/blast/blastinput/blastx_args.cpp          $cxx_dir/src/algo/blast/blastinput/blastx_args.cpp.backup
    cp   ./ncbi_blast_files/blastx_args.cpp                         $cxx_dir/src/algo/blast/blastinput/
else
    echo "\"$cxx_dir/src/algo/blast/blastinput/blastx_args.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/api/blast_options_cxx.cpp ];  then
    cp  $cxx_dir/src/algo/blast/api/blast_options_cxx.cpp           $cxx_dir/src/algo/blast/api/blast_options_cxx.cpp.backup
    cp   ./ncbi_blast_files/blast_options_cxx.cpp                   $cxx_dir/src/algo/blast/api/
else
    echo "\"$cxx_dir/src/algo/blast/api/blast_options_cxx.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/api/blast_options_local_priv.hpp ];  then
    cp  $cxx_dir/src/algo/blast/api/blast_options_local_priv.hpp    $cxx_dir/src/algo/blast/api/blast_options_local_priv.hpp.backup
    cp   ./ncbi_blast_files/blast_options_local_priv.hpp            $cxx_dir/src/algo/blast/api/
else
    echo "\"$cxx_dir/src/algo/blast/api/blast_options_local_priv.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/api/bl2seq.cpp ];  then
    cp  $cxx_dir/src/algo/blast/api/bl2seq.cpp                      $cxx_dir/src/algo/blast/api/bl2seq.cpp.backup
    cp   ./ncbi_blast_files/bl2seq.cpp                              $cxx_dir/src/algo/blast/api/
else
    echo "\"$cxx_dir/src/algo/blast/api/bl2seq.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/api/blast_memento_priv.hpp ];  then
    cp  $cxx_dir/src/algo/blast/api/blast_memento_priv.hpp          $cxx_dir/src/algo/blast/api/blast_memento_priv.hpp.backup
    cp   ./ncbi_blast_files/blast_memento_priv.hpp                  $cxx_dir/src/algo/blast/api/
else
    echo "\"$cxx_dir/src/algo/blast/api/blast_memento_priv.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/algo/blast/api/prelim_search_runner.hpp ];  then
    cp  $cxx_dir/src/algo/blast/api/prelim_search_runner.hpp        $cxx_dir/src/algo/blast/api/prelim_search_runner.hpp.backup
    cp   ./ncbi_blast_files/prelim_search_runner.hpp                $cxx_dir/src/algo/blast/api/
else
    echo "\"$cxx_dir/src/algo/blast/api/prelim_search_runner.hpp\" could not be found. Exiting..."
    exit 1
fi


cp  ./ncbi_blast_files//gpu_cpu_common.h                        $cxx_dir/include/algo/blast/core/gpu_cpu_common.h

if [ -f $cxx_dir/include/algo/blast/core/blast_engine.h ];  then
    cp  $cxx_dir/include/algo/blast/core/blast_engine.h             $cxx_dir/include/algo/blast/core/blast_engine.h.backup
    cp   ./ncbi_blast_files/blast_engine.h                          $cxx_dir/include/algo/blast/core/
else
    echo "\"$cxx_dir/include/algo/blast/core/blast_engine.h\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/algo/blast/core/blast_options.h ];  then
    cp  $cxx_dir/include/algo/blast/core/blast_options.h            $cxx_dir/include/algo/blast/core/blast_options.h.backup
    cp   ./ncbi_blast_files/blast_options.h                         $cxx_dir/include/algo/blast/core
else
    echo "\"$cxx_dir/include/algo/blast/core/blast_options.h\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/algo/blast/core/blast_seqsrc_impl.h ];  then
    cp  $cxx_dir/include/algo/blast/core/blast_seqsrc_impl.h        $cxx_dir/include/algo/blast/core/blast_seqsrc_impl.h.backup
    cp   ./ncbi_blast_files/blast_seqsrc_impl.h                     $cxx_dir/include/algo/blast/core/
else
    echo "\"$cxx_dir/include/algo/blast/core/blast_seqsrc_impl.h\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/objtools/blast/seqdb_reader/seqdb.hpp ];  then
    cp  $cxx_dir/include/objtools/blast/seqdb_reader/seqdb.hpp      $cxx_dir/include/objtools/blast/seqdb_reader/seqdb.hpp.backup
    cp   ./ncbi_blast_files/seqdb.hpp                               $cxx_dir/include/objtools/blast/seqdb_reader/
else
    echo "\"$cxx_dir/include/objtools/blast/seqdb_reader/seqdb.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/algo/blast/blastinput/blast_args.hpp ];  then
    cp  $cxx_dir/include/algo/blast/blastinput/blast_args.hpp       $cxx_dir/include/algo/blast/blastinput/blast_args.hpp.backup
    cp   ./ncbi_blast_files/blast_args.hpp                          $cxx_dir/include/algo/blast/blastinput/
else
    echo "\"$cxx_dir/include/algo/blast/blastinput/blast_args.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/algo/blast/blastinput/cmdline_flags.hpp ];  then
    cp  $cxx_dir/include/algo/blast/blastinput/cmdline_flags.hpp    $cxx_dir/include/algo/blast/blastinput/cmdline_flags.hpp.backup
    cp   ./ncbi_blast_files/cmdline_flags.hpp                       $cxx_dir/include/algo/blast/blastinput/
else
    echo "\"$cxx_dir/include/algo/blast/blastinput/cmdline_flags.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/algo/blast/api/blast_options.hpp ];  then
    cp  $cxx_dir/include/algo/blast/api/blast_options.hpp           $cxx_dir/include/algo/blast/api/blast_options.hpp.backup
    cp   ./ncbi_blast_files/blast_options.hpp                       $cxx_dir/include/algo/blast/api/
else
    echo "\"$cxx_dir/include/algo/blast/api/blast_options.hpp\" could not be found. Exiting..."
    exit 1
fi

#Files related to makeblastdb
if [ -f $cxx_dir/src/app/blastdb/makeblastdb.cpp ];  then
    cp  $cxx_dir/src/app/blastdb/makeblastdb.cpp                    $cxx_dir/src/app/blastdb/makeblastdb.cpp.backup
    cp   ./ncbi_blast_files/makeblastdb.cpp                         $cxx_dir/src/app/blastdb/
else
    echo "\"$cxx_dir/src/app/blastdb/makeblastdb.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_writer/writedb.cpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_writer/writedb.cpp        $cxx_dir/src/objtools/blast/seqdb_writer/writedb.cpp.backup
    cp   ./ncbi_blast_files/writedb.cpp                             $cxx_dir/src/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_writer/writedb.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/objtools/blast/seqdb_writer/writedb.hpp ];  then
    cp  $cxx_dir/include/objtools/blast/seqdb_writer/writedb.hpp    $cxx_dir/include/objtools/blast/seqdb_writer/writedb.hpp.backup
    cp   ./ncbi_blast_files/writedb.hpp                             $cxx_dir/include/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/include/objtools/blast/seqdb_writer/writedb.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_writer/build_db.cpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_writer/build_db.cpp       $cxx_dir/src/objtools/blast/seqdb_writer/build_db.cpp.backup
    cp   ./ncbi_blast_files/build_db.cpp                            $cxx_dir/src/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_writer/build_db.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/objtools/blast/seqdb_writer/build_db.hpp ];  then
    cp  $cxx_dir/include/objtools/blast/seqdb_writer/build_db.hpp   $cxx_dir/include/objtools/blast/seqdb_writer/build_db.hpp.backup
    cp   ./ncbi_blast_files/build_db.hpp                            $cxx_dir/include/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/include/objtools/blast/seqdb_writer/build_db.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.cpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.cpp   $cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.cpp.backup
    cp   ./ncbi_blast_files/writedb_impl.cpp                        $cxx_dir/src/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.hpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.hpp   $cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.hpp.backup
    cp   ./ncbi_blast_files/writedb_impl.hpp                        $cxx_dir/src/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_writer/writedb_impl.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.cpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.cpp $cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.cpp.backup
    cp   ./ncbi_blast_files/writedb_volume.cpp                      $cxx_dir/src/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.cpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.hpp ];  then
    cp  $cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.hpp $cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.hpp.backup
    cp   ./ncbi_blast_files/writedb_volume.hpp                      $cxx_dir/src/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_writer/writedb_volume.hpp\" could not be found. Exiting..."
    exit 1
fi

if [ -f $cxx_dir/include/objtools/blast/seqdb_writer/writedb_files.hpp ];  then
    cp  $cxx_dir/include/objtools/blast/seqdb_writer/writedb_files.hpp  $cxx_dir/include/objtools/blast/seqdb_writer/writedb_files.hpp.backup
    cp   ./ncbi_blast_files/writedb_files.hpp                       $cxx_dir/include/objtools/blast/seqdb_writer/
else
    echo "\"$cxx_dir/src/objtools/blast/seqdb_writer/writedb_files.hpp\" could not be found. Exiting..."
    exit 1
fi


exit 0
