[Bio] / FigMetagenomeTools / fasta_from_dir.pl Repository:
ViewVC logotype

Annotation of /FigMetagenomeTools/fasta_from_dir.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1.1.1 - (view) (download) (as text)

1 : olson 1.1 #!/usr/bin/perl -w
2 :    
3 :     # create a fasta file from some directory
4 :    
5 :     use strict;
6 :    
7 :     my $usage=<<EOF;
8 :     $0
9 :     -d list of source directories
10 :     -e list of directories to exclude
11 :     -o output file
12 :    
13 :     EOF
14 :    
15 :     my (@inc, @exc, $output);
16 :     my $exc;
17 :     while (@ARGV) {
18 :     my $t=shift @ARGV;
19 :     if ($t eq "-d") {$exc=1;next}
20 :     elsif ($t eq "-e") {$exc=2;next}
21 :     elsif ($t eq "-o") {$output=shift @ARGV; next}
22 :     if ($exc==1) {push @inc, $t}
23 :     elsif ($exc==2) {push @exc, $t}
24 :     }
25 :    
26 :     die $usage unless ($inc[0] && $output);
27 :    
28 :     my $all=0; my $kept=0;
29 :     foreach my $dir (@inc) {
30 :     opendir(DIR, $dir) || die "Can't open $dir";
31 :     while (my $f=readdir(DIR)) {
32 :     next if ($f =~ /^\./);
33 :     $all++;
34 :     my $keep=1;
35 :     foreach my $e (@exc) {
36 :     if (-e "$e/$f") {undef $keep; last}
37 :     }
38 :     next unless ($keep);
39 :     `cat $dir/$f >> $output`;
40 :     $kept++;
41 :     }
42 :     }
43 :    
44 :     print STDERR "Looked through $all files and kept $kept of them\n";
45 :    
46 :    
47 :    

MCS Webmaster
ViewVC Help
Powered by ViewVC 1.0.3