作者MistQ (Mr.Q)
站内Perl
标题Re: [问题] 多行的统计
时间Wed Feb 24 00:41:34 2010
※ 引述《adu (^_^)》之铭言:
: 想做的类似找出consensus
: 原始的资料是已经排列好的字串:
: >字串名子
: 字串内容
: 的形式
: ===
: i.e.
: >1F3T.pdb_chainA_s004
: ---------------RFL-EG-----FNTRDALCKKIS
: >7ODC.pdb_chainA_s010
: SSFTKDEFD-----CHILDEG-----FTAKDILDQKIN
: >1D7K.pdb_chainA_s003
: -----EEFD-----CHFLDEG-----FTAKDILDQKIN
: ===
: 内容的长度都一样。(-算第27个字母)
: 想将相同定位点的字元做统计
: 如倒数第四个分别是K, Q, Q, 可以算出2/3Q, 1/3K,然後输出Q
: 倒数第三K, K, K,就直接输出K,
: 想请板大提供一些方法><
: 谢谢~~
open in, "< test.txt";
while(<in>)
{
chomp();
if(not /^>/)
{
@t=split(//);
for($i=0;$i<=$#t;$i++)
{
${$ARRAY[$i]}{$t[$i]}++;
}
}
}
close in;
foreach $h (@ARRAY)
{
$max = ( sort {${$h}{$b}<=>${$h}{$a}} keys (%{$h}))[0];
print "$max";
}
结果:
------EFD-----CHFLDEG-----FTAKDILDQKIN
参考看看。
(我不是板大,只是在此处受益良多的板友。)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.166.40
1F:→ adu:谢谢M大,我昨天卡在sort那边~好好研究一下:D 02/24 10:47