Question: Dynamic Galaxy Tools like Upload Tool
0
gravatar for katherine.beaulieu014
2.4 years ago by
katherine.beaulieu01480 wrote:

Hi everyone, I was wondering how tools like the uscs browser upload tool work. How can someone take a dataset from another website and add it as a history item to galaxy? I am looking to do something similar.

tool galaxy • 756 views
ADD COMMENTlink modified 2.4 years ago by Torsten Houwaart50 • written 2.4 years ago by katherine.beaulieu01480

I want to do authentication for another tool but galaxy doesn't offer a 'password' parameter because of the security issue of storing plain text passwords so I was hoping to just send my tool to a simple html form and send the password back to galaxy in the form of a text file where the password is encrypted in the file.

ADD REPLYlink written 2.4 years ago by katherine.beaulieu01480

Authentication for another tool within Galaxy or what other tool? Could you please explain it a bit further?

ADD REPLYlink modified 2.4 years ago • written 2.4 years ago by Martin Čech ♦♦ 4.9k

I am working on an export and import tool for irods in galaxy. Basically I can't have the user authenticate to get into irods using galaxy tool parameters. What I was doing when testing on a local instance is using files (password and username files) that irods creates upon authentication on the command line which always get saved in the same place but if my tool is to be used on a galaxy server, I won't be able to access those files due to permissions on those files. So I was trying to create an authentication tool where I go to an html webform, enter the appropriate irods user credentials and those files get created and added to their galaxy history. From there my import and export tools can authenticate and execute.

ADD REPLYlink written 2.4 years ago by katherine.beaulieu01480
1
gravatar for Martin Čech
2.4 years ago by
Martin Čech ♦♦ 4.9k
United States
Martin Čech ♦♦ 4.9k wrote:

These are tools that we call 'data source'. You can read on it here: https://wiki.galaxyproject.org/Admin/Internals/DataSources

In concept it passes a Galaxy instance identifier along with the redirect to the data source website, then you use their interface to configure what data you want and click 'send to Galaxy' which makes the data available and shares the link with the Galaxy instance while redirecting you back. Galaxy then downloads the data and adds it to your history.

ADD COMMENTlink written 2.4 years ago by Martin Čech ♦♦ 4.9k

Ok thank you for the information. Do you know if it has to be an existing website or can I put an html folder in the tool directory for the user to access?

ADD REPLYlink written 2.4 years ago by katherine.beaulieu01480

That won't work since Galaxy will escape the HTML for security purposes. What is it that you want to achieve?

ADD REPLYlink written 2.4 years ago by Martin Čech ♦♦ 4.9k

Is there a way to override this security setting?

ADD REPLYlink written 2.4 years ago by katherine.beaulieu01480

From the role of Galaxy's admin you can whitelist tools to be allowed HTML output: https://github.com/galaxyproject/galaxy/pull/510

I am unclear on what iRODS is, how it works, and how you want to use it - sorry I cannot be of more help.

ADD REPLYlink written 2.4 years ago by Martin Čech ♦♦ 4.9k
1
gravatar for Torsten Houwaart
2.4 years ago by
Germany
Torsten Houwaart50 wrote:

Hello Katherine,

For this to work you have to add something like a tool wrapper on the galaxy server BUT ALSO: the server, which hosts the data, has to be set up to communicate with a Galaxy server. We did this a while back with doRiNA.

writing the tool for Galaxy is the easy part, but you have to convince the data server admins to communicate with Galaxy servers. I've written a tutorial on how this can be done with a simple CherryPy webserver. This and some other examples can be found in Eric Rasche's repository.

ADD COMMENTlink written 2.4 years ago by Torsten Houwaart50

Hi Torsten, Will this work with an html page that isn't hosted? I just want to add the html file to the tool package.

ADD REPLYlink written 2.4 years ago by katherine.beaulieu01480

I hope I understand correctly... Part of your datasource wrapper points to the remote site:

 <inputs action="&lt;a href=" http:="" dorina.mdc-berlin.de="" go"="" rel="nofollow">http://dorina.mdc-berlin.de/go" check_values="false" method="get" target="_top">
    <display>go to DoRiNA search $GALAXY_URL</display>
    <param name="GALAXY_URL" type="baseurl" value="/tool_runner"/>
    <param name="tool_id" type="hidden" value="dorina_search"/>
    <param name="sendToGalaxy" type="hidden" value="1"/>
</inputs>

So the authentication should be handled by the remote site. Galaxy just adds some information, so that the remote server knows the request is coming from Galaxy and where to send the results to. So just point your tool to your irods server and configure irods to handle authentication and to remember that it's talking to a Galaxy server.

ADD REPLYlink written 2.4 years ago by Torsten Houwaart50
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 171 users visited in the last hour