我不認爲我想要做的真的很難,但是我缺乏做這些事情的適當的R知識。所以幫助是真正的讚賞!序列識別,計數和檢索序列的一部分
我有含蛋白質的名稱和序列的文件,所以這樣的事情:
Protein1 ABCDEFGHIJKLMNOPQRSTUWXYZ
Protein2 ABCDEFGHIJKUVMNOPQRSTUVWXYZ
Protein3 ABCUVDEFGHIJKLMNOPQRSTVVW
我在尋找包含模式'UU'
,'UV'
或'VV'
蛋白質。我這樣做,使用:
(編輯:這是一個簡單的例子,目前我看着三胞胎( 「[UV] [紫外線] [UV]」))
y <- x[grep("[UV][UV]", x[,2]),]
所以現在我知道哪些人有這種模式,但我想要更多。首先,我想知道這種模式在這個序列中出現的頻率,但我目前無法知道如何做到這一點。所以這是第1個問題。
問題2: 我想提取前面的模式+部分序列。 到目前爲止,我已經使用:
pattern <- "[A-Z]{5}[UV][UV]"
locs <- regexpr(pattern, y[,2])
z <- substr(y[,2], locs, locs+attr(locs,"match.length")-1)
這並不工作,但僅限於一個帳戶的模式,它不包括在該模式出現的所有情況。
我想什麼直到結束是包含該信息的內容:
Protein name,
number of patterns found in the sequence,
pattern + part of the desired sequence in front
在我的例子,結果會是這樣的:
Protein1
0
Protein2
2
GHIJKUV
PQRSTUV
Protein3
2
ABCUV #don't know about this one, since the sequence in front is shorter than 5. For me it would be best if these would not appear.
PQRSTVV
編輯:到底我希望將數據矩陣保存到文本文件中,以便我可以與其他人共享。然後最好,我想用這樣的事情結束了:
ProteinName Count Sequence1 Sequence2 Sequence3 SequenceMax
Protein1 0
Protein2 2 GHIJKUV PQRSTUV
謝謝你的迴應,我可以在明天試試它(抱歉,會議和所有)。同時,當你使用這樣的圖案時,這是否也可以工作:[UV] [UV] [UV],所以UUU,VVV,UUV,UVU等,而不是輸入所有選項? 什麼是最簡單的方式獲得這些結果的某種數據矩陣,我可以導出到txt文件? (向其他人展示) – user1941884
你需要澄清你的意思。當前模式將匹配這四種變體中的任何一種,因爲它們中的每一種都包含UU或UV中的一種。如果你試圖找出三重態重複,那麼你需要這麼說(我認爲你提出的模式應該這樣做)。如果你想數它們,你將需要使用'gregexpr'。 –
計數工作完美,謝謝! 不知何故,當我使用總代碼 #In if(!nchar(mat)== nchar(dat [,5])){...: #條件長度> 1並且只有第一個元素將被使用 另外輸出對我來說還不清楚。也許是因爲我使用的文件。我將在週末期間或之後進一步討論,並會回覆給您。我相信我已經接近解決它了。如果我需要一些額外的幫助,將編輯我的帖子。週末愉快! – user1941884