### ##########################################################
### # Usage
### ##########################################################
###
### 1. Copy the complete code below into your project
###
### 2. INPUT:
### - Find section 'Sample of Search'.
### - Adjust IDs and filters. Follow to provided instructions at each sub-section.
###
### 3. RESULTS
### - Use unlist(list_map["results_size"]) for getting result size
### - Use unlist(list_map["results"]) for getiing results formatted as tab delimited spreadsheet
###
### end-of-doc
# please install package httr
library(httr)
# const values
### url <- "http://ophid.utoronto.ca/loRNA/Http_mRNAs"
url <- "http://142.1.174.87:9080/loRNA/Http_mRNAs"
search_loRNA <- function(p_lncRNAs, p_mRNAs, p_minumum_number_of_sources) {
parameters <- list(
lncRNAs = p_lncRNAs,
mRNAs = p_mRNAs,
minumum_number_of_sources = p_minumum_number_of_sources
)
# ... send http POST
res <- POST(url, body = parameters, encode = "form", verbose())
}
# make results-map as keyword - value
makeMap <- function(res) {
ENTRY_DEL = "\001"
KEY_DEL = "\002"
response = content(res, "text")
arr = unlist(strsplit(response, ENTRY_DEL, fixed = TRUE))
list_map <- list("")
vec_map_names <- c("");
for (str in arr) {
arrKeyValue = unlist(strsplit(str, KEY_DEL, fixed = TRUE));
if (length(arrKeyValue) > 1) {
list_map[length(list_map) + 1] <- arrKeyValue[2]
vec_map_names[length(vec_map_names) + 1] <- arrKeyValue[1]
}
}
names(list_map) <- vec_map_names
list_map
}
##########################################################
# Sample of Search
##########################################################
# Query on lncRNAs or mRNAs
# - Comma delimited.
# - Notation case sensitive.
# Use either:
lncRNAs <- "7SL, AC002480, CCEPR, OIP5-AS1, OIP5-AS1XX"
mRNAs <- ""
# or:
# lncRNAs <- ""
# mRNAs <- "ELFN2, EPHX3, PCNA, GAK, GAKYY"
# Note: Ether lncRNAs or mRNAs at above must be empty!
# Minimum number of unique sources:
# - Set to either 5, 4, 3, 2 or 1:
minumum_number_of_sources = "4"
res <- search_loRNA(lncRNAs, mRNAs, minumum_number_of_sources)
responseCode = status_code(res)
if (responseCode != 200) {
cat("Error: Response Code : ", responseCode, "\r\n")
} else {
list_map <- makeMap(res)
##########################################################
# Print results
##########################################################
cat("\r\n", "Search Catrin:", "\r\n")
cat("Generated at: ", unlist(list_map["generated_at"]), "\r\n")
cat("lncRNAs: ", unlist(list_map["lncRNAs"]), "\r\n")
cat("mRNAs: ", unlist(list_map["mRNAs"]), "\r\n")
cat("Minimum number of sources: ", unlist(list_map["minumum_number_of_sources"]), "\r\n")
cat("\r\n", "Results size: ", unlist(list_map["results_size"]), "\r\n")
cat("Results: \r\n", unlist(list_map["results"]), "\r\n") # formatted as tab - delimited spreadsheet
}