让字符串为"AAAGQWERTYUIOPAGCTHJKLAAAGZXCVBNMAGCT"
。我想找到AAAG和AGCT之间的字符串。你知道吗
我希望输出是["QWERTYUIOP","ZXCVBNM"]
,即字符串列表。你知道吗
如何使用regex或类似的技术来实现这一点?你知道吗
我试过了
def find_distances_between_motifs(positions1, positions2, motif_length1):
diff1 = []
diff2 = []
pos2 = 0
flag = 0
for pos1 in range(len(positions1)):
if pos2 >= len(positions2):
break
if flag == 1:
flag = 0
pos1 -= 1
if positions2[pos2] - positions1[pos1] > 30:
diff1.append(NaN)
diff2.append(NaN)
continue
elif positions2[pos2] - positions1[pos1] < 1:
pos2 += 1
diff2.append(NaN)
flag = 1
elif pos1 < len(positions1) - 1 and positions1[pos1+1] > positions2[pos2]:
diff1.append(positions[pos2] - positions[pos1] - motif_length1)
diff2.append(pos2)
pos2 += 1
else:
continue
return diff1, diff2
我想返回两个数组-一个是序列长度在基序之间的位置,第二个是第二个基序的位置,这将给出前面的距离。你知道吗
使用正则表达式。
re.findall
带lookback和Lookahead例如:
输出:
如果你不想使用正则表达式,那么我已经做了一个代码。这有点复杂,但如果你仔细看看,然后你就会明白。你知道吗
输出:
相关问题 更多 >
编程相关推荐