Systematically debug a failed Isabl analysis. Use when an analysis has FAILED status or unexpected behavior.
Installation
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Systematically debug a failed Isabl analysis. Use when an analysis has FAILED status or unexpected behavior.
tools
Read, Bash, Glob, Grep
model
inherit
Debugging an Isabl Analysis
You are helping debug a failed or problematic Isabl analysis.
Checklist
Work through these steps systematically:
Get analysis details (status, application, targets)
Check the command script (head_job.sh)
Review stdout log (head_job.log)
Review stderr log (head_job.err)
Check input data exists (BAM files, dependencies)
Verify settings (application_settings values)
Identify root cause
Suggest fix
Step 1: Get Analysis Details
import isabl_cli as ii
# Get the analysis
analysis = ii.Analysis(ANALYSIS_PK)
print(f"Status: {analysis.status}")
print(f"Application: {analysis.application.name} v{analysis.application.version}")
print(f"Storage URL: {analysis.storage_url}")
print(f"Targets: {[t.system_id for t in analysis.targets]}")
print(f"References: {[r.system_id for r in analysis.references]}")
Step 2: Check Command Script
The generated command is in head_job.sh:
# View the command that was executedcat {analysis.storage_url}/head_job.sh
Look for:
Incorrect paths
Missing environment variables
Malformed command syntax
Step 3: Review Logs
# Standard outputcat {analysis.storage_url}/head_job.log
# Standard error (usually more informative)cat {analysis.storage_url}/head_job.err
Common error patterns:
Error
Likely Cause
"File not found"
Input file path incorrect or missing
"Permission denied"
Storage directory permissions
"Command not found"
Tool path in settings is wrong
"Memory allocation"
Job needs more memory (batch system)
"Timeout"
Job exceeded time limit
Step 4: Check Input Data
# Verify target experiments have datafor target in analysis.targets:
print(f"{target.system_id}:")
print(f" Raw data: {target.raw_data}")
print(f" BAM files: {target.bam_files}")