用python进行DNA测序

2024-10-01 05:01:50 发布

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

使用循环,我如何用python编写一个函数来排序最长的蛋白质链,而不考虑顺序。当ties与其他元素混合时,函数返回仅由字符“a”、“C”、“G”和“T”组成的子字符串:例如,在“accgxxcxgttactgggcxttgt”序列中,它返回“GTTACTGGGC”


Tags: 函数字符串元素排序顺序序列蛋白质字符
1条回答
网友
1楼 · 发布于 2024-10-01 05:01:50

如果数据是以字符串形式提供的,您可以简单地用字符“X”将其拆分,从而得到一个列表。在

startstring = 'ACCGXXCXXGTTACTGGGCXTTGT'
array = startstring.split('X')

然后,在检查元素长度的同时循环查看列表将得到正确的结果:

^{pr2}$

您还可以使用python内置程序以更有效的方式获得结果:

按降序长度排序(list.sort()

startstring = 'ACCGXXCXXGTTACTGGGCXTTGT'
array = startstring.split('X')
array.sort(key=len, reverse=True)
print(array[0]) #print the longest since we sorted for descending lengths
print(len(array[0])) # Would give you the length of the longest substring

只获取最长的子字符串(max()):

startstring = 'ACCGXXCXXGTTACTGGGCXTTGT'
array = startstring.split('X')
longest = max(array, key=len)
print(longest) # gives the longest substring
print(len(longest)) # gives you the length of the longest substring

相关问题 更多 >