Run as
snakemake all_c
and you'll get this:
$ tree
.
├── a
│ ├── orange
import inspect | |
import json | |
import os | |
import sys | |
from snakemake.resources import parse_resources | |
# Required for this file to be loaded by snakemake.main() as a --log-handler-script. | |
def log_handler(msg): | |
pass |
import os | |
from contextlib import contextmanager | |
from time import sleep, time | |
@contextmanager | |
def Lockfile(path, timeout = 5 * 60): | |
started = time() | |
while (time() - started) < timeout: | |
try: |
Run as
snakemake all_c
and you'll get this:
$ tree
.
├── a
│ ├── orange
Last two "remind to promote" runs, reverse chronological. | |
Note that because the state includes a relative duration, `releasedAgo`, we | |
fail to produce a reproducible hash. Whoops! | |
<https://github.com/nextstrain/nextstrain.org/actions/runs/3941437674/jobs/6743841749> | |
Cache restored from key: remind-to-promote-state-hash-3940925583 | |
{ | |
"config": { | |
"pipeline": "38f67fc7-d93c-40c6-a182-501da2f89d9d", |
# Symlink the raw HID device (not the baked HID device) of a Thing blink(1), | |
# aka USB vendor:product id 27b8:01ed (cute product id!), using its reported | |
# serial number as /dev/blink/$serial. Also set the mode and group to allow | |
# access. | |
# | |
# This rule matches properties of two udev devices in the device tree: | |
# | |
# 1. the raw HID device with the SUBSYSTEM condition, and | |
# 2. the USB parent device (but *not* the baked HID device in between) with | |
# all the other conditions. |
# vim: set ft=sh : | |
__BASHDB_SOURCE="$BASH_SOURCE" | |
__bashdb:trap() { | |
local file="$1" line="$2" fn="$3" cmd="$4" | |
echo "→ $file:$line:$fn: $cmd" >&2 | |
# From here we can return: | |
# 0 to continue |
rule tree: | |
message: "Building tree" | |
input: | |
alignment = rules.align.output.alignment | |
output: | |
tree = "results/tree_raw.nwk" | |
shell: | |
""" | |
# Remove any prior RAxML outputs which didn't get cleaned up | |
rm -v RAxML_*.* 2>/dev/null || true |
# XXX TODO: Since Singularity normally supports local paths to image files | |
# or directories, it's possible someone might try to pass that. We're | |
# treating those as Docker image names unqualified by docker://, which may | |
# cause confusion. Doing: | |
# | |
# assert url.scheme or not Path(url.path).exists() | |
# | |
# might help… or it might cause false positives and different confusion. | |
# Let's not for now and wait and see. | |
# -trs, 5 Jan 2023 |
diff --git a/augur/tree.py b/augur/tree.py | |
index 820e653f..462e6135 100644 | |
--- a/augur/tree.py | |
+++ b/augur/tree.py | |
@@ -3,6 +3,7 @@ Build a tree using a variety of methods. | |
""" | |
import os | |
+import re | |
import shlex |
""" | |
Build a tree using a variety of methods. | |
""" | |
import os | |
import re | |
import shlex | |
import shutil | |
import sys | |
import time |