#!/usr/bin/perl # Usage - ESTsearch $ext = $ARGV[0]; $input = $ext; $input.="EST"; $match=$ext; open(INPUT, $input) || die "Unable to open $input\n"; $dir = "Clus"; $tmp_dir="tmp"; mkdir("$tmp_dir",0775); mkdir("$dir",0775); print "Made directory $dir\n"; while() { if(/>/) { chop; $_ =~ /($match\d\d\d\d\d)$/; $filename = $1; print "$match processing $filename\n"; open(OUTFILE, ">>$tmp_dir/$filename") || die "Can't open $filename\n"; print OUTFILE "$_\n"; next; } print OUTFILE $_ unless(/^>/); if (/^>/) { close OUTFILE; } } close OUTFILE; close INPUT; opendir(DIR, "tmp"); while (defined($file=readdir(DIR))) { $no_seqs=0; if($file =~ /^$ext/) { open(INPUT, "<$tmp_dir/$file"); while() { if (/^>/) { $no_seqs++ } } close INPUT; if($no_seqs==1) { system("cat $tmp_dir/$file >> $dir/singletons.fasta"); system("rm $tmp_dir/$file"); } else { system("mv $tmp_dir/$file $dir/$file"); } } }