summaryrefslogblamecommitdiffstats
path: root/SPEC.pl
blob: 99ae1b91eb97836b45cc538da9ab3e54f25cf5d5 (plain) (tree)










































                                    
#!/usr/bin/env perl
use strict;
use warnings;
use 5.016;

my %mass = qw(
    A   71.03711
    C   103.00919
    D   115.02694
    E   129.04259
    F   147.06841
    G   57.02146
    H   137.05891
    I   113.08406
    K   128.09496
    L   113.08406
    M   131.04049
    N   114.04293
    P   97.05276
    Q   128.05858
    R   156.10111
    S   87.03203
    T   101.04768
    V   99.06841
    W   186.07931
    Y   163.06333 
);

my %protein = map {
    val($mass{$_}) - 1 => $_,
    val($mass{$_})     => $_,
    val($mass{$_}) + 1 => $_,
} keys %mass;

chomp(my $prev = <>);
while (<>) {
    chomp;
    my $diff = val($_) - val($prev);
    print $protein{$diff};
    $prev = $_;
}

sub val { int($_[0] * 10000 + 0.5) }