Я пытаюсь создать трубопровод Snakemake, который использует контрольную точку для динамического определения {последовательности} подстановочных знаков после обработки данных пациента. Моя структура рабочего процесса примерно: < /p>
контрольная точка DICOM_TO_NIFTI преобразует необработанные файлы DICOM для каждого {пациента} в файлах NIFTI. < /P>
Затем для каждой {последовательности}, обнаруженной внутри каждого пациента, инициализированная плата /Precepence, Precepence, Precepence, которая, preecence, phesecence, что последовательность, которая будет последовательность. Preceence. I Preceence. Preceence. Preceence. Preceence. P. /p, P. /p, Prueence. I. Имейте правило все, что собирает все окончательные обработанные файлы через функцию Python, которая осматривает выход контрольной точки. < /p>
import os
PATIENTS = [d for d in os.listdir("dataset/raw")]
print(f"Found {len(PATIENTS)} patients")
checkpoint dicom_to_nifti:
input: "raw/{patient}/"
output: directory("nifti/{patient}/")
conda: "envs/dicom_nifti_env.yaml"
shell: "python scripts/dicom_to_nifti.py {input} {output}"
rule dummy_process_sequence:
input: "nifti/{patient}/{sequence}.nii.gz"
output: "processed/{patient}/{sequence}.nii.gz"
shell:
"""
mkdir -p $(dirname {output})
echo "Processed {input}" > {output}
"""
def collect_outputs(wildcards):
files = []
for patient in PATIENTS:
ckpt_outdir = checkpoints.dicom_to_nifti.get(patient=patient).output[0]
for f in os.listdir(ckpt_outdir):
if f.endswith(".nii.gz"):
seq = f[:-7] # strip ".nii.gz"
files.append(f"processed/{patient}/{seq}.nii.gz")
return files
rule all:
input:
collect_outputs
< /code>
Когда я запускаю < /p>
snakemake --cores 1 -p< /code> < /p>
, я получаю ошибку: < /p>
workflowerror:
Целевые правила могут не содержать подстановочных знаков. Укажите конкретные файлы или правило без подстановочных знаков в командной строке, или иметь правило без подстановочных знаков в самом верхней части вашего рабочего процесса (например, типичное «правило все», которое просто собирает все результаты, которые вы хотите сгенерировать в конце).
Подробнее здесь: https://stackoverflow.com/questions/797 ... -using-che
SnakeMake WorkflowerRor: «Целевые правила могут не содержать подстановочных знаков» при использовании контрольной точки ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Snakemake: как реализовать функцию с использованием подстановочных знаков?
Anonymous » » в форуме Python - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Snakemake: как реализовать функцию с использованием подстановочных знаков?
Anonymous » » в форуме Python - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-