這個問題在這里已經有了答案: 如何使用 R 反向互補 DNA 鏈 1 個回答 反向互補堿基 (2 個答案) 2 天前關閉。
我的任務是撰寫一個 R 函式,該函式能夠將 DNA 字串作為輸入并回傳反向鏈上的互補字串(例如“ACGT”回傳“TGCA”)。結果應該是這樣的:
> s <- "CCCTTAG"
> reverse.dna(s)
[1] "CTAAGGG"
我目前有以下函式用于將字串轉換為向量,反之亦然,但是我嘗試使用 replace() 或 switch() 命令將互補堿基替換為字串或向量的任何嘗試均未成功。
string.to.vec <- function(s) {
strsplit(s,"") [[1]]
vec.to.string <- function(v) {
paste(v,collapse="")
由于我使用 RI 的經驗非常有限,我想知道是否有人能夠通過建議將這個功能實作到我的函式中的最簡單方法來幫助我。謝謝!
uj5u.com熱心網友回復:
我們可以chartr結合使用stri_reverse
library(stringi)
chartr("ACGT", "TGCA", stri_reverse(s))
[1] "CTAAGGG"
uj5u.com熱心網友回復:
Bioconductor Biostrings包具有 DNA 串的功能。我們s從問題轉換為 DNAString 物件,運行reverseComplement然后轉換回字符類。如果要將其保留為 DNAString,請省略最后一次轉換。
library(Biostrings)
s |> DNAString() |> reverseComplement() |> as.character()
## [1] "CTAAGGG"
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/346732.html
上一篇:驗證字典值
