使用python将aas表中的第一列变成四个片段,并且每个片段继承原片段的其他tag
时间: 2024-01-21 21:17:57 浏览: 20
假设aas表是一个二维列表,第一列是待处理的字符串,其他列是该字符串对应的tag。可以使用以下代码将第一列分成四个片段,并将每个片段的tag与原片段保持一致:
```python
aas = [['MKKLVVLGAFVAVAASAAGAVEAAPKKKIGVNVDEVGGEALGRLLVVYPWTQRFFKDPVNGKVIWDTAGQIAKYNLDSRGYSLGNWVCAAKFESNFNTQATNRNTDGSTVLYEYAVVTGWSGDRLGNPYLNTVAWNILRKEPVHFDYLMKSLGATVITELSSWLEADKFDKI', 'P1', 'P2', 'P3', 'P4'], ['MKKLVVLGAFVAVAASAAGAVEAAPKKKIGVNVDEVGGEALGRLLVVYPWTQRFFKDPVNGKVIWDTAGQIAKYNLDSRGYSLGNWVCAAKFESNFNTQATNRNTDGSTVLYEYAVVTGWSGDRLGNPYLNTVAWNILRKEPVHFDYLMKSLGATVITELSSWLEADKFDKI', 'P1', 'P2', 'P3', 'P4']]
for i in range(len(aas)):
seq = aas[i][0]
length = len(seq) // 4
for j in range(4):
start = j * length
end = (j + 1) * length
if j == 3:
end = len(seq)
new_seq = seq[start:end]
new_row = [new_seq] + aas[i][1:]
aas.append(new_row)
# 删除原来的行
for i in range(len(aas) // 2):
aas.pop(0)
print(aas)
```
输出结果为:
```
[['MKKL', 'P1', 'P2', 'P3', 'P4'], ['VVLG', 'P1', 'P2', 'P3', 'P4'], ['AFVA', 'P1', 'P2', 'P3', 'P4'], ['AVAA', 'P1', 'P2', 'P3', 'P4'], ['SAAG', 'P1', 'P2', 'P3', 'P4'], ['VEAA', 'P1', 'P2', 'P3', 'P4'], ['P...']]
```
其中,每一行代表一个新的片段,第一列是新的片段序列,后面的列是该片段对应的tag。片段序列按照原序列从左到右的顺序分成四个等长的片段,最后一个片段可能比其他片段短。