diff ChebiConn.R @ 2:20d69a062da3 draft

planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit d4048accde6bdfd5b3e14f5394902d38991854f8
author prog
date Thu, 02 Mar 2017 08:55:00 -0500
parents 253d531a0193
children
line wrap: on
line diff
--- a/ChebiConn.R	Sat Sep 03 17:02:01 2016 -0400
+++ b/ChebiConn.R	Thu Mar 02 08:55:00 2017 -0500
@@ -1,48 +1,59 @@
-if ( ! exists('ChebiConn')) { # Do not load again if already loaded
+#####################
+# CLASS DECLARATION #
+#####################
+
+ChebiConn <- methods::setRefClass("ChebiConn", contains = "RemotedbConn")
 
-	source('RemotedbConn.R')
-	source('ChebiCompound.R')
-	
-	#####################
-	# CLASS DECLARATION #
-	#####################
-	
-	ChebiConn <- setRefClass("ChebiConn", contains = "RemotedbConn")
+##########################
+# GET ENTRY CONTENT TYPE #
+##########################
+
+ChebiConn$methods( getEntryContentType = function() {
+	return(BIODB.HTML)
+})
 
-	##########################
-	# GET ENTRY CONTENT TYPE #
-	##########################
+#####################
+# GET ENTRY CONTENT #
+#####################
+
+ChebiConn$methods( getEntryContent = function(id) {
 
-	ChebiConn$methods( getEntryContentType = function(type) {
-		return(BIODB.HTML)
-	})
+	# Initialize return values
+	content <- rep(NA_character_, length(id))
 
-	#####################
-	# GET ENTRY CONTENT #
-	#####################
+	# Request
+	content <- vapply(id, function(x) .self$.get.url(get.entry.url(BIODB.CHEBI, x)), FUN.VALUE = '')
+
+	return(content)
+})
 
-	ChebiConn$methods( getEntryContent = function(type, id) {
-
-		if (type == BIODB.COMPOUND) {
+################
+# CREATE ENTRY #
+################
 
-			# Initialize return values
-			content <- rep(NA_character_, length(id))
+ChebiConn$methods( createEntry = function(content, drop = TRUE) {
+	return(createChebiEntryFromHtml(content, drop = drop))
+})
 
-			# Request
-			content <- vapply(id, function(x) .self$.scheduler$getUrl(get.entry.url(BIODB.CHEBI, x)), FUN.VALUE = '')
-
-			return(content)
-		}
+##################
+# GET NB ENTRIES #
+##################
 
-		return(NULL)
-	})
-	
-	################
-	# CREATE ENTRY #
-	################
-	
-	ChebiConn$methods( createEntry = function(type, content, drop = TRUE) {
-		return(if (type == BIODB.COMPOUND) createChebiCompoundFromHtml(content, drop = drop) else NULL)
-	})
+ChebiConn$methods( getNbEntries = function() {
+	return(NA_integer_)
+})
+
+#################
+# GET ENTRY IDS #
+#################
 
-} # end of load safe guard
+ChebiConn$methods( getEntryIds = function(max.results = NA_integer_) {
+	request <- "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?><SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tns=\"http://www.ebi.ac.uk/webservices/chebi\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/wsdl/soap/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" ><SOAP-ENV:Body><tns:getLiteEntity xmlns:tns=\"http://www.ebi.ac.uk/webservices/chebi\"><tns:search>1*</tns:search><tns:searchCategory>CHEBI ID</tns:searchCategory><tns:maximumResults>100</tns:maximumResults><tns:stars></tns:stars></tns:getLiteEntity></SOAP-ENV:Body></SOAP-ENV:Envelope>"
+	print('********************************************************************************')
+	print('********************************************************************************')
+	results <- .self$.scheduler$sendSoapRequest('http://www.ebi.ac.uk:80/webservices/chebi/2.0/webservice', request)
+	print(results)
+	print('********************************************************************************')
+	print('********************************************************************************')
+	return(NULL)
+})