~/www/Lesson4/scanTF.pl.html #! /usr/bin/perl -w
use strict;

my $file = shift or die "Usage: scanTF.pl <promoters-files>\n";

my %targets;

my $core="TGACTC";

if( $file =~ m/\.gz$/) {
  open(I,"zcat $file | ") or die "Couldn't open $file\n";
} else {
  open(I,"$file") or die "Couldn't open $file\n";
}

my ($name, $seq);
while(<I>){
  chomp;
  if ( m/^>/) {
  
    # first search motif in the previous sequence:
    if ( defined $name && $seq) {
      if($seq =~ m/(a[ga]$core[ta])/i){
        $targets{$name} = $1;
      }
    }
    
    # start a new sequence :
    ( $name = $_ ) =~ s/^>(\S+)\s*.*/$1/;
    $seq = "";
  
  } else {
  
    $seq .= $_;
    
  }
}
close(I);

my $out_file = "GCN4targets.txt";

open(O,">$out_file") or die "Couldn't open $out_file\n";

while( my($k,$v) = each(%targets) ){
  print O "$k\t$v\n";
}

close(O);