typed search is being added
[jalview.git] / forester / archive / perl / gs_aa_extract.pl
1 #!/usr/bin/perl -W
2
3 # $Id: gs_aa_extract.pl,v 1.2 2008/03/09 00:11:50 cmzmasek Exp $
4
5 # This extracts the AA sequences from GENSCAN output files
6 # Copyright (C) 2008-2009 Christian M. Zmasek
7 # All rights reserved
8 # Created 2007-07-28 in Winterthur, Switzerland by CMZ
9
10 # Usage: gs_aa_extract.pl <genscan-output infile> <outfile>
11
12 use strict;
13
14 if ( scalar( @ARGV ) != 2 ) {
15     print "\ngs_aa_extract.pl <genscan-output infile> <outfile>\n\n";
16     exit( -1 );
17 }
18
19 my $infile  = $ARGV[ 0 ];
20 my $outfile = $ARGV[ 1 ];
21
22 if ( -e $outfile) {
23     die "\n$0: \"$outfile\" already exists.\n\n";
24 }
25 unless( ( -s $infile ) && ( -f $infile ) && ( -T $infile ) ) {
26     die "\n$0: cannot read from \"$infile\".\n\n";
27 }
28
29 open( IN, "$infile" ) || die "\n$0: Cannot open file \"$infile\": $!\n";
30 open( OUT, ">$outfile" ) || die "\n$0: Cannot create file \"$outfile\": $!\n";
31
32 my $line = "";
33 my $desc = "";
34
35 while ( $line = <IN> ) {
36     if ( $line =~ /^>/ ) {
37         $desc = $line;
38     }
39     elsif ( $line =~ /^[A-Z]+$/ ) {
40         if ( length( $desc ) > 0 ) {
41             print OUT $desc;
42             $desc = "";
43         }
44         print OUT $line;
45     }
46 }
47
48 close( OUT );
49
50 print( "\nOK\n" );
51
52 exit( 0 );
53