[英]Splitting data into chunks but with distance in between
假設我有以下序列:
AAAAAAAAAAAAGCC A GGTGCGGTGGCTCATGCCTGTAAGCCCAGCACTTTGGGAGGCCAAGGCAGGCGGATCACTAGAGGTCAG
從 position A 開始(在序列中是粗體)我想將它分成長度為 5 個字符的塊,但我希望這些塊彼此相距 3 個字符,這意味着我想得到
'GGTGC'、'GGCTC'、'CCTGT'、'CCCAG' 等等直到最后。 然后我想從粗體 A 到序列的開頭獲取相同的信息含義:
AAGCC,AAAAA,...
我怎樣才能做到這一點?
我們可以使用正則表達式環視來進行拆分,即我們拆分為 3 個字符( .
- 表示正則表達式中的任何字符),成功 5 個字符
strsplit(str1, "(?<=.....)...", perl = TRUE)[[1]]
或者,如果我們想動態構造模式,請使用strrep
和paste
n1 <- 200
n2 <- 50
pat <- paste0("(?<=", strrep(".", n1), ")", strrep(".", n2))
str1 <- "AAAAAAAAAAAAGCCAGGTGCGGTGGCTCATGCCTGTAAGCCCAGCACTTTGGGAGGCCAAGGCAGGCGGATCACTAGAGGTCAG"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.