snakemake - 规则之间的snakemake通配符范围
解决方案
我不确定我是否在回答您的问题,以下内容可能并不完全正确... Snakemake 只关心您是否有一个且只有一个路径可以通向所请求的文件(即第一条规则中定义的文件,通常称为all
)。
如果规则栏定义了可以导致最终输出的通配符,那么是的,这些通配符对以下规则是可见的。
在下面的脚本中,我们要求提供文件A.txt
和B.txt
. 要生成 A.txt,我们不需要任何通配符。要生成 B.txt,我们需要通过{wc}
在规则栏中定义并在规则中使用的通配符B
。请注意,通配符{sample}
根本不会出现在 rule 之外all
。另请注意,规则bar
生成两个文件,B.tmp 和 C.tmp,但规则B
只需要B.tmp
. (您应该能够使用 干运行此脚本snakemake -p -n
)
rule all:
input:
expand('{sample}.txt', sample= ['A', 'B']),
rule A:
output:
'A.txt',
shell:
"touch {output}"
rule bar:
output:
expand('{wc}.tmp', wc= ['B', 'C'])
shell:
r"""
touch {output}
"""
rule B:
input:
'{wc}.tmp',
output:
'{wc}.txt',
shell:
r"""
touch {input} {output}
"""
推荐阅读
- python - 自定义腐蚀结果与 OpenCV 腐蚀不匹配
- javascript - Posting to MongoDB, What am I doing wrong?
- ios - UITableViewCell 中的 UITextView 键盘问题
- c++ - 在 CMakeLists.txt 中包含目录的更好方法
- django - Django project-apps:你对实现一个真正的数据库方案有什么看法?
- python - 从 Python 中的较大/多行字符串中计算包含 *both* 的两个字符串的行数
- c++ - 使用函数打开文件,然后让其他函数使用该文件?
- python - 如何修复 Conv1D 的输入形状?- 音频分类模型
- spring-data-jdbc - Spring Data JDBC不生成派生查询
- laravel - SQLSTATE[HY000]:一般错误:在 Laravel 中迁移期间出现 1005