我有一个包含10个子目录(dir01到dir10)的目录以及每个目录中的许多文件(每天将新文件添加到子目录中) 。处理多个目录和使用snakemake中的所有文件
我试图编写一个snakemake
文件,将通过所有的子目录和所有文件并处理它们(运行我的convert.exe
可执行文件将我的.Stp文件转换为.Xml)。处理后的文件将被移动到一个新的目录中,但会被移动到与以前具有相同名称并具有相同文件名的子目录中。
所以 - 作为最终的例子最终作业流程应该运行与此类似:
/data01/dir01/Sample1.Stp --> processed by convert.exe --> /data01/temp/dir01/Sample1.xml
我也想在12个CPU我就可以访问分了,运行它在平行下。
我刚刚开始使用snakemake,并且经历了一些教程,但是有点迷路。
这是我到目前为止: 它不工作,我甚至不知道这是否是写的方式去做。 这也只是第一部分 - 只是试图循环目录和文件(而不是尝试转换或并行运行)。
directories = glob_wildcards("/data01/{dir}")
files = glob_wildcards("/data01/{dir}/{file}")
rule all:
input:
expand("/data01/temp/{dir}/{file}.moved.Stp", dir=directories, file=files)
rule sort:
input:
"/data01/{dir}/{file}.Stp"
output:
"/data01/temp/{dir}/{file}.moved.Stp"
shell:
"..."
任何关于如何去做这个的帮助将不胜感激!
谢谢!