我对package“seqinr”的read.fasta函数有问题。当我用乐器使用它时,它不会创建所需的矢量。如何修复R中的寡核苷酸频率误差
此外,当我使用手动构建的矢量的函数计数时,结果为零表格。
这是我的代码:
library("seqinr")
library(MASS)
#GETTING THE FILES AFTER FRAGMENTS OF 500
files <- list.files(path="/Users/CamilaMV/Desktop/TESIS/", pattern=".fna500mer..split", full.names=T, recursive=FALSE)
files
# SOLO ESTA TOMANDO EL PRIMER ARCHIVO
#READING THE DIFFERENT FASTA FILES
ncrna <- lapply(files, function(x) { read.fasta(x,seqonly = T) })
seqs<-list()
for(i in seq_along(ncrna))
{
seqs[i]<-list(ncrna[[i]])
}
len1<-length(seqs[[1]])
frags1<-list()
for(j in 1:len1)
{
frags1[j]<-list(seqs[[1]][[j]])
}
frags1
#COUNTING TRETRANUCLEOTIDES FOR EACH FRAGMENT
tetra_frag1<-list()
# seq_along(frags1)
#frags1[[1]]
for(l in seq_along(frags1))
{
#tetra[i]<-list(count(ncra[[i]],4))
tetra_frag1[l]<-oligonucleotideFrequency(frags1[[l]],4)
}
当我以前做过,计数功能工作,但它不能正常工作了。
于是,我决定用oligonucletideFrequency功能,但它给了我下面的错误:
错误(函数(类,FDEF,mtable): 无法找到函数“oligonucleotideFrequency”签字继承的方法“‘字符’”
但是,当我使用is.character(frags1 [[1]])作为测试,结果为真。
我想获得具有oligonucletide频率以执行一个矩阵PCA。
我想要一个最终表格,其中列是四核苷酸的256个组合,行是这些片段的名称(例如, frag1,frag2,...)类似如下:
AAAA AAAC ... F1 3 5 F2 4 6 F3 5 7 ...
我将apreciate帮助。
尝试'的ncRNA < - lapply(文件,函数(X){ read.fasta(X,seqonly = T) })' 。该函数需要返回值。当然,你应该分配结果列表。 – Roland
这工作获得ncrna,但计数功能它不工作。我有以下代码:SEQ1 <-ncrna [1] frag1_seq1 <-seq1 [[1]] [[1]] tetra_se1_frag1 <-count(frag1_seq1,4) tetra_se1_frag1 – user3275981