【发布时间】:2018-09-07 17:27:54
【问题描述】:
我想在另一个字符串(2)中匹配一个字符串(1),并根据字符串(1)中包含的序列信息,提取基于字符串(2)的位置信息。我有一个包含肽(氨基酸)序列的数据框,其中包含附加化学修饰的信息。这些发生在 M 或 C 位置。我希望能够将这些字符串与包含使用光谱匹配算法匹配的所有蛋白质序列的原始文件进行匹配,并输出该蛋白质的氨基酸和位置。
我使用seqinr 包读取了一个包含 20320 个条目的 .fasta 文件,这些条目如下所示:
$`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 文件当前的格式吗?或者应该剥离 mods 然后想出一种基于肽的开始/结束位置计算相对位置的方法?如果我必须将数百/数千个肽序列与 20k 列表进行匹配,那么有什么快速方法可以做到这一点?任何建议将不胜感激。
【问题讨论】:
标签: r string match bioconductor