我有一个密码子使用表(http://www.kazusa.or.jp/codon/cgi-bin/showcodon.cgi?species=10029&aa=1&style=GCG)。我想生成最常用密码子的载体(每个氨基酸残基1个)。有20个天然存在的AmAcids +终止密码子(结束),所以我的矢量长度将是21.我尝试使用grep,但它一次只需要一个模式,或搜索所有无效的模式。有没有办法避免循环呢?
答案 0 :(得分:0)
这是我认为你想做的事情。您可以使用包XML
来读取数据,然后使用dplyr
来计算最大值。
# load packages
require(XML)
require(dplyr)
# read the table
tt <- htmlParse('http://www.kazusa.or.jp/codon/cgi-bin/showcodon.cgi?species=10029&aa=1&style=GCG')
df <- read.table(text=xpathSApply(tt, "//pre", xmlValue),
header=TRUE,
fill=TRUE)
# calculate the maximum codons by Amino Acid
df.max <- group_by(df, AmAcid) %.%
filter(Number==max(Number)) %.%
select(AmAcid, Codon)
结果是data.frame
,共有21行。如果要获取向量,可以访问Codon列。