Ruffus - No jobs were run because no file names matched.
0
0
Entering edit mode
8.2 years ago
Ric ▴ 430

Hi,
I have the following file structure with FASTQ files:

    ~/Downloads/kumaran/reads > tree
    ├── C5-B1-32237239
    │   ├── C5-B1_S5_L001_R1_001.fastq.gz
    │   ├── C5-B1_S5_L001_R2_001.fastq.gz
    │   ├── C5-B1_S5_L002_R1_001.fastq.gz
    │   ├── C5-B1_S5_L002_R2_001.fastq.gz
    │   ├── C5-B1_S5_L003_R1_001.fastq.gz
    │   ├── C5-B1_S5_L003_R2_001.fastq.gz
    │   ├── C5-B1_S5_L004_R1_001.fastq.gz
    │   └── C5-B1_S5_L004_R2_001.fastq.gz
    ├── C6-B1-32241247
    │   ├── C6-B1_S2_L001_R1_001.fastq.gz
    │   ├── C6-B1_S2_L001_R2_001.fastq.gz
    │   ├── C6-B1_S2_L002_R1_001.fastq.gz
    │   ├── C6-B1_S2_L002_R2_001.fastq.gz
    │   ├── C6-B1_S2_L003_R1_001.fastq.gz
    │   ├── C6-B1_S2_L003_R2_001.fastq.gz
    │   ├── C6-B1_S2_L004_R1_001.fastq.gz
    │   └── C6-B1_S2_L004_R2_001.fastq.gz

I wrote the following Ruffus method:

    from ruffus import *
    from collections import defaultdict
    from glob import glob
    import os

    fq_folders = glob("/home/galaxy/Downloads/kumaran/reads/*")

    sambam_dir = "/home/galaxy/Downloads/kumaran/alignments"
    fastq_metadata = defaultdict(dict)
    ref = "/home/galaxy/Downloads/kumaran/Bactrocera_tryoni"

    def make_rg(metadata):
        return " --rg-id %s --rg SM:%s --rg LB:%s --rg PL:ILLUMINA" % (metadata, metadata, metadata)

    @transform(fq_folders, filter=suffix(".fastq"), output=(".sorted.bam"))
    def run_bwa(fq_folder, output):
        combine_R1_fq = fq_folder + "/R1.fastq.gz"
        combine_R2_fq = fq_folder + "/R2.fastq.gz"
        cmd = "cat %s > %s" % (fq_folder + "/*R1*.fastq.gz", combine_R1_fq)
        print cmd
        cmd = "cat %s > %s" % (fq_folder + "/*R2*.fastq.gz", combine_R2_fq)
        print cmd
        rg = make_rg(os.path.basename(os.path.splitext(os.path.splitext(output)[0])[0]))

        cmd = "bowtie2 -x %s -1 %s -2 %s %s | samtools view -bS - | samtools sort - %s" \
          % (ref, combine_R1_fq, combine_R2_fq, rg, output)
        print cmd

        cmd = "rm %s %s" %(combine_R1_fq, combine_R2_fq)
        print cmd


However, I got the following error:

  WARNING:
        'In Task
  @transform(...)
  def run_bwa(...):
      ...

  No jobs were run because no file names matched.
  Please make sure that the regular expression is correctly specified.

What did I do wrong?

Thank you in advance.

Mic

python ruffus • 1.5k views
ADD COMMENT

Login before adding your answer.

Traffic: 2041 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6