#!/usr/local/bin/perl -w
#
# fasta2coils - Generate coils2 reports from fasta files
#
# 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 $dirname $coils2 $html4coils2 $file @fasta_files $fasta
$opt_h
);
## Check command line
my $prog = basename($0);
getopt('hd');
if ($opt_h) {
usage($prog); exit();
} if ($opt_d) {
$dirname = "$opt_d";
$coils2 = '/usr/local/bin/coils2';
$html4coils2 = '/usr/local/bin/html4coils2';
} else {
usage($prog); exit();
}
## Get a working directory containing proteins in fasta format
if (opendir (DIR, $dirname)) {
while ($file = readdir(DIR)) {
## blast reports must contain the .br suffix
push (@fasta_files, "$file") if ($file =~ /\.aa$/);
}
}
closedir(DIR);
## Generate a param file for each fasta file
foreach $fasta (@fasta_files) {
my $line1 = "$fasta";
my $line2 = "coils2.$fasta";
my $line3 = "2";
my $line4 = "N";
my $line5 = "p";
open (FILE, "> ./params.$fasta") or die $!;
print FILE "$line1\n$line2\n$line3\n$line4\n$line5\n";
close (FILE);
}
## Generate html output
foreach $fasta (@fasta_files) {
system "$coils2 \< params.$fasta \&\& $html4coils2 -i coils2.$fasta \> coils2.$fasta.html";
}
## Clean param files
foreach $fasta (@fasta_files) {
unlink "params.$fasta";
}
## 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
}