Mercurial > repos > jtilman > flexbar
diff flexbar.pl @ 42:e1f80a81ba2c draft
Uploaded
author | jtilman |
---|---|
date | Tue, 03 Jul 2018 07:37:31 -0400 |
parents | 2fcee21876db |
children | 2d1947bea9d6 |
line wrap: on
line diff
--- a/flexbar.pl Tue Jul 03 07:36:49 2018 -0400 +++ b/flexbar.pl Tue Jul 03 07:37:31 2018 -0400 @@ -10,13 +10,15 @@ my @inFiles; my @outFiles; +my $compression = ""; + foreach(0..$#ARGV){ my $arg = $ARGV[$_]; if($arg =~ /\.(fastq\w+)$/ || $arg =~ /\.(fastq\w+\.gz)$/ || $arg =~ /\.(fastq\w+\.bz2)$/){ if(defined $format && $format ne $1){ - print STDERR "Paired read files should have the same format.\n"; + warn "Read files should have the same format.\n"; exit 1; } $format = $1; @@ -27,29 +29,58 @@ $arg =~ s/\.fastq\w+\.gz$/\.fastq\.gz/; $arg =~ s/\.fastq\w+\.bz2$/\.fastq\.bz2/; - push @inFiles, $arg if $arg =~ /\.dat_input\.fastq$/ || $arg =~ /\.dat_input\.fastq\.gz$/ || $arg =~ /\.dat_input\.fastq\.bz2$/; - push @outFiles, $arg if $arg =~ /\.dat\.fastq$/ || $arg =~ /\.dat\.fastq\.gz$/ || $arg =~ /\.dat\.fastq\.bz2$/; + $compression = "GZ" if $arg =~ /\.fastq\.gz$/; + $compression = "BZ2" if $arg =~ /\.fastq\.bz2$/; $ARGV[$_] = $arg; - rename $file, $arg; + + if($arg =~ /\.dat_input\w\.fastq$/ || $arg =~ /\.dat_input\w\.fastq\.gz$/ || $arg =~ /\.dat_input\w\.fastq\.bz2$/){ + push @inFiles, $arg; + rename $file, $arg; + } + + push @outFiles, $arg if $arg =~ /\.dat\.fastq$/ || $arg =~ /\.dat\.fastq\.gz$/ || $arg =~ /\.dat\.fastq\.bz2$/; } } -my $call = join " ", @ARGV; +my $barcoded = 0; + +$barcoded = 1 if $ARGV[$#ARGV] =~ /barcoded$/; + +my $call = join " ", @ARGV[0..($#ARGV - $barcoded)]; + +# $call = $call ." --zip-output ". $compression if $barcoded && $compression ne ""; system $call and exit 1; unlink $_ or warn "Could not unlink $_: $!" foreach(@inFiles); -foreach(@outFiles){ - - my $file = $_; +if($barcoded){ + $format =~ s/\.gz//; + $format =~ s/\.bz2//; - s/\.fastq$//; - s/\.fastq\.gz$//; - s/\.fastq\.bz2$//; - - rename $file, $_; + foreach(<$ARGV[$#ARGV]/flexbarOut*.fastq*>){ + + my $file = $_; + + s/fastq$/$format/; + # s/fastq\.gz$/$format/; + # s/fastq\.bz2$/$format/; + + rename $file, $_; + } +} +else{ + foreach(@outFiles){ + + my $file = $_; + + s/\.fastq$//; + s/\.fastq\.gz$//; + s/\.fastq\.bz2$//; + + rename $file, $_; + } }