Search code examples
snakemake

Do snakemake-wrappers get fetched once and stored locally? Or fetched everytime from remote URL?


When snakemake wrappers are used with snakemake scripts, do they get fetched everytime from remote URL or are they stored locally? I don't see them stored anywhere in .snakemake directory, which makes me think it gets fetched everytime even if same version of wrapper script is used everytime.


Solution

  • Unfortunately Snakemake does fetch wrapper script from remote URL everytime, and currently there doesn't appear to be a solution to change this behavior. One alternative is to have a local clone of the wrapper repository and point snakemake to it using --wrapper-prefix.

    Here is the error message when internet is not available:

    RuleException:
    WorkflowError in line 16 of /Users/blah/Downloads/Snakefile:
    URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>
      File "/Users/blah/Downloads/Snakefile", line 16, in __rule_tabix
      File "//anaconda3/lib/python3.7/concurrent/futures/thread.py", line 57, in run