看板 Perl 關於我們 聯絡資訊
※ 引述《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
adu:謝謝M大,我昨天卡在sort那邊~好好研究一下:D 02/24 10:47