R包猿:提取密码子中的前两个核苷酸

时间:2015-02-27 16:10:19

标签: r bioinformatics r-package

我有一个包含DNA seq的fasta文件。 我想删除每个密码子中的第3个核苷酸。 我想我可以在子集步骤中选择前2个核苷酸。

我在R中工作,使用ape和seqinr包

>read.dna("test3", format="fasta")-> test3
>test3
1 DNA sequences in binary format stored in a matrix.

All sequences of same length: 888 

Labels: XX_00004 

Base composition:
    a     c     g     t 
0.223 0.222 0.293 0.262

使用函数seq我可以在每个密码子中单独选择第一个,第二个和第三个核苷酸,但我不能选择第一个和第二个核苷酸。第二

>test3[seq(1, length(test3), by = 3)]
1 DNA sequence in binary format stored in a vector.

Sequence length: 296 

Base composition:
    a     c     g     t 
0.256 0.249 0.374 0.121
>test3[seq(1:2, length(test3), by = 3)]
Error in seq.default(1:2, length(test3), by = 3) : 
  'from' must be of length 1

> test3[seq(from=1, to=2, length(test3), by = 3)]
Error in seq.default(from = 1, to = 2, length(test3), by = 3) : 
  too many arguments

有任何建议怎么做?

1 个答案:

答案 0 :(得分:2)

您可以通过排除第三个来选择第一个和第二个:

test3[-seq(3, length(test3), by = 3)]