mvn package -DskipTests
Easy Deployment of DAS server for Personal Genotype data to the Amazon Cloud
Easy steps to have your personal genomic data available as a DAS source:
1) Set up an Amazon Web Services Account (AWS) which is as easy as setting up a normal amazon shopping account on the web.
2) Download and unpack a war file from this url
3) replace the person1.txt file with your own genotype data file (make sure there are no headers – just the data)
4) edit the person1 element in MydasServerConfig.xml file so that the query uris match the url your data will be served from
5) repackage the file into a .war file rename it to mychoiceofname.war
6) Upload to Elastic Beanstalk in the amazon cloud (easy web user interface and just accept defaults).
More detailed instructions:
1) Sign up to amazon aws here http://aws.amazon.com/. You will be asked to put in your credit card details, but costs are likely to be minimal ( a guess would be anywhere from no charge to $6 per month in extreme use cases). When I signed up amazon gave free usage for elastic beanstalk (the service we want to use) for the first year – this offer may still be available. Even if they were charging me the charges were between 0-11 cents per month.
2) click on this link to download the MyDasTemplate.war file http://mydas.googlecode.com/svn/repository/uk/ac/ebi/mydas/template/MyDasTemplate/1.6.1/MyDasTemplate-1.6.1.war once downloaded you will need to unzip it. For mac I go to the file in finder and right click and select open with and select “stuffit” this application then unpacks the .war file in the directory the original file is in.
3) replace the person1.txt file with your own genotype data file (make sure there are no headers – just the data). The beginning of the file should look like this:
rs3094315 1 742429 AA
rs12562034 1 758311 GG
rs3934834 1 995669 CT
Where the columns are seperated by tabs and the colums represent the snp id, chromosome, position, genotype.
Make sure you rename your file to be the same as person1.txt
4) Edit the MydasServerConfig.xml file (you can use a normal text editor although an xml editor is better as it will highlight mistakes that are easily made). Go to the person1 data source (tip you can search for <datasource uri=”person1) then edit the query_uri urls replacing mychoiceofname with what you want (I recommend not using your name unless you the world to know what diseases you may be susceptible to etc…
so the query_uri for sources will look like this http://mychoiceofname.elasticbeanstalk.com/das/person1
5) repackage the MydasTemplate directory contents into a new .war file named as your substitution for mychoiceofname.
In unix like systems such as macosx you can cd to inside the directory MydasTemplate and run the follwing command:
jar cvf ../mychoiceofname.war *
6) To upload your application file (the .war file) Go to http://aws.amazon.com/ with your web browser and use the “sign in to the console” button at the bottom right. The AWS console will look like this:
select “elastic benstalk” tab, “create new application” name it e.g. mychoiceofname click on the “choose file” button and select the .war file you have created earlier. Should look like this:
choose envirnoment name and ulr like so:
then press continue.
you can type in /das/sources for the application health check url like so:
click finish on the next screen that will look something like this:
wait a few minutes why the virtual machine and application are set up.
When the application icon is green you can test your das server by putting this url into a browser:
to test your data source is working you can use this url:
assuming you have some snps in chromosome 1 in the region 742429,758311 you should see something like this in the output of the browser:
<?xml version="1.0" standalone="no"?> <DASGFF> <GFF href="http://localhost:8080/das/person1/features?segment=1:742429,758311"> <SEGMENT id="1" start="742429" stop="758311" total="43863" version="1.0" label="1"> <FEATURE id="rs3094315" label="rs3094315"> <TYPE id="AA" cvId="SO:0000694" category="SNP">SNP</TYPE> <METHOD id="experimental genomic evidence" cvId="ECO:0000073">experimental genomic evidence</METHOD> <START>742429</START> <END>742429</END> </FEATURE> <FEATURE id="rs12562034" label="rs12562034"> <TYPE id="GG" cvId="SO:0000694" category="SNP">SNP</TYPE> <METHOD id="experimental genomic evidence" cvId="ECO:0000073">experimental genomic evidence</METHOD> <START>758311</START> <END>758311</END> </FEATURE> </SEGMENT> </GFF> </DASGFF> To view this data set in ensembl against the GRCh37 genome navigate to this url: http://www.ensembl.org/Homo_sapiens/Location/View?db=core&r=1%3A742429-758311 click on "configure this page" at the top left. Choose "custom data" tab then the "attach das" link. type your equivalent of "http://mychoiceofname.elasticbeanstalk.com/das/" into the "or other server" box. Type "person1" into the filter souces box. Click "next". Select the person1 using the tick box provided. Click "next". A message should come up saying
click on the tick mark at the right hand corner.
A tack labelled “person1″ should appear and boxes displayed if there are features present like so:
You need to edit your settings.xml file in your user directory e.g. /Users/myUsername/.M2 to have a server element like so:
The id element content indicates which server you wish these username and passwords to apply to. This corresponds to the id element in the following xml in your pom.xml file for the project which is in the needs to be put in the <distributionManagement> element. Also make sure you have the https note the S in the front of the url:
Then we just need to run the maven deploy command from the command line in the directory where your pom resides:
mvn deploy -e
To get a commiter version of a project e.g. mydas using eclipse and SVN subclipse go to the svn exploring view and add an https note the S on the end. Check out a project as usual – no password needed to checkout, but when commiting eclipse will then ask for a username and password because of the “s” in https.
note for google code login to your normal gmail account at https://code.google.com and go to the settings tab to get your username and password which will be the same for all google code hosted projects you are involved in.
DAS is currently being used to share annotations on genomes, protein
alignments, structural and interaction information.
If you are interested in sharing biological information the DAS workshop
below may be of interest to you.
Learn of and contribute to current developments in DAS such as: DAS in the cloud, DAS for Genotype Data, DAS searching, DAS for collaborative annotation projects, DAS alternative formats.
Registration is open for the 2012 DAS workshop (27-29 February) at the
Genome Campus, Hinxton UK. If you are interested in attending, please
find out more by going to http://www.ebi.ac.uk/training/onsite/120227_DAS.html and
register via the web link at the bottom of the page. This workshop will
cater for novice to expert DAS users as each day is optional.
Please register early as places will be limited. Registration closes 10 February 2012 – 12:00.
If you are interested in giving a 15 minute talk on the second day please email Jonathan Warren using firstname.lastname@example.org
The Sanger/EBI DAS team.
-create a .war file for MyDAS as per the normal way. Using maven to change the name to something other than MyDasTemplate.war change
<finalName>MyDasTemplate</finalName> to what you want your url to be e.g. genotype1 and then run the maven package command. Once this is done you pick up the genotype1.war from the target directory. You will need to call your file something else as this will affect the url which has to be unique. For this example the url will be http://genotype1.elasticbeanstalk.com/das/sources or for the example DAS data source http://genotype1.elasticbeanstalk.com/das/examplegff/features?segment=L47615.1
-go to your AWS Management console
-use the Elastic Beanstalk tab
-click “create new application” button at the top right
If a client has the X-DAS-Version set to DAS/1.6E in the request header the Sanger DAS sources at http://das.sanger.ac.uk/das/sources will respond with 1.6 style XML responses. If no header is set for this or it does not contain the number 6 the DAS 1.53E xml responses will be returned (with the exception of about 10 data sources that are labelled 1.6E with a property in the sources response ().
In the future I hope that more genomic DAS clients will move to support DAS 1.6 but in the meantime this is the Sanger solution to backwards compatibility issues which normally will only effect data sources with groups/parent/parts. This way we can also support the clients that do offer support for DAS 1.6.