.PHONY: help build run test clean # Default target help: @echo "PocketMiner - Cryptic Pocket Prediction Tool" @echo "" @echo "Available targets:" @echo " make build - Build Docker image (conda-based, includes all dependencies)" @echo " make run - Run test prediction (requires test.pdb)" @echo " make test - Run Nextflow pipeline on test data" @echo " make clean - Clean up generated files" @echo " make shell - Open shell in Docker container" @echo " make download-example - Download example PDB file" @echo "" # Build Docker image (conda-based with all dependencies) build: @echo "Building PocketMiner Docker image (conda-based)..." docker build -t pocketminer:latest . @echo "Build complete!" # Run single test prediction run: @if [ ! -f test.pdb ]; then \ echo "Error: test.pdb not found. Please provide a test PDB file."; \ exit 1; \ fi @echo "Running PocketMiner prediction on test.pdb..." docker run --rm \ -v $(PWD):/data \ pocketminer:latest \ python /workspace/entrypoint.py \ --pdb /data/test.pdb \ --output-folder /data/output \ --output-name test @echo "Results saved to output/" # Run Nextflow pipeline test: @echo "Running Nextflow pipeline..." nextflow run main.nf @echo "Pipeline complete!" # Clean generated files clean: @echo "Cleaning up..." rm -rf output/ rm -rf .nextflow/ rm -f .nextflow.log* rm -rf work/ rm -rf results/ rm -f *.npy *.txt @echo "Clean complete!" # Open shell in container shell: docker run --rm -it \ -v $(PWD):/data \ pocketminer:latest \ /bin/bash # Download example PDB (if internet available) download-example: @echo "Downloading example PDB (1HSG - HIV protease)..." wget -O test.pdb https://files.rcsb.org/download/1HSG.pdb @echo "Example downloaded as test.pdb"