#!/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"; $myDir = "/usr/people/yuan/liverseq"; #The directory changed to liverseq, replace yuan with your login name # Output directory (relative to $myDir or full path) #$outputDir = "patscan"; $outputDir = "/usr/people/yuan/Peptide"; #created a Peptide directory, replace yuan with your login name # Path to pattern file #$patFile = "/usr/people/elvis/patterns/polyA.pat"; # You don't need pattern file for transeq program ######################################################### # 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/\.peptide/; #s/old/new/, the new file name ending with .peptide ############ Run PATSCAN ############### `transeq -frame F $seqFile $outputDir/$outFile`; #command changed } } closedir(DIR);