擅长:python、mysql、java
<p>如果我是对的,函数expand in Snakemake生成一个字符串列表。此函数用于文件名,就像您使用它一样。在</p>
<p>我不知道expand函数是否可以与regex关联以创建列表。在</p>
<p>但是您可以用python生成这个列表并将其交给ruleall或expand函数。在</p>
<p>在您的情况下,您可以使用以下代码来获取并生成文件名列表:</p>
<pre><code>import re
import os
path='.'
listoffiles=[]
for file in os.listdir(path):
if(re.search('read[1-2]_index\d{3}-\d{3}=[1-9]',file)):
listoffiles.append(os.path.splitext(file)[0])
</code></pre>
<p>然后在listoffiles中,你有你所有的文件名,你只需要像这样使用你的扩展:</p>
^{pr2}$
<p>那么一切都应该完美运作。在</p>
<p>记住,在创建所有规则和dag之前,snakefile中的所有python代码都将在工作流开始时执行。所以它可以很强大。在</p>