我想把蛋白质的结构分解成20个相同大小的块,蛋白质的结构是这样的
MASTEGANNMPKQVEVRMHDSHLGSEEPKHRHLGLRLCDKLGKNLLLTLTVFGVILGAVCGGLLRLASPI
HPDVVMLIAFPGDILMRMLKMLILPLIISSLITGLSGLDAKASGRLGTRAMVYYMSTTIIAAVLGVILVL
AIHPGNPKLKKQLGPGKKNDEVSSLDAFLDLIRNLFPENLVQACFQQIQTVTKKVLVAPPPDEEANATSA
VVSLLNETVTEVPEETKMVIKKGLEFKDGMNVLGLIGFFIAFGIAMGKMGDQAKLMVDFFNILNEIVMKL
VIMIMWYSPLGIACLICGKIIAIKDLEVVARQLGMYMVTVIIGLIIHGGIFLPLIYFVVTRKNPFSFFAG
IFQAWITALGTASSAGTLPVTFRCLEENLGIDKRVTRFVLPVGATINMDGTALYEAVAAIFIAQMNGVVL
DGGQIVTVSLTATLASVGAASIPSAGLVTMLLILTAVGLPTEDISLLVAVDWLLDRMRTSVNVVGDSFGA
GIVYHLSKSELDTIDSQHRVHEDIEMTKTQSIYDDMKNHRESNSNQCVYAAHNSVIVDECKVTLAANGKS
ADCSVEEEPWKREK我尝试过循环循环。
x="abfgjjhuyuryitfvbkjuhhgyuumnabcdfrfhghhoiutgfctrdgfvijnk"
length=len(x)
values= [length/20+1]
a=1
for i in length(a,x)
print(i)但这不起作用
发布于 2019-10-17 06:57:46
通过导入文本缠绕来尝试这一点
import textwrap
myArray="MASTEGANNMPKQVEVRMHDSHLGSEEPKHRHLGLRLCDKLGKNLLLTLTVFGVILGAVCGGLLRLASPIHPDVVMLIAFPGDILMRMLKMLILPLIISSLITGLSGLDAKASGRLGTRAMVYYMSTTIIAAVLGVILVLAIHPGNPKLKKQLGPGKKNDEVSSLDAFLDLIRNLFPENLVQACFQQIQTVTKKVLVAPPPDEEANATSAVVSLLNETVTEVPEETKMVIKKGLEFKDGMNVLGLIGFFIAFGIAMGKMGDQAKLMVDFFNILNEIVMKLVIMIMWYSPLGIACLICGKIIAIKDLEVVARQLGMYMVTVIIGLIIHGGIFLPLIYFVVTRKNPFSFFAGIFQAWITALGTASSAGTLPVTFRCLEENLGIDKRVTRFVLPVGATINMDGTALYEAVAAIFIAQMNGVVLDGGQIVTVSLTATLASVGAASIPSAGLVTMLLILTAVGLPTEDISLLVAVDWLLDRMRTSVNVVGDSFGAGIVYHLSKSELDTIDSQHRVHEDIEMTKTQSIYDDMKNHRESNSNQCVYAAHNSVIVDECKVTLAANGKSADCSVEEEPWKREK"
list_string = str(myArray)
textwrap.wrap(list_string, 20)输出是这样的!
['MASTEGANNMPKQVEVRMHD',
'SHLGSEEPKHRHLGLRLCDK',
'LGKNLLLTLTVFGVILGAVC',
'GGLLRLASPIHPDVVMLIAF',
'PGDILMRMLKMLILPLIISS',
'LITGLSGLDAKASGRLGTRA',
'MVYYMSTTIIAAVLGVILVL',
'AIHPGNPKLKKQLGPGKKND',
'EVSSLDAFLDLIRNLFPENL',
'VQACFQQIQTVTKKVLVAPP',
'PDEEANATSAVVSLLNETVT',
'EVPEETKMVIKKGLEFKDGM',
'NVLGLIGFFIAFGIAMGKMG',
'DQAKLMVDFFNILNEIVMKL',
'VIMIMWYSPLGIACLICGKI',
'IAIKDLEVVARQLGMYMVTV',
'IIGLIIHGGIFLPLIYFVVT',
'RKNPFSFFAGIFQAWITALG',
'TASSAGTLPVTFRCLEENLG',
'IDKRVTRFVLPVGATINMDG',
'TALYEAVAAIFIAQMNGVVL',
'DGGQIVTVSLTATLASVGAA',
'SIPSAGLVTMLLILTAVGLP',
'TEDISLLVAVDWLLDRMRTS',
'VNVVGDSFGAGIVYHLSKSE',
'LDTIDSQHRVHEDIEMTKTQ',
'SIYDDMKNHRESNSNQCVYA',
'AHNSVIVDECKVTLAANGKS',
'ADCSVEEEPWKREK']发布于 2019-10-17 06:56:50
像这样的东西会起作用的:
values = [x[i:i+20] for i in range(0, len(x), 20)]作为参考:
x[a:b]从索引a获取字符串x的一部分,直到(但不包括)索引b,因此x[i:i+20]从索引i开始接受大小为20的片段。
range(a, b, step)将生成一个从a到(但不包括) b的数字序列,并增加step。
发布于 2019-10-17 06:59:06
在首先删除所有空白后,您可以使用re.findall,例如:
inp = """MASTEGANNMPKQVEVRMHDSHLGSEEPKHRHLGLRLCDKLGKNLLLTLTVFGVILGAVCGGLLRLASPI
HPDVVMLIAFPGDILMRMLKMLILPLIISSLITGLSGLDAKASGRLGTRAMVYYMSTTIIAAVLGVILVL
AIHPGNPKLKKQLGPGKKNDEVSSLDAFLDLIRNLFPENLVQACFQQIQTVTKKVLVAPPPDEEANATSA"""
inp = re.sub(r'\s+', '', inp)
chunks = re.findall(r'.{1,20}', inp)这些指纹:
['MASTEGANNMPKQVEVRMHD',
'SHLGSEEPKHRHLGLRLCDK',
'LGKNLLLTLTVFGVILGAVC',
'GGLLRLASPIHPDVVMLIAF',
'PGDILMRMLKMLILPLIISS',
'LITGLSGLDAKASGRLGTRA',
'MVYYMSTTIIAAVLGVILVL',
'AIHPGNPKLKKQLGPGKKND',
'EVSSLDAFLDLIRNLFPENL',
'VQACFQQIQTVTKKVLVAPP',
'PDEEANATSA']https://stackoverflow.com/questions/58426564
复制相似问题