簡體   English   中英

將數據拆分成塊,但之間有距離

[英]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]]

或者,如果我們想動態構造模式,請使用strreppaste

n1 <- 200
n2 <- 50
pat <- paste0("(?<=", strrep(".", n1), ")", strrep(".", n2))

數據

str1 <- "AAAAAAAAAAAAGCCAGGTGCGGTGGCTCATGCCTGTAAGCCCAGCACTTTGGGAGGCCAAGGCAGGCGGATCACTAGAGGTCAG"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM