RDAVIDWebService - Unable to sendViaPost to url etc etc - server time out
5
1
Entering edit mode
TriS ▴ 200
@tris-5635
Last seen 4.3 years ago
United States

 

hi all

I am using the RDAVIDWebService to retrieve GO annotation for several gene lists. I was able to run it properly a few day ago but since yesterday I get the following error:

[INFO] Unable to sendViaPost to url[http://david.abcc.ncifcrf.gov/webservice/services/DAVIDWebService.DAVIDWebServiceHttpSoap12Endpoint/]
java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
    at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
    at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
    at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413)
    at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973)
    at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
    at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
    at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
    at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
    at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:560)
    at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:199)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at sample.session.client.stub.DAVIDWebServiceStub.getListReport(DAVIDWebServiceStub.java:3011)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at RJavaTools.invokeMethod(RJavaTools.java:386)

 

here the code I use:

library(RDAVIDWebService)

david<-DAVIDWebService$new(email="myEmail@somewhere.org")
connect(david)
## read file containing group #, gene name, entrez ID etc..

all_ids <- read.table("/MyUser/ENTRZID_groups.txt", sep="\t") 
# create a vector with the group #s
t <- c(0,1,2,3,4,5,7,8,10,11,12) 

> all_ids[1:10,c(1,2,4)]    ## col 1 is the group, 2 is the gene name and 4 the entrez gene ID
     1        2    4
40   0     AATK  9625
72   0    ABCC1  4363
158  0    ACACA    31
164  0    ACADL    33
298  0    ACTN2    88
305  0    ACTR2 10097
546  0     AFF3  3899
765  0  ALDH3A2   224
904  0    AMYP1   281
1199 0 APOBEC3C 27350

## here I loop through the groups and per each group get and save the GO annotation in the dis_cluster_x.txt file/variable, extract those with FDR < 0.05 then reset the david object at the end of each loop so that it's ready for the new list of gene IDs

for (i in 1:length(t)){

  names_d <- all_ids[which(all_ids[,1] == t[i]),4]
  result<-addList(david, names_d, idType="ENTREZ_GENE_ID", listName=paste("dis_",i,sep=""), listType="Gene")
  setAnnotationCategories(david, c("GOTERM_BP_ALL","GOTERM_MF_ALL"))
  filename <- paste("dis_cluster_",i,".txt",sep="")
  getFunctionalAnnotationChartFile(david, fileName = filename,threshold = 0.0001)
  temp <- read.table(filename, sep="\t", header=T)
  temp <- temp[which(temp$FDR < 0.05),]
  assign(paste("dis_cluster_",i,sep=""),temp)
  david<-DAVIDWebService$new(email="myEmail@somewhere.org")
}

the code worked great in the past, however, when it gets to the addList() function it throws the error above...I'm not sure what's happening...

any help would be golden, thanks!!

 

 

software error david rdavidwebservice • 11k views
ADD COMMENT
1
Entering edit mode
TriS ▴ 200
@tris-5635
Last seen 4.3 years ago
United States

ok I found the answer to the problem. in case anyone is wondering, you cannot submit jobs with more than 3000 genes. one of my gene clusters had 6k, therefore the server wasn't able to handle it. a description is here

ADD COMMENT
1
Entering edit mode
cfresno ▴ 10
@cfresno-7571
Last seen 9.6 years ago
Argentina

Not necessarily the mentioned error is cause for large gene list. Indeed, two possible causes: 1) busy server or 2) incorrect protocol.

1) Read timed out error is most probable because DAVID server has a lot of queries and can not give you answers during the typical 30000 mili seconds window. From version 1.2.0 onwards you can see the troubleshot section of the package  www.bioconductor.org/packages/release/bioc/vignettes/RDAVIDWebService/inst/doc/RDavidWS-vignette.pdf and try the following:

  

library("RDAVIDWebService")

david <- DAVIDWebService$new()

getTimeOut(david)

