есть ли способ связать последовательности фрагментов с их соответствующим весом?

#python

#python

Вопрос:

я создал скрипт, который будет вычислять, может ли набор фрагментов белка образовывать определенную последовательность на основе их веса, что дало мне следующий результат:

 combinations =
[(484.5, 1036.3, 2267.6), 
(397.5, 2267.6, 475.6, 647.7), 
(484.5, 1036.3, 811.9, 1455.7),  
(397.5, 475.6, 811.9, 647.7, 1455.7)]
 

каждый элемент представляет собой набор фрагментов, которые имеют тот же вес, что и белок, который я ищу.
теперь я знаю, какие фрагменты имеют какой вес, и превратил это в словарь:

 {3125.4: 'SKEPFKTRIDKKPCDHNTEPYMSGGNY',
 1963.4: 'KMITKARPGCMHQMGEY',
 397.5: 'AINV',
 484.5: 'QIQD',
 1036.3: 'YAINVMQCL',
 2267.6: 'IEEATHMTPCYELHGLRWV',
 475.6: 'MQCL',
 1724.0: 'HMTPCYELHGLRWV',
 2000.2: 'DHTAQPCRSWPMDYPLT',
 811.9: 'IEEATHM',
 1397.7: 'MVGKMDMLEQYA',
 681.8: 'GWPDII',
 647.7: 'QIQDY',
 2174.4: 'TPCYELHGLRWVQIQDYA',
 1794.0: 'HGLRWVQIQDYAINV',
 1040.3: 'KKKNARKW',
 1455.7: 'TPCYELHGLRWV'}
 

есть ли какой-либо способ использовать словарь, чтобы дать мне такой результат:

 [('IEEATHMTPCYELHGLRWV', 'QIQD', 'YAINVMQCL'),
 ('IEEATHMTPCYELHGLRWV', 'QIQDY', 'AINV', 'MQCL'),
 ('IEEATHM', 'TPCYELHGLRWV', 'QIQD', 'YAINVMQCL'),
 ('IEEATHM', 'TPCYELHGLRWV', 'QIQDY', 'AINV', 'MQCL')]
 

для элементов в комбинациях?

Комментарии:

1. Пожалуйста, укажите свой код на python.

2. Вы хотите создать продукт для переваривания?

Ответ №1:

 combinations =[(484.5, 1036.3, 2267.6), 
(397.5, 2267.6, 475.6, 647.7), 
(484.5, 1036.3, 811.9, 1455.7),  
(397.5, 475.6, 811.9, 647.7, 1455.7)]

m = {3125.4: 'SKEPFKTRIDKKPCDHNTEPYMSGGNY',
 1963.4: 'KMITKARPGCMHQMGEY',
 397.5: 'AINV',
 484.5: 'QIQD',
 1036.3: 'YAINVMQCL',
 2267.6: 'IEEATHMTPCYELHGLRWV',
 475.6: 'MQCL',
 1724.0: 'HMTPCYELHGLRWV',
 2000.2: 'DHTAQPCRSWPMDYPLT',
 811.9: 'IEEATHM',
 1397.7: 'MVGKMDMLEQYA',
 681.8: 'GWPDII',
 647.7: 'QIQDY',
 2174.4: 'TPCYELHGLRWVQIQDYA',
 1794.0: 'HGLRWVQIQDYAINV',
 1040.3: 'KKKNARKW',
 1455.7: 'TPCYELHGLRWV'}

[tuple(m[i] for i in c) for c in combinations]
 

Вывод

 [('QIQD', 'YAINVMQCL', 'IEEATHMTPCYELHGLRWV'),
 ('AINV', 'IEEATHMTPCYELHGLRWV', 'MQCL', 'QIQDY'),
 ('QIQD', 'YAINVMQCL', 'IEEATHM', 'TPCYELHGLRWV'),
 ('AINV', 'MQCL', 'IEEATHM', 'QIQDY', 'TPCYELHGLRWV')]