Это пример моего шаблона (sequence.fasta: обратите внимание, что каждая строка заканчивается \ n, последняя строка обычно заканчивается \ n \ n)
>sequence1
TTGACCGATGACCCC
GGTTC
>sequence2
TTGACCGATGACCCC
GGTTCAGGCTTCACC
ACAG
>sequence3
TTGACCGATGACCCC
GGTTCAGGCTTCAC
список, который мне нужен
[
['>sequence1','TTGACCGATGACCCCGGTTC'],
['>sequence2','TTGACCGATGACCCCGGTTCAGGCTTCACCACAG'],
['>sequence3','TTGACCGATGACCCCGGTTCAGGCTTCAC']
]
это то, что я пытался
with open(r"C:\Users\Lab\Desktop\sequence.fasta") as f:
handle = f.read()
# print(handle)
pattern = re.compile(r'(>.+\n)(([A-Z]+\n*)+)')
matches = pattern.finditer(handle)
for match in matches:
output = ['{}'.format(match.group(1)),'{}'.format(match.group(2)).replace("\n","")]
print(output)
, но я получил (это 3 списка в одном выводе)
['>sequence1','TTGACCGATGACCCCGGTTC']
['>sequence2','TTGACCGATGACCCCGGTTCAGGCTTCACCACAG']
['>sequence3','TTGACCGATGACCCCGGTTCAGGCTTCAC']
Я уже пытался создайте пустой список и используйте list.append()
или list.extend()
и l oop, чтобы составить список из этих списков, но я не могу понять, как (я микробиолог). Это для дальнейшего анализа ДНК.
Благодарим Вас за помощь, заранее СПАСИБО