#!/usr/local/bin/perl -w # patscan_batch.pl # Run patscan on all seqs in a folder # Can be easily modified to run any command on every sequence in a folder # WI Bioinformatics course - Feb 2002 - Lecture 5 ################ User-supplied variables ############# # Directory of sequences $myDir = "/usr/people/elvis/seqs"; # Output directory (relative to $myDir or full path) $outputDir = "patscan"; # Path to pattern file $patFile = "/usr/people/elvis/patterns/polyA.pat"; ######################################################### # Go to sequence directory and open it (i.e, read contents) chdir($myDir) || die "Cannot change to $myDir: $!"; # Go to $myDir opendir(DIR, $myDir) || die "Cannot open $myDir: $!"; # Open $myDir foreach $seqFile (sort readdir(DIR)) { if ($seqFile =~ /\.tfa$/) # if file ends in .tfa { print "Processing $seqFile\n"; $outFile = $seqFile; # Create $outFile name $outFile =~ s/\.tfa/\.polyA\.out/; # s/old/new/; ############ Run PATSCAN ############### `scan_for_matches $patFile < $seqFile > $outputDir/$outFile`; } }