假设我有一个 Snakemake 工作流程,其中有
Snakefile
和各种输入文件。我想完全按原样运行此工作流程,但将 .snakemake
临时文件写入更适合写入的临时文件系统。
我尝试过
--directory
标志,但这会阻止 Snakemake 查找我的输入文件,因为它们是相对于工作目录定位的。我想使用当前工作目录来查找输入,但仅更改输出的“写入”位置。这可能吗?
例如,如果我使用 :
.
├── data
│ ├── genome.fa
│ ├── genome.fa.amb
│ ├── genome.fa.ann
│ ├── genome.fa.bwt
│ ├── genome.fa.fai
│ ├── genome.fa.pac
│ ├── genome.fa.sa
│ └── samples
│ ├── A.fastq
│ ├── B.fastq
│ └── C.fastq
├── results
│ └── mapped
│ └── C.bam
└── workflow
├── envs
│ ├── mapping.yaml
│ └── stats.yaml
└── Snakefile
我在当前工作目录中添加了
.snakemake
。如果我使用
--directory ~/scratch/tmpsnake
,我会得到:WorkflowError:
MissingInputException: Missing input files for rule map_reads:
output: results/mapped/A.sorted.bam
wildcards: sample=A.sorted
affected files:
data/genome.fa
data/samples/A.sorted.fastq
.snakemake
到临时路径的符号链接。如果
.snakemake
文件夹已存在,您需要将其删除(或将其内容移动到暂存路径),然后创建符号链接。