http://www.perlmonks.org?node_id=1158380


in reply to MOLECULAR WEIGHT SUM

Hi mbgbioinfo,

I hope this helps.

#!/usr/bin/perl -w use strict; use warnings; my %MWs; %MWs = ( "A" => 71.1, "D" => 115.0, "F" => 147.1, "H" => 137.1, "K" => 128.1, "M" => 131.1, "P" => 97.1, "R" => 156.1, "T" => 101.1, "W" => 186.2, "C" => 103.1, "E" => 129.1, "G" => 57.1, "I" => 113.1, "L" => 113.1, "N" => 114.1, "Q" => 128.1, "S" => 87.1, "V" => 99.1, "Y" => 163.1, "\n" => 0.0 ); my $sum = 0.0; print "Type amino acids.\n"; while ( my $line = <STDIN> ) { chomp $line; last if $line eq ''; my @AA = split '', $line; foreach my $AA (@AA) { unless (defined $MWs{$AA}) { print "'$AA' does not exist\n"; next; } $sum += $MWs{$AA}; } } print "Molecular weight of this peptide is: $sum \n";