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