[ensembl-dev] VM with rest API

Brett Thomas bthomas at atgu.mgh.harvard.edu
Tue Aug 20 17:08:48 BST 2013


Hey Andy + Emily --

First, *thank you* for this fantastic writeup. It worked perfectly and
helped isolate the issue. Problem is with my ensembl database, not the rest
code.

When I use the VEP rest interface with useastdb.ensembl.org, it works. When
I use my local database, I get the same error [1]. All the endpoints other
than VEP work, for example /feature/id.

Does VEP require additional databases? Here's what I have:

mysql> show databases;
> +-------------------------+
> | Database                |
> +-------------------------+
> | information_schema      |
> | ensembl_accounts        |
> | ensembl_ontology_72     |
> | ensembl_website_72      |
> | homo_sapiens_core_72_37 |
> | mysql                   |
> | performance_schema      |
> | test                    |
> +-------------------------+
> 8 rows in set (0.00 sec)



Thanks --
Brett

[1] Ensembl log:

2013/08/20 16:02:08 (5200) Catalyst.pm 1988> *** Request 1 (0.167/s)
> [11059] [Tue Aug 20 16:02:08 2013] ***
> 2013/08/20 16:02:08 (1) Dispatcher.pm 387> Path is "/vep/get_consequences"
> 2013/08/20 16:02:08 (0) Catalyst.pm 2227> "GET" request for
> "vep/human/1:6524705:6524705/T/consequences" from "10.0.2.2"
> 2013/08/20 16:02:08 (1) Registry.pm 54> Loading the registry model object
> 2013/08/20 16:02:08 (0) Registry.pm 70> Using host settings from the
> configuration file
> 2013/08/20 16:02:08 (14) Registry.pm 107> Setting up connection policies
> 2013/08/20 16:02:08 (0) Registry.pm 115> Setting all DBAdaptors to
> reconnect when connections are lost
> 2013/08/20 16:02:08 (0) Registry.pm 120> Stopping caching in all adaptors
> and clearing out existing caches
> 2013/08/20 16:02:08 (0) Registry.pm 128> Connection sharing turned on
> 2013/08/20 16:02:08 (0) Registry.pm 141> Using reconnect_interval of
> 600000
> 2013/08/20 16:02:08 (0) Registry.pm 151> New connection being generated
> for mysql DB at mysqldba at localhost:5306
> 2013/08/20 16:02:08 (1) ReturnError.pm 40> stash takes a hash or hashref
> at /usr/local/lib/perl/5.14.2/Class/MOP/Method/Wrapped.pm line 162.
> 2013/08/20 16:02:08 (0) REST.pm 485> Status Bad Request: something bad has
> happened
> 2013/08/20 16:02:08 (10) Serialize.pm 45> Serializing with
> Catalyst::Action::Serialize::YAML::HTML
> 2013/08/20 16:02:08 (1) Catalyst.pm 2278> Response Code: 400;
> Content-Type: text/html; Content-Length: 104
> 2013/08/20 16:02:08 (0) Catalyst.pm 1833> Request took 0.033043s (30.264/s)
> .------------------------------------------------------------+-----------.
> | Action                                                     | Time      |
> +------------------------------------------------------------+-----------+
> | /vep/begin                                                 | 0.000121s |
> | /vep/get_species                                           | 0.029161s |
> |  /returnerror/begin                                        | 0.000119s |
> |  /returnerror/from_ensembl                                 | 0.000585s |
> |  -> returnerror/from_ensembl_GET                           | 0.000050s |
> |  /returnerror/end                                          | 0.010666s |
> '------------------------------------------------------------+-----------'






On Mon, Aug 19, 2013 at 5:59 AM, Andy Yates <ayates at ebi.ac.uk> wrote:

