所以我有一个从文件(查询)中读取的字符串列表。我想将所有以“>”开头的行附加到一个名为 name_list 的列表中,并将其后面的所有字母字符(但在下一个“>”行之前)附加到一个列表中。这是我之前关于集合论必须提出的非常相似的问题,但是当我尝试操纵while 循环时,它陷入了无限反馈循环......
这是字符串列表的示例
query = [">mm10_refGene_NM_001011532 range=chr2:86084810-86085854 5'pad=0 3'pad=0 strand=- repeatMasking=none", 'caatgcctttgcctcactgataatttctattagtcttatcttatttcatt', 'ttactttgcagctgttaagacttgatgaaATGGCTGGAAGCAATGCCACT', 'GGTGTGACAGAATTCATTCTCTTGGGGTTTGCAGTCCAGAGAGAGGTAGA',">mm10_refGene_NM_001011534 range=chr2:85352995-85353924 5'pad=0 3'pad=0 strand=- repeatMasking=none", 'ATGGAACAAAGTAATGACACCAAAGTGACTGAATTCATTCTTCTGGGATT', 'TTCCGGACAGCACAAATCTTGGCACATTCTGTTCATAATATTTCTAATGA', 'TCTATGTTGTCACACTCATGGGTAACATTGGAATGATCGTACTCATCAAA']
这是我一直在使用的代码:
name_list = []
seq_list = []
for line in query:
while line.startswith(">"):
name=line
temp_seq=[]
for line in query:
if line.isalpha()==True:
temp_seq.append(line)
else:
break
name_list.append(name)
seq_list.append(''.join(temp_seq))
输出数据示例:
name_list = [">mm10_refGene_NM_001011532 range=chr2:86084810-86085854 5'pad=0 3'pad=0 strand=- repeatMasking=none",">mm10_refGene_NM_001011534 range=chr2:85352995-85353924 5'pad=0 3'pad=0 strand=- repeatMasking=none"]
seq_list = ['caatgcctttgcctcactgataatttctattagtcttatcttatttcattttactttgcagctgttaagacttgatgaaATGGCTGGAAGCAATGCCACTGGTGTGACAGAATTCATTCTCTTGGGGTTTGCAGTCCAGAGAGAGGTAGA','ATGGAACAAAGTAATGACACCAAAGTGACTGAATTCATTCTTCTGGGATTTTCCGGACAGCACAAATCTTGGCACATTCTGTTCATAATATTTCTAATGATCTATGTTGTCACACTCATGGGTAACATTGGAATGATCGTACTCATCAAA']
抱歉,如果这类似于(在行(从行列表)中搜索单词(从单词列表)并将值附加到新列表。Python)并且在任何方面都是多余的,但我认为这是一个帮助人们的好问题谁处理这类数据。