#!/usr/bin/env bash -C -e -u -o pipefail
if [ -n "SPAdes-MetaBAT2-group-414.1.fa.gz SPAdes-MetaBAT2-group-414.10.fa.gz SPAdes-MetaBAT2-group-414.11.fa.gz SPAdes-MetaBAT2-group-414.12.fa.gz SPAdes-MetaBAT2-group-414.13.fa.gz SPAdes-MetaBAT2-group-414.14.fa.gz SPAdes-MetaBAT2-group-414.15.fa.gz SPAdes-MetaBAT2-group-414.16.fa.gz SPAdes-MetaBAT2-group-414.17.fa.gz SPAdes-MetaBAT2-group-414.18.fa.gz SPAdes-MetaBAT2-group-414.19.fa.gz SPAdes-MetaBAT2-group-414.2.fa.gz SPAdes-MetaBAT2-group-414.20.fa.gz SPAdes-MetaBAT2-group-414.21.fa.gz SPAdes-MetaBAT2-group-414.22.fa.gz SPAdes-MetaBAT2-group-414.23.fa.gz SPAdes-MetaBAT2-group-414.24.fa.gz SPAdes-MetaBAT2-group-414.25.fa.gz SPAdes-MetaBAT2-group-414.26.fa.gz SPAdes-MetaBAT2-group-414.27.fa.gz SPAdes-MetaBAT2-group-414.28.fa.gz SPAdes-MetaBAT2-group-414.29.fa.gz SPAdes-MetaBAT2-group-414.3.fa.gz SPAdes-MetaBAT2-group-414.30.fa.gz SPAdes-MetaBAT2-group-414.31.fa.gz SPAdes-MetaBAT2-group-414.32.fa.gz SPAdes-MetaBAT2-group-414.33.fa.gz SPAdes-MetaBAT2-group-414.34.fa.gz SPAdes-MetaBAT2-group-414.35.fa.gz SPAdes-MetaBAT2-group-414.36.fa.gz SPAdes-MetaBAT2-group-414.37.fa.gz SPAdes-MetaBAT2-group-414.38.fa.gz SPAdes-MetaBAT2-group-414.39.fa.gz SPAdes-MetaBAT2-group-414.4.fa.gz SPAdes-MetaBAT2-group-414.40.fa.gz SPAdes-MetaBAT2-group-414.41.fa.gz SPAdes-MetaBAT2-group-414.42.fa.gz SPAdes-MetaBAT2-group-414.43.fa.gz SPAdes-MetaBAT2-group-414.44.fa.gz SPAdes-MetaBAT2-group-414.45.fa.gz SPAdes-MetaBAT2-group-414.46.fa.gz SPAdes-MetaBAT2-group-414.47.fa.gz SPAdes-MetaBAT2-group-414.48.fa.gz SPAdes-MetaBAT2-group-414.49.fa.gz SPAdes-MetaBAT2-group-414.5.fa.gz SPAdes-MetaBAT2-group-414.50.fa.gz SPAdes-MetaBAT2-group-414.51.fa.gz SPAdes-MetaBAT2-group-414.52.fa.gz SPAdes-MetaBAT2-group-414.53.fa.gz SPAdes-MetaBAT2-group-414.54.fa.gz SPAdes-MetaBAT2-group-414.55.fa.gz SPAdes-MetaBAT2-group-414.56.fa.gz SPAdes-MetaBAT2-group-414.57.fa.gz SPAdes-MetaBAT2-group-414.58.fa.gz SPAdes-MetaBAT2-group-414.59.fa.gz SPAdes-MetaBAT2-group-414.6.fa.gz SPAdes-MetaBAT2-group-414.60.fa.gz SPAdes-MetaBAT2-group-414.61.fa.gz SPAdes-MetaBAT2-group-414.62.fa.gz SPAdes-MetaBAT2-group-414.63.fa.gz SPAdes-MetaBAT2-group-414.64.fa.gz SPAdes-MetaBAT2-group-414.65.fa.gz SPAdes-MetaBAT2-group-414.66.fa.gz SPAdes-MetaBAT2-group-414.67.fa.gz SPAdes-MetaBAT2-group-414.7.fa.gz SPAdes-MetaBAT2-group-414.8.fa.gz SPAdes-MetaBAT2-group-414.9.fa.gz" ]
then
    for bin in SPAdes-MetaBAT2-group-414.1.fa.gz SPAdes-MetaBAT2-group-414.10.fa.gz SPAdes-MetaBAT2-group-414.11.fa.gz SPAdes-MetaBAT2-group-414.12.fa.gz SPAdes-MetaBAT2-group-414.13.fa.gz SPAdes-MetaBAT2-group-414.14.fa.gz SPAdes-MetaBAT2-group-414.15.fa.gz SPAdes-MetaBAT2-group-414.16.fa.gz SPAdes-MetaBAT2-group-414.17.fa.gz SPAdes-MetaBAT2-group-414.18.fa.gz SPAdes-MetaBAT2-group-414.19.fa.gz SPAdes-MetaBAT2-group-414.2.fa.gz SPAdes-MetaBAT2-group-414.20.fa.gz SPAdes-MetaBAT2-group-414.21.fa.gz SPAdes-MetaBAT2-group-414.22.fa.gz SPAdes-MetaBAT2-group-414.23.fa.gz SPAdes-MetaBAT2-group-414.24.fa.gz SPAdes-MetaBAT2-group-414.25.fa.gz SPAdes-MetaBAT2-group-414.26.fa.gz SPAdes-MetaBAT2-group-414.27.fa.gz SPAdes-MetaBAT2-group-414.28.fa.gz SPAdes-MetaBAT2-group-414.29.fa.gz SPAdes-MetaBAT2-group-414.3.fa.gz SPAdes-MetaBAT2-group-414.30.fa.gz SPAdes-MetaBAT2-group-414.31.fa.gz SPAdes-MetaBAT2-group-414.32.fa.gz SPAdes-MetaBAT2-group-414.33.fa.gz SPAdes-MetaBAT2-group-414.34.fa.gz SPAdes-MetaBAT2-group-414.35.fa.gz SPAdes-MetaBAT2-group-414.36.fa.gz SPAdes-MetaBAT2-group-414.37.fa.gz SPAdes-MetaBAT2-group-414.38.fa.gz SPAdes-MetaBAT2-group-414.39.fa.gz SPAdes-MetaBAT2-group-414.4.fa.gz SPAdes-MetaBAT2-group-414.40.fa.gz SPAdes-MetaBAT2-group-414.41.fa.gz SPAdes-MetaBAT2-group-414.42.fa.gz SPAdes-MetaBAT2-group-414.43.fa.gz SPAdes-MetaBAT2-group-414.44.fa.gz SPAdes-MetaBAT2-group-414.45.fa.gz SPAdes-MetaBAT2-group-414.46.fa.gz SPAdes-MetaBAT2-group-414.47.fa.gz SPAdes-MetaBAT2-group-414.48.fa.gz SPAdes-MetaBAT2-group-414.49.fa.gz SPAdes-MetaBAT2-group-414.5.fa.gz SPAdes-MetaBAT2-group-414.50.fa.gz SPAdes-MetaBAT2-group-414.51.fa.gz SPAdes-MetaBAT2-group-414.52.fa.gz SPAdes-MetaBAT2-group-414.53.fa.gz SPAdes-MetaBAT2-group-414.54.fa.gz SPAdes-MetaBAT2-group-414.55.fa.gz SPAdes-MetaBAT2-group-414.56.fa.gz SPAdes-MetaBAT2-group-414.57.fa.gz SPAdes-MetaBAT2-group-414.58.fa.gz SPAdes-MetaBAT2-group-414.59.fa.gz SPAdes-MetaBAT2-group-414.6.fa.gz SPAdes-MetaBAT2-group-414.60.fa.gz SPAdes-MetaBAT2-group-414.61.fa.gz SPAdes-MetaBAT2-group-414.62.fa.gz SPAdes-MetaBAT2-group-414.63.fa.gz SPAdes-MetaBAT2-group-414.64.fa.gz SPAdes-MetaBAT2-group-414.65.fa.gz SPAdes-MetaBAT2-group-414.66.fa.gz SPAdes-MetaBAT2-group-414.67.fa.gz SPAdes-MetaBAT2-group-414.7.fa.gz SPAdes-MetaBAT2-group-414.8.fa.gz SPAdes-MetaBAT2-group-414.9.fa.gz; do
        # DAS Tool works on uncompressed fasta, so decompress gzipped bins first
        if [[ ${bin} == *.gz ]]; then
            gunzip -f ${bin}
            bin=${bin%.gz}
        fi
        if [[ ${bin} =~ SPAdes-MetaBAT2-group-414.([_[:alnum:]]+).fa ]]; then
            num=${BASH_REMATCH[1]}
            mv ${bin} SPAdes-MetaBAT2Refined-group-414.${num}.fa
        else
            echo "ERROR: the bin filename ${bin} does not match the expected format 'SPAdes-MetaBAT2-group-414.([_[:alnum:]]+).fa'!"
            exit 1
        fi
    done
fi

cat <<-END_VERSIONS > versions.yml
"NFCORE_MAG:MAG:BINNING_REFINEMENT:RENAME_PREDASTOOL":
    coreutils: $(echo $(mv --version 2>&1) | sed 's/^.*(GNU coreutils) //; s/ Copyright.*$//')
END_VERSIONS
