美文网首页
计算等位基因频率

计算等位基因频率

作者: 线断木偶人 | 来源:发表于2018-06-29 09:42 被阅读0次
    给一个基因型分布表,计算出每个等位基因的频率。
    >cat gene.txt image.png

    代码如下:

    #!/usr/bin/perl
    use strict;
    use Data::Dumper;
    #my ($a,$b) = @ARGV;
    $a='gene.txt';
    #$b = 'hweout_rs';
    my %hash;
    open A,"$a" or die;
    my $head = <A>;
    chomp $head;
    my @line1=split/\t/,$head;
    while(<A>){
        chomp;
        my @t=split/\t/,$_;
        for my $i (1 .. $#t){
            my @geno = split//,$t[$i];
            my @st = sort{$a cmp $b } @geno;
            my $nsc=$st[0].$st[1];
            $hash{$line1[$i]}{$st[0]} +=1;
            $hash{$line1[$i]}{$st[1]} +=1;
        }
    }
    #print Dumper(\%hash);
    for my $rs(sort keys %hash){
        for my $key(sort keys %{$hash{$rs}}){
            print "$rs\t$key\t$hash{$rs}{$key}\n";
        }
    }
    

    要得到频率,只需将得到的频数除以总数。

    相关文章

      网友评论

          本文标题:计算等位基因频率

          本文链接:https://www.haomeiwen.com/subject/ovmoyftx.html