File: getlistrank.R

package info (click to toggle)
r-cran-seqinr 3.4-5-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 5,876 kB
  • sloc: ansic: 1,987; makefile: 14
file content (47 lines) | stat: -rw-r--r-- 2,005 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
###################################################################################################
#                                                                                                 #
#                                       getlistrank                                               #
#                                                                                                 #
# ==>   getlistrank&name="xx"                                                                     #
# <==  lrank=xx                                                                                   #
# Returns the rank of list, or 0 if no list with name exists.                                     #
#                                                                                                 #
###################################################################################################

getlistrank <- function(listname, socket = autosocket(), verbose = FALSE) {

  #
  # Check arguments:
  #
  if(verbose) cat("I'm checking the arguments...\n")
  
  if( !inherits(socket, "sockconn") ) stop(paste("argument socket = ", socket, "is not a socket connection."))
  if(verbose) cat("... and everything is OK up to now.\n")
  
  #
  # Send request to server:
  #
  if(verbose) cat("I'm sending query to server...\n")
  request <- paste("getlistrank&name=\"", listname, "\"", sep = "")
  writeLines(request, socket, sep = "\n")
  res <- readLines(socket, n = 1)
  #
  # Check for non empty answer from server:
  #
  if(verbose) cat(paste("... answer from server is:", res, "\n"))
  if(length(res) == 0){
    if(verbose) cat("... answer from server is empty!\n")
    while(length(res) == 0){
      if(verbose) cat("... reading again.\n")
      res <- readLines(socket, n = 1)
    }
  }
  #
  # Analysing answer from server:
  #
  if(verbose) cat("I'm trying to analyse answer from server...\n")
  result <- as.numeric( unlist(strsplit(res, split = "="))[2] )
  return(result)
}

glr <- getlistrank