我需要找出我的数据集中哪个蛋白质是这个氨基酸基序:poxgxxhyxy。我使用的是biopython和Python2.7,但我并不是生物信息学家,我被绊倒了。我如何制作像seq\u record+1之类的东西?我试过在射程内使用,但在射程内不起作用SeqIO.parse命令. 嗯,我现在一团糟,有人能帮忙吗?我会非常感激的。你知道吗
from Bio import SeqIO
print('enter the path to your fasta file: ' )
user_input = raw_input()
for seq_record in SeqIO.parse(user_input, "fasta"):
aminoacids_count = len(seq_record)
seq_record_trimmed = seq_record[aminoacids_count//2:aminoacids_count + 1]
if 'R' or 'H' or 'K' or 'D' or 'E' or 'S' or 'T' or 'N' or 'Q' in seq_record_trimmed:
if 'R' or 'H' or 'K' or 'D' or 'E' or 'S' or 'T' or 'N' or 'Q' or 'C' or 'U' or 'G' or 'P' or 'A' or 'V' or 'I' or 'L' or 'M' or 'F' or 'Y' or 'W' in seq_record_trimmed:
if 'G' in seq_record_trimmed:
if 'R' or 'H' or 'K' or 'D' or 'E' or 'S' or 'T' or 'N' or 'Q' or 'C' or 'U' or 'G' or 'P' or 'A' or 'V' or 'I' or 'L' or 'M' or 'F' or 'Y' or 'W' in seq_record_trimmed:
if 'R' or 'H' or 'K' or 'D' or 'E' or 'S' or 'T' or 'N' or 'Q' or 'C' or 'U' or 'G' or 'P' or 'A' or 'V' or 'I' or 'L' or 'M' or 'F' or 'Y' or 'W' in seq_record_trimmed:
if 'A' or 'V' or 'I' or 'L' or 'M' or 'F' or 'W' or 'Y' in seq_record_trimmed:
if 'R' or 'H' or 'K' or 'D' or 'E' or 'S' or 'T' or 'N' or 'Q' or 'C' or 'U' or 'G' or 'P' or 'A' or 'V' or 'I' or 'L' or 'M' or 'F' or 'Y' or 'W' in seq_record_trimmed:
if 'A' or 'V' or 'I' or 'L' or 'M' or 'F' or 'W' or 'Y' in seq_record_trimmed:
print(seq_record.id)
continue
else:
break
else:
break
else:
break
else:
break
else:
break
else:
break
else:
break
else:
print(seq_record.id + 'No B_signal has been found')
那是行不通的。你最好使用一些正则表达式。你知道吗
str(seq_record_trimmed.seq)
将序列转换为普通字符串。以前它是一个Seq对象,不像regex搜索那样具有字符串的所有功能。你知道吗regex本身是一个全新的主题,独立于Python:它可以在大多数编程语言中找到。你可以在网上找到解释。你可以在regex101.com上玩regex。你知道吗
下一步:
'R' or 'H' in seq_record
将无法按预期工作。不管序列记录是什么,它总是返回True。你想要的是'R' in seq_record or 'H' in seq_record
,或者,如果你不想重复序列记录:any(p in seq_record for p in 'RH')
。你知道吗最后:您控制流(if/else/break/continue)看起来很糟糕,并且没有按您的意愿处理它。你应该多读一些关于如何正确书写的文章。你知道吗
祝你好运。你知道吗
相关问题 更多 >
编程相关推荐