# [1] 30000

##Increment the time out interval

setTimeOut(david, 50000)

getTimeOut(david)

# [1] 50000

2) if unable to send it via HTTP POST you could (for RDAVIDWebService version greater than 1.1.2-3)

##Check HTTP_PROTOCOL_VERSION

getHttpProtocolVersion(david)

 

##Set the appropiate HTTP_PROTOCOL_VERSION

setHttpProtocolVersion(david, "HTTP/1.0")

Hope them works for you.

 

 

ADD COMMENT
0
Entering edit mode
termanini ▴ 10
@termanini-8493
Last seen 8.3 years ago

 

Hi, my script worked fine until a week ago. Now I am getting the same error both on my Mac and on the Unix cluster of the Campus.


My code was:

david = DAVIDWebService$new(email="xxx@yyy.com");
addList(david, genes, idType="ENSEMBL_GENE_ID", listName="my_genes", listType="Gene");
setAnnotationCategories(david, c("GOTERM_BP_FAT", "KEGG_PATHWAY", "PANTHER_PATHWAY"));
getFunctionalAnnotationChartFile(david, fileName="result.xls");

 

As suggested, I changed the code with:

david = DAVIDWebService$new();
setTimeOut(david, 50000);
setHttpProtocolVersion(david, "HTTP/1.0");
setEmail(david, "xxx@yyy.com");
show(david);

However, I get the error below. Can you help me?

Thanks very much

Best,
Alberto

---

DAVIDWebService object to access DAVID's website. 
User email:  [xxxxxxxxxxxx] 
Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  org.apache.axis2.AxisFault: Transport error: 301 Error: Moved Permanently
[INFO] Unable to sendViaPost to url[http://david.abcc.ncifcrf.gov/webservice/services/DAVIDWebService.DAVIDWebServiceHttpSoap12Endpoint/]
org.apache.axis2.AxisFault: Transport error: 301 Error: Moved Permanently
    at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:310)
    at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:200)
    at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:76)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:400)
    at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:225)
    at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at sample.session.client.stub.DAVIDWebServiceStub.getAllListNames(DAVIDWebServiceStub.java:2533)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at RJavaTools.invokeMethod(RJavaTools.java:386)

 

 

 

ADD COMMENT
0
Entering edit mode
termanini ▴ 10
@termanini-8493
Last seen 8.3 years ago

Hi to all,

 

I just have an answer from the DAVID team. They changed from http to https. How we can fix that in the R package?

Best,
Alberto

---

Hi Alberto,

DAVID migrated to a new home recently and a new policy has dictated that our frontend proxy only serve secure contents (https).
 
Xiaoli Jiao, PhD
Scientist, DAVID team

ADD COMMENT
0
Entering edit mode

sorry it is not an answer, may I ask how do you get registered email?

because after I register in  https://david.ncifcrf.gov/content.jsp?file=WS.html , I got no email notification to tell whether the registration is successful or not.  and failed to run the Package.

ADD REPLY
0
Entering edit mode

The registration is successful, you will not get notifications. The package is not working because of the change of the protocol from http to https by DAVID team, and the problem is not yet fixed.

 

ADD REPLY
0
Entering edit mode

Hello everyone,

Does someone have a solution to the https problem?

Thanks

Virginie

ADD REPLY
0
Entering edit mode
oops324 • 0
@oops324-8615
Last seen 9.3 years ago
Singapore

I use DAVID-WS, maybe also need to change the http

 

my $soap = SOAP::Lite
     -> uri('http://service.session.sample')
     -> proxy('http://david.abcc.ncifcrf.gov/webservice/services/DAVIDWebService',
                cookie_jar => HTTP::Cookies->new(ignore_discard=>1));

 

I checked the second link http://david.abcc.ncifcrf.gov/webservice/services/DAVIDWebService'  is wrong, can not open

ADD COMMENT

Login before adding your answer.

Traffic: 739 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6