我有一个data.table(sbd_sbmolbio_n)。我需要找到两个条件成立的行:
ORF_SEQUENCE包含“MKTIIALSYIFCLVFA”
N_TAG包含“Signal Seq”
然后我需要用“HA”替换N_TAG的“Signal Seq”部分,但保留字符串的其余部分(例如“Signal Seq-10XHis-Tev”变为“HA-10XHis-Tev”
我正在尝试这个:
sbd_sbmolbio_n[grep("MKTIIALSYIFCLVFA",ORF_SEQUENCE),][grep("Signal Seq", N_TAG), N_TAG := sub("Signal Seq", "HA", N_TAG)]
找到了行,但没有进行替换。有什么想法吗?
答案 0 :(得分:1)
第一组括号将返回data.table
,而不是原来的data.table
,然后您将修改该grepl
。要做到这一点 - 结合两个条件(注意使用grep
而不是sbd_sbmolbio_n[grepl("MKTIIALSYIFCLVFA",ORF_SEQUENCE) & grepl("Signal Seq", N_TAG),
N_TAG := sub("Signal Seq", "HA", N_TAG)]
):
{{1}}