#!/usr/local/bin/perl
# fasta2ccp
# Reads a directory and writes fasta files with coiled coil predictions
# for fasta files found in the directory
# usage fasta2ccp -d <directory_where_fasta_files_are>
#
# Author: Leonardo Marino-Ramirez <marino@tofu.tamu.edu>
#
# Please cite the author in any work or product based on this material.
#
use strict;
use Getopt::Std;
use File::Basename;
use vars qw($opt_d $file @fasta_files $fname $dirname $ccp $opt_h
);
## Check command line
my $prog = basename($0);
getopt('hd');
if ($opt_h) {
usage($prog); exit();
} if ($opt_d) {
$dirname = "$opt_d";
$ccp = '/usr/local/bin/ccp';
} else {
usage($prog); exit();
}
## Get a working directory containing fasta files
if (opendir (DIR, $dirname)) {
while ($file = readdir(DIR)) {
## abi files must contain the .Seq suffix
push (@fasta_files, "$file") if ($file =~ /\.aa$/);
}
}
closedir(DIR);
my $num_fasta_files = scalar (@fasta_files);
foreach $fname (@fasta_files) {
print "Writing ccp file for $fname\n";
system "$ccp -f $fname -S T > $fname.ccp";
}
print "$num_fasta_files file(s) converted\n";
## Normal end
exit(0);
## Usage display
sub usage {
my $p = shift;
print STDERR <<USAGE
usage: $p [options] <file>
options [default]:
-h Usage display.
-d Directory containing fasta files (*.aa).
USAGE
}