use strict;
my $chr=$ARGV[1];
my ($pos,%ref,%alleles);
while (<STDIN>){
    if ($_=~m/^>\d+\s\w+:(\d+)/){
	$pos=$1;
	next;
    }
    if ($_=~m/^(\w)(\d+)\s/){
	$ref{$pos}=$1."\t".$2;
	chomp;
	while ($_ =~ m/\s(\w)(\d+)/g) {
            $alleles{$pos}{$1}=$2;
	}
    }
    $pos++;
}
open (SNPLIST,"<".$ARGV[0])||die "cannot open $ARGV[0]";
while (<SNPLIST>){
    chomp;
    if ($_=~m/^(>\w+)\s$chr:(\d+)\.\.\d+\s([GATCN][GATCN])/){
	my ($id,$pos,$all)=($1,$2,$3);
	if ($ref{$pos}){
	    $ref{$pos}=~m/\w\t(\d+)/;
	    if (($1)||($alleles{$pos})){
		print $id,"\t",$chr,"\t",$pos,"\t",$all,"\t",$ref{$pos};
	    }
	    else{ 
		next;
	    }
	    foreach my $allele (sort { $alleles{$pos}{$b}<=>$alleles{$pos}{$a} } keys %{$alleles{$pos}}){
		print "\t",$allele,"\t",$alleles{$pos}{$allele},"\tstarts";
	    }
	    print "\n";
	}
    }
}
    

