#!/usr/bin/env nextflow nextflow.enable.dsl=2 // Pipeline parameters params.pdb = '/omic/eureka/Pocketminer/1HSG.pdb' params.outdir = '/omic/eureka/Pocketminer/output' params.model_path = '/workspace/gvp/models/pocketminer' params.debug = false process POCKETMINER { container 'harbor.cluster.omic.ai/omic/pocketminer:latest' publishDir params.outdir, mode: 'copy' input: val pdb_path output: path "*-preds.npy", emit: predictions_npy path "*-predictions.txt", emit: predictions_txt path "*-summary.json", emit: summary path "*_X.npy", optional: true, emit: features_debug path "*_S.npy", optional: true, emit: sequence_debug path "*_mask.npy", optional: true, emit: mask_debug path "run.log", emit: log script: def pdb_basename = file(pdb_path).baseName def debug_flag = params.debug ? '--debug' : '' """ touch run.log echo "=== Debugging PVC mount ===" | tee -a run.log echo "Input path: ${pdb_path}" | tee -a run.log ls -la /omic/eureka/ 2>&1 | head -20 | tee -a run.log ls -la /omic/eureka/Pocketminer/ 2>&1 | tee -a run.log || true echo "=== End Debug ===" | tee -a run.log if [ ! -f "${pdb_path}" ]; then echo "ERROR: PDB file not found at ${pdb_path}" | tee -a run.log echo "Available files in /omic/eureka/Pocketminer/:" | tee -a run.log ls /omic/eureka/Pocketminer/ 2>&1 | tee -a run.log || true exit 1 fi cp "${pdb_path}" input.pdb python /workspace/entrypoint.py \\ --pdb input.pdb \\ --output-folder . \\ --output-name ${pdb_basename} \\ --model-path ${params.model_path} \\ ${debug_flag} 2>&1 | tee -a run.log echo "Pipeline completed successfully" | tee -a run.log """ } workflow { POCKETMINER(params.pdb) }