R/getKeyword.R

Defines functions getKeyword.qaw getKeyword.SeqAcnucWeb getKeyword.list getKeyword.default getKeyword

Documented in getKeyword getKeyword.default getKeyword.list getKeyword.qaw getKeyword.SeqAcnucWeb

#
# To get Keywords associated with a sequence.
#

getKeyword <- function(object, ...) UseMethod("getKeyword")

getKeyword.default <- function(object, ...)
  stop(paste("no getKeyword method for objects of class:", class(object)))

getKeyword.list <- function(object, ...)
  lapply(seq_len(length(object)), function(i) getKeyword(object[[i]], ...))

getKeyword.SeqAcnucWeb <- function(object, ..., socket = autosocket()){
  getKeywordsocket <- function(socket, name){
  #modif simon
  writeLines(paste("isenum&name=", name, sep = ""), socket, sep = "\n")
  res <- readLines(socket, n = 1)
  number <- parser.socket(res)[1] 

  writeLines(paste("readsub&num=", number, sep = ""), socket, sep = "\n")
  res2 <- readLines(socket, n = 1) 
  rr <- parser.socket(res2)

  writeLines(paste("readshrt&num=", rr[7], sep = ""), socket, sep = "\n")
  res3 <- readLines(socket, n = 1)
  #modif simon   

  # Get the nb of kw (not used here)
  # nbkws <- parser.socket(res3)[2]

  #recupere la liste de paires val, next 
  tmpl <- unlist(strsplit(res3, "&"))
  #transforme en liste
  tmpl <- unlist(strsplit(tmpl[3],","))
  kwl <- unlist(tmpl)[c(TRUE, FALSE)]

  lapply(kwl, function(x){
    writeLines(paste("readkey&num=", x, sep = ""), socket, sep = "\n")  
    res4 <- readLines(socket, n = 1)
    res <-parser.socket(res4)[2]
    substring(res[1], 2, nchar(res[1]) - 1)
  })

} 
  unlist(getKeywordsocket(socket, name = object))
}

getKeyword.qaw <- function(object, ...) getKeyword(object$req, ...)

getKeyword.logical <- function (object, ...)
  object # so that NA is returned for virtual lists

Try the seqinr package in your browser

Any scripts or data that you put into this service are public.

seqinr documentation built on March 31, 2023, 3:05 p.m.