我正在尝试从 NCBI 网站获取 FASTA 文件,我使用以下功能
getncbiseq <- function(accession){
dbs <- c()
for (i in 1:numdbs){
db <- dbs[i]
choosebank(db)
resquery <- try(query(".tmpquery", paste("AC=", accession)),silent = TRUE)
if (!(inherits(resquery, "try-error"))){
queryname <- "query2"
thequery <- paste("AC=",accession,sep="")
query(`queryname`,`thequery`)
# see if a sequence was retrieved:
seq <- getSequence(query2$req[[1]])
closebank()
return(seq)
}
closebank()
}
print(paste("ERROR: accession",accession,"was not found"))
}
当我尝试检索序列时
mydata <- getncbiseq("NC_001477")
getSequence(query2$req[[1]]) 中的错误:找不到对象“query2”
还有更好的方法来缩短这些循环功能吗?
如果我使用
query('queryname','the query')
#or
query("queryname","thequery")
我收到另一个错误
查询错误(“queryname”,“thequery”):无效请求:“(^) 处的未知列表:\"(^)thequery\""