我想计算所有列中每个字母出现的频率:
例如我有这三个序列:
seq1=AATC
seq2=GCCT
seq3=ATCA
在这里,我们有:在第一列中 'A' 的频率是 2 , 'G' 是 1 。
对于第二列:“A”的频率为 1,“C”为 1,“T”为 1。(其余列中的频率相同)
首先,我尝试执行计算频率的代码我尝试这样做:
例如:
s='AATC'
dic={}
for x in s:
dic[x]=s.count(x)
这给出:{'A':2,'T':1,'C':1}
现在,我想将其应用到列上。为此,我使用以下指令:
f=list(zip(seq1,seq2,seq3))
gives:
[('A', 'G', 'A'), ('A', 'C', 'T'), ('T', 'C', 'C'), ('C', 'T', 'A')]
所以,在这里,我计算了()中字母的出现频率:
我怎样才能做到这一点 ?
如果我处理序列文件,如何使用此代码将其应用于文件序列?
例如,每次我获取三个序列并应用此代码时,我的文件包含 100 个序列。