| 165 | |
| 166 | |
| 167 | def generated_params(args: argparse.Namespace, run_dir: Path) -> dict[str, Any]: |
| 168 | params: dict[str, Any] = { |
| 169 | "input": str(args.sample_sheet.expanduser().resolve()), |
| 170 | "outdir": str((run_dir / "results").resolve()), |
| 171 | } |
| 172 | if args.genome: |
| 173 | params["genome"] = args.genome |
| 174 | if args.fasta: |
| 175 | params["fasta"] = str(args.fasta.expanduser().resolve()) |
| 176 | if args.gtf: |
| 177 | params["gtf"] = str(args.gtf.expanduser().resolve()) |
| 178 | if args.extra_param: |
| 179 | for item in args.extra_param: |
| 180 | if "=" not in item: |
| 181 | raise ValueError(f"--extra-param must use key=value syntax, got: {item}") |
| 182 | key, value = item.split("=", 1) |
| 183 | params[key] = value |
| 184 | return params |
| 185 | |
| 186 | |
| 187 | def build_command(args: argparse.Namespace, run_dir: Path, params_path: Path) -> str: |