【发布时间】:2015-12-07 20:44:01
【问题描述】:
我正在尝试创建一个程序,该程序将多个 tRNA 序列存储为字典。我已经设置了我的代码来提取和存储序列以及与序列关联的特定名称:
class Unique():
def __init__(self, seq = ''):
for s in range(len(seq)):
for e in range(s + 1, len(seq) + 1):
self.add(seq[s:e])
self.head = head
self.sequence = seq
self.original = {}
def cleaner(self):
for (header, sequence) in myReader.readFasta():
clean = sequence.replace('-','').replace('_','')
self.original[self.head] = clean
return self.original
def sites(self):
Unique.cleaner(self)
我正在调用 sites 函数(这就是为什么它作为第一步运行得更干净),但我不知道如何编写代码以在每个存储的序列中找到唯一的字符串。
例如,如果我有 2 组序列:
UCGUUAGCAGCGCAUU
程序会告诉我第一个序列的唯一字符串是UCG,第二个是AGC,因为UCG 只出现在第一个序列中,AGC 只出现在第二个序列中.
编辑:我所说的唯一序列是什么意思:我可以看到并自动知道它来自哪个序列的任何序列链。因此,如果链UCGA 仅存在于一个序列中,则将其计数并保存为与该序列相关的唯一链。
提取的序列如下所示:
GAGAGAGACAUAGAGGDUAUGAPGPPGG'UUGAACCAAUAGUAGGGGGUPCG"UUCCUUCCUUUCUUACCA
【问题讨论】:
-
CGU也是第一个序列中唯一的字符串,不是吗? -
有很多独特的序列没有命名。您应该澄清您对唯一性和序列的定义。总是3个字符吗?它可以从任何时候开始吗?
-
@KlausD.it 不一定必须是 3 个字符,只要是每个序列唯一的字符组合即可。我希望我的编辑能澄清我的意思
-
所以,如果从 U 开始,我会在序列 1 中使用
UC、UCG、UCGU、UCGUU、UCGUUA、UCGUUAG和UCGUUAGC? -
我刚刚注意到
AGC在你的两个序列中,所以你的例子有点错误。
标签: python python-3.x unique bioinformatics