> Hi Brett,
>
> As Emily says we can help you out if you send us your error messages. We
> do not ship a VM with a working rest api for download. However you should
> be able to take the normal Ensembl VM (
> ftp://ftp.ensembl.org/pub/release-72/virtual_machine/Ensembl72VirtualMachine.ova)
> and supplement it with the rest server. This does take a little bit of
> mucking around in the VM because of some odd dependency issues in our VM.
> This is also an Ubuntu server so hopefully some of the steps will be
> familiar/directly applicable to your situation:
>
> # First we need to add the following repos to the /etc/apt/sources.list
> (due to missing dependencies)
> deb http://ca.archive.ubuntu.com/ubuntu/ precise-updates main restricted
> deb http://ca.archive.ubuntu.com/ubuntu/ precise-updates universe
> deb http://ca.archive.ubuntu.com/ubuntu/ precise-updates multiverse
>
> # Refresh apt
> sudo apt-get update
>
> # Bring in cpanminus & Module::Install from apt-get; sudo password is
> "ensembl"
> sudo apt-get install cpanminus libmodule-install-perl
> sudo apt-get install libxml-libxml-perl libtest-xml-simple-perl
>
> # Install Catalyst and its development dependencies
> cpanm --sudo Catalyst Catalyst::Devel
>
> # Now install the REST server
> cd ~/ensembl-api-folder
>
> cvs -d :pserver:cvsuser at cvs.sanger.ac.uk:/cvsroot/ensembl login
> CVS password: CVSUSER
>
> cvs -d :pserver:cvsuser at cvs.sanger.ac.uk:/cvsroot/ensembl co -r
> branch-ensembl-72 ensembl-rest
>
> cd ensembl-rest
>
> #Bring in the dependencies for REST; this will take a long time to finish
> cpanm --sudo --installdeps .
>
> $EDITOR ensembl_rest.conf
> #Edit the connection settings accordingly
>
> perl scripts/ensembl_rest_server.pl
>
> This should start up a server on your VM on port 3000. To test the server
> go to
>
>
> http://localhost:3000/vep/human/9:22125503-22125502:1/C/consequences?content-type=application/json
>
> All the best,
>
> Andy
>
> ------------
> Andrew Yates - Ensembl Core Software Project Leader
> European Bioinformatics Institute (EMBL-EBI)
> European Molecular Biology Laboratory
> Wellcome Trust Genome Campus
> Hinxton
> Cambridge CB10 1SD
> Tel: +44-(0)1223-492538
> Fax: +44-(0)1223-494468
> http://www.ensembl.org/
>
> On 18 Aug 2013, at 03:08, Brett Thomas <bthomas at atgu.mgh.harvard.edu>
> wrote:
>
> > Hey dev -- is there a VM that has the rest API installed out of the box?
> >
> > I'm trying to install on a clean ubuntu VM, and can't get VEP + rest to
> play nice. All of the other endpoints work great, but the vep ones keep
> failing with a cryptic Catalyst error: "stash takes a hash or hashref"
> >
> > I've tried a few different library permutations but can't get it
> working. If anybody has suggestions about the error above I'd love to hear
> them - but otherwise, I was hoping to inspect a working version to see
> what's different.
> >
> > Thanks --
> > Brett
> > _______________________________________________
> > Dev mailing list    Dev at ensembl.org
> > Posting guidelines and subscribe/unsubscribe info:
> http://lists.ensembl.org/mailman/listinfo/dev
> > Ensembl Blog: http://www.ensembl.info/
>
>
> _______________________________________________
> Dev mailing list    Dev at ensembl.org
> Posting guidelines and subscribe/unsubscribe info:
> http://lists.ensembl.org/mailman/listinfo/dev
> Ensembl Blog: http://www.ensembl.info/
>
>
> The information in this e-mail is intended only for the person to whom it
> is
> addressed. If you believe this e-mail was sent to you in error and the
> e-mail
> contains patient information, please contact the Partners Compliance
> HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in
> error
> but does not contain patient information, please contact the sender and
> properly
> dispose of the e-mail.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ensembl.org/pipermail/dev_ensembl.org/attachments/20130820/5d3c8676/attachment.html>


More information about the Dev mailing list