Как я могу заставить Snakemake подтверждать удаленные файлы без использования {output} - PullRequest
0 голосов
/ 27 сентября 2018

Спасибо, что продолжаете вкладывать столько усилий в Snakemake!

snakemake  --no-shared-fs --default-remote-provider S3 --default-remote-prefix mybucket hellos3

Так что это не работает для меня (MissingOutputException)

rule hellos3:
    output: "hello_s3.txt"
    shell:
        """
        echo "hello world" > hello_s3_tmp.txt
        aws s3 cp hello_s3_tmp.txt s3://mybucket/hello_s3.txt
        """

Но это работает:

rule hellos3:
    output: "hello_s3.txt"
    shell:
        """
        echo "hello world" > hello_s3_tmp.txt
        cp hello_s3_tmp.txt {output}
        """

Как я могу убедить Снейкмейка, что файлы появляются там, где и должны, без необходимости, чтобы Снейкмэйк поместил их туда?Что, если какой-то удаленный процесс поместит их туда?

1 Ответ

0 голосов
/ 27 сентября 2018

touch работает

rule hellos3:
    output: "hello_s3.txt"
    shell:
        """
        echo "hello world" > hello_s3_tmp.txt
        aws s3 cp hello_s3_tmp.txt s3://mybucket/hello_s3.txt && touch {output}
        """
...