首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个输入后缀的Snakemake glob_wildcards

具有多个输入后缀的Snakemake glob_wildcards
EN

Stack Overflow用户
提问于 2022-01-10 22:42:30
回答 1查看 304关注 0票数 1

我想知道,当输入文件的命名稍有不同时,是否有一种方法来定义通配符。在本例中,FASTQ文件有不同的后缀--有些以“_L001_R1_001.fastq.gz”结尾,另一些以“R1_001快速q.gz”结尾。我希望使用glob_wildcards来读取运行名和示例名。在glob_wildcards中有使用“或”的好方法吗?任何建议都会很棒,谢谢!

代码语言:javascript
复制
# Define samples: 
RUNS, SAMPLES = glob_wildcards(config['fastq_dir'] + "{run}/{samp}" + config['fastq1_suffix'])

我的配置文件包含以下内容:

代码语言:javascript
复制
fastq_dir: 
    '~/tb/data/'
fastq1_suffix:
    '_L001_R1_001.fastq.gz'
fastq2_suffix:  
    '_L001_R2_001.fastq.gz'

第一条规则:

代码语言:javascript
复制
rule trim_reads:  
  input: 
    p1= config['fastq_dir'] + '{run}/{samp}' + config['fastq1_suffix'], 
    p2= config['fastq_dir'] + '{run}/{samp}' + config['fastq2_suffix']
EN

回答 1

Stack Overflow用户

发布于 2022-01-12 14:18:07

一种方法是创建一个新的通配符,如下所示:

代码语言:javascript
复制
RUNS, SAMPLES, SFX = glob_wildcards("dir/{run}/{samp}_L001{suffix}.fastq.gz")

根据工作流的不同,如果确实不需要SFX,则可以通过以下方式丢弃它:

代码语言:javascript
复制
RUNS, SAMPLES, _ = ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70659696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档