问题描述
我正在使用Genrich开发与Snakemake一起运行的ATACseq管道。
事实是,Genrich允许在同一步骤中从多个重复样品中调用峰,从而避免了其他步骤(即IDR)。
在Snakemake中,我找到了一种同时返回我想要的所有样本(即从一个条件复制)的方法,但是Genrich要求使用逗号分隔的文件作为输入文件,或者使用空格分隔的文件(如果每个文件都用引号引起来)
通常情况下,输入返回以空格分隔的文件(即file1 file2 file3)的列表,并且由于我不知道如何使它返回以逗号分隔的文件,因此我尝试引用它们。
从理论上讲,在Snakemake版本5.8.0之后,您可以在规则的shell命令中将输入称为{input:q}
,以返回引用的输入,如here。
但是,就我而言,返回的输入未加引号。
我创建了一个测试规则,以查看如何返回输入:
rule genrich_merge_test:
input:
lambda w: expand("{condition}.sorted.bam",condition = SAMPLES.loc[SAMPLES["CONDITION"] == w.condition].NAME),output:
"{condition}_peaks.narrowPeak",shell:
"""
echo {input:q} > {output}
"""
返回的输入(存储在输出文件中)是:
rep1.sorted.bam rep2.sorted.bam
有人知道如何解决这个问题,并返回引用的输入内容或返回逗号分隔文件而不是空格分隔的文件列表吗?
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)