2两个连续字母的图形

2024-09-30 01:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

所谓的2-gram是指由两个连续字母组成的块。例如,在序列AACTGC中,我们可以找到五种不同的2克:AA、AC、CT、TG和GC(注意,两个连续的2克在一个字母中重叠)。很容易看出,在一系列的𝑁 信,我们可以数𝑁−1.2克(其中许多可能重复,因此不同2克的总数可能更小)

对于由字母表大小为4的字母组成的序列(如病毒RNA,其字母表由四个字母A、C、G和T组成),总共有24=16个可能的2克:AA、AC、AG、AT、…、TT

通过修改函数freq()(或其他方式),计算并绘制病毒序列中2克频率的直方图(条形图)。x轴应描绘四个核苷酸的所有十六种组合


Tags: 字母序列tggcac字母表atrna
3条回答

你想要这个吗-&燃气轮机

s = 'AACTGC'
result = set(map(''.join,zip(s,(s[-1] + s[1:]))))

如果要保留订单->

# pip install ordered_set
from ordered_set import OrderedSet
s = 'AACTGC'
result = set(map(''.join,zip(s,(s[-1] + s[1:]))))

这是一个开始,试着适应你的问题

text='AACTGC'
import re

def gram_2(text):
    lst=[]
    for i in range(1,len(text)):
        p=text[i-1:i+1]

        p=re.findall('\w{2}',p)
        lst=[*lst,*p]
    return len(lst),lst

print(gram_2(text))
# (5, ['AA', 'AC', 'CT', 'TG', 'GC'])

据我所知,这就是你想要做的:

gram = "ACTG"
two_gram = dict()
for letter1 in gram:
    for letter2 in gram:
        two_gram[letter1+letter2] = 0
print(two_gram)
virus_ARN = "AATGCAACGATGCAAACATGGAGC"
for a,b in zip(virus_ARN[0:-1],virus_ARN[1:]):
    two_gram[a+b] = two_gram[a+b]+1
print(two_gram)

只需根据two_gram绘制直方图

相关问题 更多 >

    热门问题