#!/usr/bin/perl -wl
use strict;
use Bio::SeqIO;
use Getopt::Long;
use Data::Dumper;
my $format = 'fasta';
GetOptions('f|format:s' => \$format);


my $winsize=10;
my %out;

    my @bases=qw[A|C];
#    my @bases=qw[G|T];
#    my @bases=qw[A C G T A|C A|T A|G];
#    print join"\t",@bases, "Len", "Name";

foreach my $f ( @ARGV ) {
    my $in = new Bio::SeqIO(-file => $f,
			    -format => $format);
    while( my $seq = $in->next_seq ) {
	my $name=$seq->primary_id;
	my %count;
	my $s=$seq->primary_seq->seq;
	my $total=length $s;
	for my $b (@bases) {
	    my $c=$s;
	    my @window;
	    my @out;
	    while ($c) {
		push @window, !!($c=~/^($b)/);
		$c=~s/.//;
		push @out, scalar(grep { $_ } @window);
		shift @window if @window>$winsize;
#		print "window=".(join"",map {$_?"*":"-"} @window);
	    }
#	    my @sym=split//," .-^:!=+*%#@";
	    my @sym=(0..9,'A'..'Z');

#	    print "out=".scalar(@out);
#	    print join"", map {$sym[$_]} @out;
	    for (my $n=1;$n<1900;$n+=60) {
		print "$n\t".(join"", map {defined($_)?$sym[$_]:''} @out[$n..$n+59]);
	    }
	}


#	print join"\t",(map {sprintf "%d",100*$_/$total } @count{@bases}), $total, $name;;#"$name: $_: $count\n";
    }
}
