r - 什么是单个字符的向量

标签 r bioinformatics

我有以下函数(来自 seqinr 包):

translate(seq, frame = 0, sens = "F", numcode = 1, NAstring = "X", ambiguous = FALSE)

简而言之,它将 DNA 序列翻译成蛋白质序列。我在给出 seq 参数时遇到问题。文档说:

seq = the sequence to translate as a vector of single characters in lower case letters

我将 DNA 序列存储在 data.frame 中(此处命名为 seq):

seq <- data.frame(geneSeq="ATGTGTTGGGCAGCCGCAATACCTATCGCTATATCTGGCGCTCAGGCTATCAGTGGTCAGAACACTCAAGCCAAAATGATTGCCGTTCAGACCGCTGCTGGTCGTCGTCAAGCTATGGAAATCATGAGGCAGACGAACATCCAGAATGCTGACCTATCGTTGCAAGCTCGAAGTAACCTTGAGAAAGCGTCCGCCGAGTTGACCTCACAGAACATGCAKAAGGTCCAAGCTATTGGGTCTATCCGAGCGGCTATCGGAGAAAGTATGCTTGAAGGTTCCTCAATGGACCGTATTAAGCGAGTCACAGAAGGACAGTTCATTCGGGAAGCCAATATGGTAACTGAGAACTATCGCCGTGACTACCAAGCAATCTTCGTACAGCAACTTGGTGGTACTCAAAGTGCTGCAAGTCAGATTGACGAAATCTATAAGAGCGAACAGAAACAGAAGAGTAAGCTACAGATGGTTCTGGACCCACTGGCTATCATGGGGTCTTCCGCTGCGAGTGCTTACGCATCCGATGCGTTCGACTCTAAGTTCACAACTAAGGCACCTATTGTTGCCGCTAAAGGAACCAAGACGGGGAGGTAA", stringsAsFactors=FALSE)

每次我尝试使用翻译函数时,它都会返回错误:

Error in s2n(seq, levels = s2c("tcag")) : 
  sequence is not a vector of chars

我尝试了以下方法,均出现上述错误:

trans<- seqinr::translate(tolower(seq[1,1]))
trans<- seqinr::translate(stringr::str_split(tolower(seq[1,1]), pattern=""))
trans<- seqinr::translate(as.character(stringr::str_split(tolower(seq[1,1]), pattern="")))

如何将 DNA 序列转换为单个字符向量?

最佳答案

您可以使用strsplit:

strsplit("ABCD", "")
# [[1]]
# [1] "A" "B" "C" "D"

## your example:
seqinr::translate(strsplit(seq[1,1], "")[[1]])

关于r - 什么是单个字符的向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22530607/

相关文章:

r - R中函数的每个结果的bind_rows

r - R 中的多个轮廓图

r - 矩阵变换的快速方法?

grep - 如何分割双端fastq文件?

r - 数据框中的常见元素

r - 如何在R中堆叠多个矩阵

r - 将 count() 应用于数据框中的每个因子变量

python - 合并数据框的两列,然后进行比较

bioinformatics - 使用bed文件提取fasta序列时如何获取strand

linux - 线程.h :10:24: fatal error installation error