SAMPLE,16287215,16287226,16287365,16287649,16287784,16287851,16287912
HG00553,0 0,0 0,0 0,0 0,0 0,0 0,0 0
HG00554,0 0,0 0,0 0,0 0,0 0,0 0,0 0
HG00637,0 0,0 0,0 0,0 0,0 0,0 0,0 0
HG00638,0 0,0 0,0 0,0 0,0 0,1 1,0 0
HG00640,0 0,0 0,0 0,0 0,0 0,1 1,0 0
####
SAMPLE,16287215,16287226,16287365,16287649,16287784,16887851,17187912
HG00553,0 0,0 0,0 0,0 0,0 0,0 0,0 0
HG00554,0 0,0 0,0 0,0 0,0 0,0 0,0 0
HG00637,0 0,0 0,0 0,0 0,0 0,0 0,0 0
HG00638,0 0,0 0,0 0,0 0,0 0,1 1,0 0
HG00640,0 0,0 0,0 0,0 0,0 0,1 1,0 0
####
#!/usr/bin/perl -T
use strict;
use warnings;
my (@snp_bins, %data);
open my $in_file, "<", "./dnata";
while (<$in_file>) {
chomp;
if ($. == 1 ) { # line number
my ( $placeholder, @coords ) = split /,/;
@snp_bins = map int( $_ / 100_000 ), @coords;
next;
}
if ($. >= 2){
my ( $id, @snpspairs ) = split /,/;
foreach my $oasis (@snp_bins){
my $os = $oasis;
@{ $data{$id}[$os] } = @snpspairs;
$os--;
unless ( defined( @{ $data{$id}[$os] } ) ){
do { @{ $data{$id}[$os] } = map (q(1 1), 0..99);
# do 0..9 for readability on output!!
$os--;
} until( defined( @{ $data{$id}[$os] } ) )
}
}
}
}
foreach my $k (sort keys %data){
print $k," Ref: ",@{ $data{$k} }->[0],$/;
print $k," 0: ",@{ $data{$k}->[0] },$/;
print $k," 161: ",join (',',@{ $data{$k}->[161]}),$/;
print $k," 161:5 ",@{ $data{$k}->[161]}[5],$/;
print $k," 162: ",join (',',@{ $data{$k}->[162]}),$/;
print $k," 162:5 ",@{ $data{$k}->[162]}[5],$/;
print $k," 165: ",join (',',@{ $data{$k}->[165]}),$/;
print $k," 165:5 ",@{ $data{$k}->[165]}[5],$/;
print $k," 168: ",join (',',@{ $data{$k}->[168]}),$/;
print $k," 168:5 ",@{ $data{$shark}->[168]}[5],$/;
print $k," 170: ",join (',',@{ $data{$k}->[170]}),$/;
print $k," 170:7 ",@{ $data{$k}->[170]}[7],$/;
print $k," 171: ",join (',',@{ $data{$k}->[171]}),$/;
print $k," 171:7 ",@{ $data{$k}->[171]}[7],$/;
}