Nothing
# ==> isenum&[name=xx|access=xx]
# <== number=xx{&length=xx&frame=xx&gencode=xx&ncbigc=xx}{&otheraccessmatches}
# Finds the acnuc number of a sequence from its name (name= argument) or its accession number (access= argument).
# The name= and access= arguments are case-insensitive.
# Reply gives number (or 0 if does not exist), length, reading frame (0, 1, or 2), and
# genetic code ids of the corresponding sequence (gencode= gives acnuc's genetic code, 0 means universal;
# ncbigc= gives ncbi's genetic code id, 1 means universal).
# When &otheraccessmatches appears in reply, it means that several sequences are attached to the given accession no.,
# and that only the acnuc number of the first attached sequence is given in the number= argument.
isenum <- function(what, idby = c("name", "access"), socket = autosocket()){
#
# Default is by name:
#
idby <- idby[1]
if(!(idby %in% c("name", "access"))) stop("Wrong idby agument")
#
# Make default return value:
#
result <- list(number = NA, length = NA, frame = NA, gencode = NA, ncbigc = NA, otheraccessmatches = NA)
#
# Build request:
#
request <- paste("isenum&", idby, "=", what, sep = "")
writeLines(request, socket, sep = "\n")
answerFromServer <- readLines(socket, n = 1)
#
# Check that there is an answer from server:
#
if(length(answerFromServer) == 0){
warning("Empty answer from server")
return(NA)
}
#
# Build result:
#
resitem <- parser.socket(answerFromServer)
number <- as.numeric(resitem[1])
if(number == 0){
return(result) # sequence doesn't exist, NA returned
} else {
result$number <- number
}
result$length <- as.numeric(resitem[2])
if( resitem[length(resitem)] == "otheraccessmatches"){
result$otheraccessmatches <- TRUE
} else {
result$otheraccessmatches <- FALSE
}
if( length(resitem) <= 3) return(result) # Mother sequence
result$frame <- as.numeric(resitem[3])
result$gencode <- as.numeric(resitem[4])
result$ncbigc <- as.numeric(resitem[5])
return(result)
}
isn <- function(what, ...) isenum(what, ...)$number
#
# getNumber.socket (deprecated as from seqinR 1.1-3)
#
getNumber.socket <- function(socket, name){
warning("getNumber.socket is deprecated, use isn() instead")
isn(what = name, socket = socket)
}
#
# getAttributsocket (deprecated as from seqinR 1.1-3)
#
getAttributsocket <- function( socket, name){
warning("getAttributsocket is deprecated, use isenum instead.")
request <- paste("isenum&name=", name, sep = "")
writeLines( request, socket, sep = "\n")
res <- readLines(socket, n = 1)
p <- parser.socket(res)
return( list(length = as.numeric(p[2]), frame = as.numeric(p[3]), gencode = as.numeric(p[4])) )
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.