#!/bin/bash
# purch1act_one.sh 
# Loop over each purchasable library
# consider one bioactive molecule at a time and whether it is for sale
# We look for a. exact match, b. up to anon=2,dist=3, etc.

# ====================== Configuration ======================
ROOT="/export/exk/newdbpublic"
BCTYPE="invivo"      # Bioactive Catalog Type: invitro | invivo | natural
BCSUBTYPE="approve"  # Bioactive Catalog Subtype

SWDIR="/nfs/db2/sw_anon_25Q4"
PURCH="/nfs/db5/newdb/Purch/maps"

# ====================== Main Loop ======================

for i in "$ROOT/Bioact/$BCTYPE/$BCSUBTYPE"/*; do
    # Skip if not a file (in case of empty directory)
    [[ -f "$i" ]] || continue

    mkdir -p "$ROOT/Purchbioact/$BCTYPE/$BCSUBTYPE"
    cd "$ROOT/Purchbioact/$BCTYPE/$BCSUBTYPE" || exit 1

    bacat="${i##*/}"        # basename
    bacat="${bacat%.*}"     # remove last extension
    bacat="${bacat%.*}"     # remove second extension

    echo "bacat = $bacat"

    mkdir -p "$bacat"
    pushd "$bacat" >/dev/null || exit 1

    # Process each bioactive compound in this catalog
    while IFS= read -r thiscmpd || [[ -n $thiscmpd ]]; do
        # Skip empty lines
        [[ -z "$thiscmpd" ]] && continue

        echo "i       = $i"
        echo "thiscmpd= $thiscmpd"

        echo "$thiscmpd" > tmp

        # ================== HERE IS WHERE YOU START THE SEARCH ==================
        # (remove the "exit" below when you're ready to run the real logic)

        # exit   # ←←← REMOVE THIS LINE WHEN YOU WANT TO RUN THE INNER LOOPS

        for class in cc ise iso ode odo oth; do
            pushd "$class" >/dev/null 2>&1 || continue

            # Loop over each purchasable catalog map file in this class
            for purchcat in /mnt/nfs/db5/newdb/Purch/maps/"$class"/*.map; do
                [[ -f "$purchcat" ]] || continue

                # Extract names (similar to csh :t:r:r)
                k="${purchcat##*/}"     # basename
                k="${k%.*}"             # remove .map
                k="${k%.*}"             # remove previous extension if any
                l="${k%.*}"             # one more level if needed

                echo "k=$k  l=$l  class=$class  i=$i"

                echo "python /nfs/exk/newdb/SWAG/prog9a.py -f $i.smi -d $k"

                # Optional: clean up old results
                # if [[ ! -s "$l.txt" ]]; then
                #     rm -f "$l.txt"
                # fi

            done

            popd >/dev/null 2>&1
        done

    done < "$i"

    popd >/dev/null 2>&1
done

echo "All done."
