Mercurial > repos > jtilman > flexbar
comparison flexbar.pl @ 42:e1f80a81ba2c draft
Uploaded
author | jtilman |
---|---|
date | Tue, 03 Jul 2018 07:37:31 -0400 |
parents | 2fcee21876db |
children | 2d1947bea9d6 |
comparison
equal
deleted
inserted
replaced
41:b0847c1e320b | 42:e1f80a81ba2c |
---|---|
8 | 8 |
9 my $format; | 9 my $format; |
10 my @inFiles; | 10 my @inFiles; |
11 my @outFiles; | 11 my @outFiles; |
12 | 12 |
13 my $compression = ""; | |
14 | |
13 foreach(0..$#ARGV){ | 15 foreach(0..$#ARGV){ |
14 my $arg = $ARGV[$_]; | 16 my $arg = $ARGV[$_]; |
15 | 17 |
16 if($arg =~ /\.(fastq\w+)$/ || $arg =~ /\.(fastq\w+\.gz)$/ || $arg =~ /\.(fastq\w+\.bz2)$/){ | 18 if($arg =~ /\.(fastq\w+)$/ || $arg =~ /\.(fastq\w+\.gz)$/ || $arg =~ /\.(fastq\w+\.bz2)$/){ |
17 | 19 |
18 if(defined $format && $format ne $1){ | 20 if(defined $format && $format ne $1){ |
19 print STDERR "Paired read files should have the same format.\n"; | 21 warn "Read files should have the same format.\n"; |
20 exit 1; | 22 exit 1; |
21 } | 23 } |
22 $format = $1; | 24 $format = $1; |
23 | 25 |
24 my $file = $arg; | 26 my $file = $arg; |
25 | 27 |
26 $arg =~ s/\.fastq\w+$/\.fastq/; | 28 $arg =~ s/\.fastq\w+$/\.fastq/; |
27 $arg =~ s/\.fastq\w+\.gz$/\.fastq\.gz/; | 29 $arg =~ s/\.fastq\w+\.gz$/\.fastq\.gz/; |
28 $arg =~ s/\.fastq\w+\.bz2$/\.fastq\.bz2/; | 30 $arg =~ s/\.fastq\w+\.bz2$/\.fastq\.bz2/; |
29 | 31 |
30 push @inFiles, $arg if $arg =~ /\.dat_input\.fastq$/ || $arg =~ /\.dat_input\.fastq\.gz$/ || $arg =~ /\.dat_input\.fastq\.bz2$/; | 32 $compression = "GZ" if $arg =~ /\.fastq\.gz$/; |
31 push @outFiles, $arg if $arg =~ /\.dat\.fastq$/ || $arg =~ /\.dat\.fastq\.gz$/ || $arg =~ /\.dat\.fastq\.bz2$/; | 33 $compression = "BZ2" if $arg =~ /\.fastq\.bz2$/; |
32 | 34 |
33 $ARGV[$_] = $arg; | 35 $ARGV[$_] = $arg; |
34 rename $file, $arg; | 36 |
37 if($arg =~ /\.dat_input\w\.fastq$/ || $arg =~ /\.dat_input\w\.fastq\.gz$/ || $arg =~ /\.dat_input\w\.fastq\.bz2$/){ | |
38 push @inFiles, $arg; | |
39 rename $file, $arg; | |
40 } | |
41 | |
42 push @outFiles, $arg if $arg =~ /\.dat\.fastq$/ || $arg =~ /\.dat\.fastq\.gz$/ || $arg =~ /\.dat\.fastq\.bz2$/; | |
35 } | 43 } |
36 } | 44 } |
37 | 45 |
38 my $call = join " ", @ARGV; | 46 my $barcoded = 0; |
47 | |
48 $barcoded = 1 if $ARGV[$#ARGV] =~ /barcoded$/; | |
49 | |
50 my $call = join " ", @ARGV[0..($#ARGV - $barcoded)]; | |
51 | |
52 # $call = $call ." --zip-output ". $compression if $barcoded && $compression ne ""; | |
39 | 53 |
40 system $call and exit 1; | 54 system $call and exit 1; |
41 | 55 |
42 | 56 |
43 unlink $_ or warn "Could not unlink $_: $!" foreach(@inFiles); | 57 unlink $_ or warn "Could not unlink $_: $!" foreach(@inFiles); |
44 | 58 |
45 foreach(@outFiles){ | 59 if($barcoded){ |
60 $format =~ s/\.gz//; | |
61 $format =~ s/\.bz2//; | |
46 | 62 |
47 my $file = $_; | 63 foreach(<$ARGV[$#ARGV]/flexbarOut*.fastq*>){ |
48 | 64 |
49 s/\.fastq$//; | 65 my $file = $_; |
50 s/\.fastq\.gz$//; | 66 |
51 s/\.fastq\.bz2$//; | 67 s/fastq$/$format/; |
52 | 68 # s/fastq\.gz$/$format/; |
53 rename $file, $_; | 69 # s/fastq\.bz2$/$format/; |
70 | |
71 rename $file, $_; | |
72 } | |
73 } | |
74 else{ | |
75 foreach(@outFiles){ | |
76 | |
77 my $file = $_; | |
78 | |
79 s/\.fastq$//; | |
80 s/\.fastq\.gz$//; | |
81 s/\.fastq\.bz2$//; | |
82 | |
83 rename $file, $_; | |
84 } | |
54 } | 85 } |
55 | 86 |