Как мне соединить последовательности, чтобы создать словарь?Python

Программы на Python
Ответить
Anonymous
 Как мне соединить последовательности, чтобы создать словарь?

Сообщение Anonymous »

В Python меня просят создать словарь из содержимого строки (последовательность FASTA), где буквенно-цифровая часть (идентификатор) является ключом, а буквы (последовательность) — значением. Сначала меня попросили составить список идентификаторов, поэтому разделите строки, чтобы я мог их изолировать. Теперь я понятия не имею, как продолжить объединение элементов последовательности БЕЗ потери какой-либо части последовательности или идентификатора. Последовательность не импортирована, она была опубликована моим профессором в том виде, в котором она есть, поэтому не прошу никаких предложений по ее изменению. Может ли кто-нибудь помочь понять, что мне делать? Однако это должно быть ОЧЕНЬ просто, потому что я всего пару недель прохожу школьный курс Python.
Я пробовал использовать команду join в цикле for, но потому что она мне нужна обновить список, с которым я работаю, я считаю, что это не сработает, так как нет вывода. Однако сообщения об ошибке также нет. Я пытался заменить новые строки ничем, чтобы объединить элементы, составляющие последовательность, но когда пришло время отделить их от идентификатора, я теряю информацию (особенно 1 и первую букву последовательности). У меня также есть несколько символов новой строки в последовательности, от которых мне тоже нужно избавиться. Я не могу каким-либо образом изменить исходную последовательность. Я прикрепил свой код, но в настоящее время у меня нет ничего для задачи, о которой я спрашиваю, так как мне пришлось начинать все сначала.

Код: Выделить всё

ESTs ='''>AA417440 1
tattagcctttgtttcgtaatccttactgttaatggtttgttcaataccg
tncttggattttttagccttttcaagtttcttttgaactttcgcaatttc
agcatcaatatcaacgtgtcccttgacgagaagatgtacattgacttctg
ggttaacagattgcaatacgcaaccttctggaatttcggaagcatcacga
acaacagtgacttcgtcgatggccttgatcaacgagacaatagaatcttt
ctgatcttcagcagnttggngnattcctcgtggttagattcaacgaaaac
cttaccattcttcaaantattgttctcagataacaaggaacgagcttctt
tggtantgttcaagancaagtcgtaagcattggtcgatttgacatcancg
tnctcagatacgtaaactggataagaagctttttcaatngagggaggctt
ctcaagtggaacgctttgggnagtcttttggcacatttcttccaga
>AA417441 1
ttagatcatttaatgacctcggagaactgttcctagaattactcctggaa
ctactagcactgttgctagtggtattatttgctgtgcttgaatcaaaaat
cctcaattttttcataaattggccgccaaagccagtattactagagccgt
tgctattgctgtccaagaggtccttcaattcttcgttgtggagttcaatg
aacgaacattttactacgtaatcgttctgttgtaggtccaatgtgtcaaa
caacttcaaaagaaccctcggcattattcctgctggatcg
>AA417442 1
taagtaggttcaaatcaggcactgtcaaagaccgatgcatgatttgaagt
cctcgctgatcaccattggcatagttctgaaatagggtttcggctgactt
tacggagaaatatgaatgaatagatttaccaacaaagaacaaattggtta
ccgcagatatcaaaagacaatagtataaagttttgttaacttttgaaaaa
catttgaagataaccattaccattgccagtaaaactttcatggtcttaat
gatgacactgcttaaataaaacacggtcaattttgtaaaaatttttgaaa
gagacagaaaatcataattgatatatacaggttgcatgaaatcgccggcc
tttncatcgttttctattctttcctttggtaaaacaccaaggaatccaca
caatttaataacatcactcattttttctctatcgttgaatttttttagat
attccctcgtctttcttgttaatttcagaatgtccaagtttacaatatct
caaatgccagttgaggt
>AA417443 1
tatcacaattgcttttttgagaagccaaagagctgattggtgaggttgaa
ggtgtccccacaccttcactttcgattcttctccttttatttggtaaggc
ccacgtcgacgtatcgaatttgtgttttcttgtatccgaggaataatttt
cacgtagaccatatggtacgtcactgctcctacttccagaacttctgctc
tcaacgtcgctgttaccacttgcttctacttcagaaccatcaaaattgcg
aggttcgtttttcacaaatgtgtgccataagtacttacctgagttccaaa
gagtttctcttatgcctcctataaaaccagctttactagctctatctgac
ccatctttcattgattcttccattgataaaacacggcgggcgtttaaata
attgaatcttgacgtattggg
'''

#Converting the string to a list and removing the first empty index and new lines
ESTlist= ESTs.splitlines()
print(ESTlist) #used check that the last command worked

#Creating list of definitions
deflines = []
for x in ESTlist:
if ">" in x:
deflines.append(x)

print("Definition Lines:",deflines)

#Creating dictionary from ESTlist
Я хочу, чтобы результат был следующим:

Код: Выделить всё

dictionary={ ('\>AA417440 1 ': 'tattagcctttgtttcgtaatccttactgttaatggtttgttcaataccg
tncttggattttttagccttttcaagtttcttttgaactttcgcaatttcagcatcaatatcaacgtgtcccttgacgagaagatgtacattgacttctgggttaacagattgcaatacgcaaccttctggaatttcggaagcatcacgaacaacagtgacttcgtcgatggccttgatcaacgagacaatagaatctttctgatcttcagcagnttggngnattcctcgtggttagattcaacgaaaaccttaccattcttcaaantattgttctcagataacaaggaacgagcttctttggtantgttcaagancaagtcgtaagcattggtcgatttgacatcancgtnctcagatacgtaaactggataagaagctttttcaatngagggaggcttctcaagtggaacgctttgggnagtcttttggcacatttcttccaga',
'\>AA417441 1' : 'ttagatcatttaatgacctcggagaactgttcctagaattactcctggaactactagcactgttgctagtggtattatttgctgtgcttgaatcaaaaatcctcaattttttcataaattggccgccaaagccagtattactagagccgttgctattgctgtccaagaggtccttcaattcttcgttgtggagttcaatgaacgaacattttactacgtaatcgttctgttgtaggtccaatgtgtcaaacaacttcaaaagaaccctcggcattattcctgctggatcg'
...}
и так далее.

Подробнее здесь: https://stackoverflow.com/questions/790 ... dictionary
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»