5 #use Data::Dump qw(ddx);
7 my $dbSNPa = 'snp151.lst.h';
10 open IN
,'<','bgi2.tsv' or die "Error opening file: $!\n";
14 my ($rsid,$chr,$Ref,$Alt,$pGlobal,$pAsia) = split /\s+/;
15 $rsIN{$rsid} = [$chr,$Ref,$Alt,$pGlobal,$pAsia];
21 open R
,'<',$dbSNPa or die "Error opening [$dbSNPa]: $!\n";
24 my ($chr,$pos,$rsid,$ref,$tgt) = split /\s+/;
25 if (exists $rsIN{$rsid}) {
26 my @dat = @
{$rsIN{$rsid}};
27 pop @dat unless defined $dat[-1];
28 if (exists $rsDB{$rsid}) {
29 push @
{$rsDB{$rsid}},[$chr,$pos,$ref,$tgt,@dat[-2,-1]];
31 $rsDB{$rsid} = [[$chr,$pos,$ref,$tgt,@dat[-2,-1]]];
38 for my $rsid (sort keys %rsDB) {
39 my @dat = @
{$rsDB{$rsid}};
40 for my $n (0 .. $#dat) {
41 print join("\t",$rsid,$n,@
{$dat[$n]}),"\n";
46 ./annosnp
.pl
> bgi2
.anno
&
48 grep -v _alt bgi2
.anno
> bgi2
.anno
.m
51 print "samtools faidx GRCh38_no_alt_analysis_set.fna.bgz $F[2]:",$F[3]-500,"-",$F[3]+500," \| sed \"s/\>/\>$F[0]_$F[3] /\" "