我想计算字符串中每个位置的4个字母的频率。字母是A,T,G,C
TGAGGTAGTAGTTTGTGCTGTTAT
TAGTAGTTTGTGCTGTTA
TGAGGTAGTAGTTTGTAC
TGAGAACTGAATTCCATAGG
期望的输出:
Pos1 Pos2 Pos3 and so on.
A 0 1
T 4 0
C 0 0
G 0 3
到目前为止,我已经使用了一个名为Biostrings的R包,它有效,但是我想知道perl会不会这样做?
答案 0 :(得分:6)
记录,
x = "TGAGGTAGTAGTTTGTGCTGTTAT
TAGTAGTTTGTGCTGTTA
TGAGGTAGTAGTTTGTAC
TGAGAACTGAATTCCATAGG"
Biostrings解决方案
library(Biostrings)
consensusMatrix(DNAStringSet(strsplit(x, "\n")[[1]]))
对于数百万个序列来说速度很快。