[BioC] [devteam-bioc] Failed to obtain \'hguid\' cookie for UCSC browser session

Martin Morgan mtmorgan at fhcrc.org
Wed Jul 10 13:26:37 CEST 2013


I think this has been fixed in rtracklayer 1.20.3 (1.21.8 in devel), which is working its way through the Bioc build system and should be available via biocLite after about 10am Seattle time (or available in svn now).

The problem was that (a) queries to genome.ucsc.edu get redirect to a European mirror and (b) the cookie identifier in Europe changes from hguid to hguid.<some more>.

Martin
----- Erik van den Akker <erikvandenakker at gmail.com> wrote:
> Dear all,
> 
> I was thinking along the same lines as Dan. I've run some code of
> rtracklayer and have some more detailed information that might be useful
> for debugging, since this indeed seems to be a european problem.
> 
> When initializing a new instance of "UCSCSession" (when invoking method
> browserSession with signature missing), the following webadres is assigned
> by default to its slot “url”: "http://genome.ucsc.edu/cgi-bin/"
> 
> To knock on the door of the UCSC server something similar as the following
> code is used:
> 
> > handle <- getCurlHandle()
> 
> > gw <- getURL("http://genome.ucsc.edu/cgi-bin/hgGateway",
> 
> +         cookiefile = tempfile(), curl = handle)
> 
> Which gives a response of the server. This response is in Europe not what
> is expected, leading to the previously described error. Server response:
> 
> > gw
> 
> "<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML
> 2.0//EN\">\n<html><head>\n<title>302
> Found</title>\n</head><body>\n<h1>Found</h1>\n<p>The document has moved <a
> href=\"
> http://genome-euro.ucsc.edu:80/cgi-bin/hgGateway?redirect=auto&source=genome.ucsc.edu\">here</a>.</p>\n<hr>\n<address>Apache/2.2.3
> (CentOS) Server at genome.ucsc.edu Port 80</address>\n</body></html>\n"
> 
> Which basically tells me to try a different web-server (a similar warning
> as we get when we would visit UCSC through the browser in Europe) :
> http://genome-euro.ucsc.edu/cgi-bin/hgGateway. Following Dan’s suggestion:
> 
> > browserSession("UCSC",url="http://genome-euro.ucsc.edu/cgi-bin/")
> 
> Does not really help us as the response of the server:
> 
> > gw <- getURL("http://genome-euro.ucsc.edu/cgi-bin/hgGateway",
> 
> +         cookiefile = tempfile(), curl = handle)
> 
> is quite lengthy and informative, though unfortunately it does not contain
> the stuff we’re looking for. Neither a hguid or the word “Cookie” is
> present. It does tell about hgsid’s, which are also required for a
> successful browser session, so I guess I'm on the right place. I can send
> you the total output if you want. I didn’t paste it in here, because of the
> length of the response.
> 
> My guess would be that due to a new European law, sites are not allowed to
> store cookies locally at users anymore, unless the user explicitly agrees.
> Hence this is not offered anymore by the European mirror of UCSC.
> 
> I hope this helps in debugging.
> 
> Cheerz,
> 
> Erik
> 
> 	[[alternative HTML version deleted]]
> 



More information about the Bioconductor mailing list