【发布时间】:2021-04-26 00:17:05
【问题描述】:
我有两个数据框,一个(df_protein)包含来自携带修饰的蛋白质片段的实验测量数据,另一个(df_modificaton)我有一个“名称”的数据库,其中包含所有修饰。现在我正在尝试将它们合并在一起。
两者都有一个带有修饰序列的列(修饰的氨基酸带有星号)。但是在 df_protein 中存储了整个片段 (!) 的序列(以“”开头和结尾),而在 df_modification 中只给出了修饰前后的 7 个氨基酸(如果它位于开头或蛋白质的末尾剩余的地方用“”标记)
为了更好地说明这里的 MWE:
df_protein <- data_frame(
Protein = c("A", "A", "A", "B", "B"),
Sequence = c("_EPTPSIASDIY*LPIATQELR_" , "_S*SSSLLASPGHISVK_", "_SSS*SLLASPGHISVK_", "_TQDPVPPET*PSDSDHK_", "_SMS*VDLSHIPLK_") ,
Counts = c(3.456, 6.126, 10.023 ,0.000, 7.250)
)
df_modificaton <- data_frame(
Protein = c("A", "A", "A", "B", "B", "B"),
Sequence = c("TIPEQRLS*SSSLLAS", "PSIASDIY*LPIATQ", "PEQRLSSS*SLLASPG", "DPVPPET*PSDSDHK", "FYYEILNS*PEKACSL","_____SMS*VDLSHIP"),
Modification = c("S125", "Y77", "S127", "T456", "S44", "S3")
)
# How can I merge the above to the following result:
df_merged <- data_frame(
Protein = c("A", "A", "A", "B", "B"),
Sequence = c("_EPTPSIASDIY*LPIATQELR_" , "_S*SSSLLASPGHISVK_", "_SSS*SLLASPGHISVK_", "_TQDPVPPET*PSDSDHK_", "_SMS*VDLSHIPLK_") ,
Counts = c(3.456, 6.126, 10.023 ,0.000, 7.250),
Modification = c("Y77", "S125", "S127", "T456", "S3")
)
我正在使用tidyverse,但我也可以使用其他软件包。谢谢。
【问题讨论】: