【发布时间】:2013-07-10 05:28:54
【问题描述】:
我有一个 perl 脚本,但它仅在给出序列时计算分子量。但是我想计算fasta文件中蛋白质序列的分子量。
print "Enter the amino acid sequence:\n";
$a = < STDIN > ;
chomp($a);
my @a = ();
my $a = '';
$x = length($a);
print "Length of sequence is : $x";
@a = split('', $a);
$b = 0;
my %data = (
A=>71.09, R=>16.19, D=>114.11, N=>115.09,
C=>103.15, E=>129.12, Q=>128.14, G=>57.05,
H=>137.14, I=>113.16, L=>113.16, K=>128.17,
M=>131.19, F=>147.18, P=>97.12, S=>87.08,
T=>101.11, W=>186.12, Y=>163.18, V=>99.14
);
foreach $i(@a) {
$b += $data{$i};
}
$c = $b - (18 * ($x - 1));
print "\nThe molecular weight of the sequence is $c";
【问题讨论】:
-
您可能希望更好地格式化您的代码以帮助我们阅读它。在这里查看如何:stackoverflow.com/help/formatting
-
你的问题到底是什么?
-
我希望我的 perl 脚本从 fasta 文件中读取蛋白质序列,该文件又包含许多蛋白质序列,然后计算每个蛋白质序列的分子量。
-
@PP.:这里,
@a和$a是相同数据的数组和标量视图,因为@a = split ('', $a)。在这种情况下,我经常使用相同的名称。为什么它会让你感到沮丧和愤怒?
标签: perl