当不需要某些通配符组合(缺少输入文件)时,如何使用snakemake中的expand,并使用“merge”规则?

2024-06-26 00:12:13 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个比报道的here稍微复杂一些的情况。 我的输入文件如下:

ont_Hv1_2.5+.fastq                                                                                                                                                                              
ont_Hv2_2.5+.fastq                                                                                                                                                                              
pacBio_Hv1_1-1.5.fastq                                                                                                                                                                          
pacBio_Hv1_1.5-2.5.fastq                                                                                                                                                                        
pacBio_Hv1_2.5+.fastq                                                                                                                                                                           
pacBio_Hv2_1-1.5.fastq                                                                                                                                                                          
pacBio_Hv2_1.5-2.5.fastq
pacBio_Hv2_2.5+.fastq
pacBio_Mv1_1-1.5.fastq
pacBio_Mv1_1.5-2.5.fastq
pacBio_Mv1_2.5+.fastq

我只想处理现有的输入文件,即,会自动跳过那些与不存在的输入文件对应的通配符组合。在

我的蛇档案是这样的:

^{pr2}$

规则getReadLength收集每个输入FASTQ(即每个techname, capDesign, sizeFrac组合)的读取长度。在

规则aggReadLength为每个techname, capDesign合并getReadLength生成的读取长度统计信息。在

工作流失败,并显示以下消息:

Missing input files for rule getReadLength:
ont_Hv1_1-1.5.fastq

因此,应用于目标的通配符组合过滤步骤似乎没有传播到它所依赖的所有上游规则。有人知道怎么做吗?在

(使用Snakemake版本4.4.0。)

事先非常感谢


Tags: 文件here规则情况档案fastqpacbioont