1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
#!/usr/bin/env perl
use strict;
use warnings;
use Getopt::Long qw(:config no_ignore_case bundling pass_through);
my $usage = <<__EOUSAGE__;
####################################################################################
#
# usage: $0 --reads_list_file <string> [Trinity params]
#
# Required:
#
# --reads_list_file <string> file containing list of filenames corresponding
# to the reads.fasta
#
#
#####################################################################################
__EOUSAGE__
;
my $reads_file;
my $help_flag;
&GetOptions (
'reads_list_file=s' => \$reads_file,
'h' => \$help_flag,
);
my @TRIN_ARGS = @ARGV;
if ($help_flag) {
die $usage;
}
unless ($reads_file && -e $reads_file) {
die $usage;
}
unless (-s $reads_file) {
die "Error, reads file listing: $reads_file is empty. This tends to happen when there were too few reads to assemble. ";
}
my $trin_args = "";
while (@TRIN_ARGS) {
my $arg = shift @TRIN_ARGS;
if ($arg =~ /bfly_opts/) {
my $val = shift @TRIN_ARGS;
# retain quotes around multiparams
$trin_args .= "$arg \"$val\" ";
}
else {
$trin_args .= "$arg ";
}
}
open (my $fh, $reads_file) or die "Error, cannot open file $reads_file";
while (<$fh>) {
chomp;
my @x = split(/\s+/);
my $file = pop @x;
my $cmd = "/usr/bin/Trinity --single \"$file\" --output \"$file.out\" $trin_args ";
print "$cmd\n";
}
exit(0);
|