代码更改后Snakemake中的MissingRuleException

代码更改后Snakemake中的MissingRuleException,snakemake,Snakemake,我有两条规则: all_participants = ['01','03','04','05','06','07','08'] rule all: input: expand("data/interim/tables/screen/p{participant_id}.csv",participant_id=all_participants) rule extract_screen_table: output: "data/interim/tables/screen/p{part

我有两条规则:

all_participants = ['01','03','04','05','06','07','08']
rule all:
    input: expand("data/interim/tables/screen/p{participant_id}.csv",participant_id=all_participants)

rule extract_screen_table:
    output: "data/interim/tables/screen/p{participant_id}.csv"
    shell: "python src/data/sql_table_to_csv.py --table screen"
如果我执行snakemake,一切正常,但是如果我更改代码并执行:snakemake-n-R“snakemake-list code changes”,我会得到以下错误:

Building DAG of jobs...
MissingRuleException:
No rule to produce snakemake --list-code-changes (if you use input functions make sure that they don't raise unexpected exceptions).
snakemake-list代码更改的输出为:


我认为不应该是这样,我应该用python脚本来代替。

列表代码更改必须使用反勾号:`snakemake-list code changes`。这是用于执行包含的命令并以字符串形式返回STDOUT的bash语法。

感谢使用Powershell的用户,您可以使用snakemake-n-R$snakemake-lc。但是,-lc的输出仍然不正确,我不知道是否应该打开一个新问题,但是命令返回的是一个输入CSV文件,即我在第一个问题中描述的文件,而不是我修改的py脚本。好的,我已经阅读了文档并理解了发生了什么。我必须通过在规则体中运行来更改shell,然后它返回一个列表,其中列出了使用以前版本的py脚本生成的所有文件。现在的问题是找不到生成该文件的规则。我已尝试手动使用snakemake-n-R data/middial/tables/screen/p07.csv,但没有返回生成数据\middial\tables\screen\p07.csv的规则。如果使用输入函数,请确保它们不会引发意外异常。。也许这是扩张的问题?
Building DAG of jobs...
data/interim/tables/screen/p03.csv