#!/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);