我對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