2014-12-02 105 views
0

我想在这篇文章的前言说我是R和生物信息学编码的新手,并且我非常感谢来自这个有知识的社区的一些输入。我在下面发布的代码的目标是生成饼图,显示BLAST结果中每种蛋白质的氨基酸丰度。我从UniProt上传了一个csv文件,将其转换为矩阵,并写下了下面的代码。我不断收到错误:在AAs [i] =表中(strsplit(BLAST_AA_seqs [i],“”,useBytes = TRUE)):要替换的项目数不是替换长度的倍数。第8栏是包含氨基酸序列的输出栏。提前致谢!A for循环与strsplit在R错误

mydata=read.table("CDPKbeta_BLAST_results.csv",header=TRUE,sep=",") 
mydata=as.matrix(mydata) 

AAs=c() 
BLAST_AA_seqs=c() 
for(i in 1:nrow(mydata)){ 
    print(i) 
    BLAST_AA_seqs[i]=mydata[i,8] 
    AAs[i]=table(strsplit(BLAST_AA_seqs[i],"", useBytes=TRUE)) 
    pie(AAs, col=rainbow(length(AAs)), main="Residue abundance") 
    } 
+2

显示我们的样本数据。 'head(mydata)','dput(mydata)'?和预期的最终结果数据/情节? – zx8754 2014-12-02 08:53:11

回答

0
lal<-c() 
lal[1]=table(strsplit("", "", useBytes = T)) 

空字符串的问题(BLAST_AA_seqs [i]是空字符串)