Я хотел бы сопоставить строку (1) в другой строке (2) и на основе информации о последовательности, содержащейся в строке (1), извлечь информацию о положении на основе строки (2). У меня есть информационный кадр, содержащий пептидные (аминокислотные) последовательности с информацией о дополнительной химической модификации. Это происходит в положениях M или C. Я хотел бы иметь возможность сопоставить эти строки с файлом происхождения, в котором есть все последовательности белков, которые были сопоставлены с использованием алгоритмов спектрального соответствия, и вывести аминокислоту и положение из этого белка.
Я использовал пакет seqinr
для чтения в файле .fasta, который содержит 20320 записей, и записи выглядят так:
$`sp|Q9Y478|AAKB1_HUMAN` [1]"MGNTSSERAALERHGGHKTPRRDSSGGTKDGDRPKILMDSPEDADLFHSEEIKAPEKEEFLAWQHDLEVNDKAPAQARPTVFRWTGGGKEVYLSGSFNNWSKLPLTRSHNNFVAILDLPEGEHQYKFFVDGQWTHDPSEPIVTSQLGTVNNIIQVKKTDFEVFDALMVDSQKCSDVSELSSSPPGPYHQEPYVCKPEERFRAPPILPPHLLQVILNKDTGISCDPALLPEPNHVMLNHLYALSIKDGVMVLSATHRYKKKYVTTLLYKPI"
У меня есть отдельный фрейм данных, содержащий список пептидов, пример:
ptm_probability ptm_peptide protein_ID protein_description
1 C(1.000)SDFTEEIC(1.000)R K.C[478.99]SDFTEEIC[478.99]R.R sp|P50213|IDH3A_HUMAN Isocitrate dehydrogenase [NAD] subunit alpha, mitochondrial OS=Homo sapiens GN=IDH3A PE=1 SV=1
Аминокислотная последовательность в ptm_probability
показывает оценку и вероятность того, что модификация присутствует. Последовательность в ptm_peptide
содержит аминокислоты до и после последовательности, обозначенной "."
, в то время как модификация содержится в скобках [478.99]
Модификация может содержать разные числа.
В идеале я хотел бы, чтобы выходные данные содержали столбец для списка пептидов, который показывает однобуквенный код аминокислоты, за которым следует числовая позиция в белке:
position
C32
C16, C20
Какие пакеты / функции позволят мне сделать это? Могу ли я попытаться сопоставить последовательность как есть и дать команду, чтобы игнорировать модификацию [478.99]
, чтобы соответствовать формату, в котором сейчас находится файл fasta? Или следует удалить моды и затем найти способ рассчитать относительное положение на основе начального / конечного положений пептида? Какой быстрый способ сделать это, если мне нужно сопоставить несколько сотен / тысяч пептидных последовательностей со списком 20k? Любые предложения будут с благодарностью.