【发布时间】:2017-02-28 03:19:51
【问题描述】:
我需要编写一个脚本,该脚本将遍历序列列表,找到它们之间的共享主题(不同的主题可能存在多个解决方案)并打印所有序列之间共享的这个主题。
在下面的例子中
chains = ['GATTACA', 'TAGACCA', 'ATACA']
AT 是共享主题之一。我将感谢此类任务的任何解决方案,包括使用 BioPython 函数。
最近我制作了一个脚本,它为较短的序列设置了相同的循环集,将其设置为参考,然后尝试在其他链的每个位置找到这个参考序列。但是我真的不知道如何在不定义参考的情况下找到共享主题
# reference
xz=" ".join(chains)
ref= min(xz.split(), key=len)
# LOOKING FOR THE MOTIFS
for chain in chains:
for i in range(len(chain)):
if chain==ref:
pass
elif ref not in chain:
print "%s has not been found in the %s"%(ref, chain)
break
elif chain[i:].startswith(ref):
print "%s has been detected in %s in the %d position" %(ref, chain, i+1)
【问题讨论】:
-
您是否尝试实现类似 Smith-Waterman 的功能?
-
嗨,这里列出了完整的问题rosalind.info/problems/lcsm
标签: python sequence bioinformatics