我有非常长的字符串向量(肽)。
head(unique(pseq_list))
#[1] "GPPNHHMGPMSER" "SLSGQCHHHGENLR" "HSSGQDKPHETYR"
#"DHDKPHQQSDK" "AHMESDK" "HISESHEK" 我想看看在这个载体中是否是由另外两个肽所产生的肽。例如,如果有"AHMESDK"、"AHME"和"SDK",我想知道这一点。我尝试了grepl函数,但可能我的向量是to长(?)。另外,如何保存这样的结果?
如果很难验证是否存在"AHMESDK" = "AHME" + "SDK",最好至少知道载体中是否含有其他肽(例如"HISESHEK"和"SES")。
@quant在注释中提供的上下文:
作为每个没有生物背景的人的便条。 肽是大分子。我们的身体可以通过“粘合”不同的氨基酸来合成这些大分子。结合在一起的氨基酸序列被称为肽的一级结构,在生物信息学中通常是一个字母代码,参见rpeptide.com来表示初级结构。 因此,AHMESDK只是指由Alanin、组氨酸等组成的肽。
发布于 2018-11-05 20:26:28
数据:
pseq<-c("GPPNHHMGPMSER", "SLSGQCHHHGENLR", "HSSGQDKPHETYR", "DHDKPHQQSDK", "AHMESDK", "AHME", "SES", "HISESHEK")有两种办法:
方法1:
peplist<-sapply(pseq,grep, pseq, value=TRUE)结果:
$GPPNHHMGPMSER
[1] "GPPNHHMGPMSER"
$SLSGQCHHHGENLR
[1] "SLSGQCHHHGENLR"
$HSSGQDKPHETYR
[1] "HSSGQDKPHETYR"
$DHDKPHQQSDK
[1] "DHDKPHQQSDK"
$AHMESDK
[1] "AHMESDK"
$AHME
[1] "AHMESDK" "AHME"
$SES
[1] "SES" "HISESHEK"
$HISESHEK
[1] "HISESHEK" 这为您提供了一个列表,在该列表中,每个元素都有其存在的元素列表。然后,我们可以创建一个仅显示在其他肽类中的肽的列表:
peplist[sapply(peplist,length)>1]方法2:
pepcombs<-expand.grid(pseq,pseq) %>%
apply(1,paste0,collapse="")
pseq[pseq %in% pepcombs]这将给你一个肽类的列表,可以通过组合其他两个肽来构建。
https://stackoverflow.com/questions/53161500
复制相似问题