5

NCBI Web サイトから 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")

別のエラーが表示されます

query("queryname", "thequery") のエラー: 無効な要求:"(^) の不明なリスト: \"(^)thequery\""

4

2 に答える 2