Authenticating Against Galaxy from within a tool?
Hello, I am new to galaxy. I"m trying to write a data input tool wrapper. It will call a script that does a query, produces a list of files, and then the plan is to use the BioBlend API to create datasets/data collections in galaxy. In other words I am making the dataset(s) based on the contents of this file, rather than making a dataset from that file. In my case this file has a pair of columns representing FASTQ files, and I want to create one paired dataset collection in galaxy for each genome. In theory using bioblend to create datasets is easy. However, when I call this as a galaxy tool, I have not found a clean way to pass the credentials to bioblend. BioBlend needs to know the serverURL and either the user's API key or username/password. I think if I poke around $__app__ or $__user__ there's a good change I will find a property with the information I need; however, this has the obvious problem of writing the API key to the log. Is there another way to approach this problem? Thanks in advance for any help, Ben
Unofficial way of doing this and the workaround of using configfiles can be found in this thread: http://dev.list.galaxyproject.org/Simple-standard-for-API-use-of-a-global-us.... There is a Trello card outlining platform work that should be done to support this better but we have not made progress on that. I would be interested in your use case. One can dynamically discover datasets with various db keys and build collections composted of dynamically discovered datasets and keys - but there is no way to use the tool xml to dynamically discover a variable number of collections - but it should be supported - as should building a list of paired or lists of lists where the outer list describes the key and the inner the sample. -John On Wed, Apr 29, 2015 at 2:58 PM, Ben Bimber <bbimber@gmail.com> wrote:
Hello,
I am new to galaxy. I"m trying to write a data input tool wrapper. It will call a script that does a query, produces a list of files, and then the plan is to use the BioBlend API to create datasets/data collections in galaxy. In other words I am making the dataset(s) based on the contents of this file, rather than making a dataset from that file. In my case this file has a pair of columns representing FASTQ files, and I want to create one paired dataset collection in galaxy for each genome.
In theory using bioblend to create datasets is easy. However, when I call this as a galaxy tool, I have not found a clean way to pass the credentials to bioblend. BioBlend needs to know the serverURL and either the user's API key or username/password. I think if I poke around $__app__ or $__user__ there's a good change I will find a property with the information I need; however, this has the obvious problem of writing the API key to the log.
Is there another way to approach this problem?
Thanks in advance for any help, Ben
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
Hi John, Thanks. To elaborate a little more: we have a LabKey Server (web front end for a database) that manages raw files and metadata. The idea is to make a galaxy tool where a user could do thing like query for all genomes from males patients, age x-y, etc. I can use LabKey's APIs to return a list of those files. However, the information at this point is text (basically a list of filepaths). It would be nice to automatically create datasets for those files. Some of the time there's a simple 1:1 between file and the user-facing dataset (like images); however, for genomes we really want to make a paired collection. BioBlend makes it relatively easy to go from filepaths to datasets; however, the authentication issue is what wasnt clear. If there's a more standard path to go from list of files -> galaxy dataset I'm all ears. -Ben On Wed, Apr 29, 2015 at 12:13 PM, John Chilton <jmchilton@gmail.com> wrote:
Unofficial way of doing this and the workaround of using configfiles can be found in this thread:
http://dev.list.galaxyproject.org/Simple-standard-for-API-use-of-a-global-us... . There is a Trello card outlining platform work that should be done to support this better but we have not made progress on that.
I would be interested in your use case. One can dynamically discover datasets with various db keys and build collections composted of dynamically discovered datasets and keys - but there is no way to use the tool xml to dynamically discover a variable number of collections - but it should be supported - as should building a list of paired or lists of lists where the outer list describes the key and the inner the sample.
-John
Hello,
I am new to galaxy. I"m trying to write a data input tool wrapper. It will call a script that does a query, produces a list of files, and then the
is to use the BioBlend API to create datasets/data collections in galaxy. In other words I am making the dataset(s) based on the contents of this file, rather than making a dataset from that file. In my case this file has a pair of columns representing FASTQ files, and I want to create one
On Wed, Apr 29, 2015 at 2:58 PM, Ben Bimber <bbimber@gmail.com> wrote: plan paired
dataset collection in galaxy for each genome.
In theory using bioblend to create datasets is easy. However, when I call this as a galaxy tool, I have not found a clean way to pass the credentials to bioblend. BioBlend needs to know the serverURL and either the user's API key or username/password. I think if I poke around $__app__ or $__user__ there's a good change I will find a property with the information I need; however, this has the obvious problem of writing the API key to the log.
Is there another way to approach this problem?
Thanks in advance for any help, Ben
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
John - thanks, your configfile example should work for API key. however, is there a cheetah substitution to pull in the server's URL? On Wed, Apr 29, 2015 at 12:20 PM, Ben Bimber <bbimber@gmail.com> wrote:
Hi John,
Thanks. To elaborate a little more: we have a LabKey Server (web front end for a database) that manages raw files and metadata. The idea is to make a galaxy tool where a user could do thing like query for all genomes from males patients, age x-y, etc. I can use LabKey's APIs to return a list of those files. However, the information at this point is text (basically a list of filepaths).
It would be nice to automatically create datasets for those files. Some of the time there's a simple 1:1 between file and the user-facing dataset (like images); however, for genomes we really want to make a paired collection. BioBlend makes it relatively easy to go from filepaths to datasets; however, the authentication issue is what wasnt clear.
If there's a more standard path to go from list of files -> galaxy dataset I'm all ears.
-Ben
On Wed, Apr 29, 2015 at 12:13 PM, John Chilton <jmchilton@gmail.com> wrote:
Unofficial way of doing this and the workaround of using configfiles can be found in this thread:
http://dev.list.galaxyproject.org/Simple-standard-for-API-use-of-a-global-us... . There is a Trello card outlining platform work that should be done to support this better but we have not made progress on that.
I would be interested in your use case. One can dynamically discover datasets with various db keys and build collections composted of dynamically discovered datasets and keys - but there is no way to use the tool xml to dynamically discover a variable number of collections - but it should be supported - as should building a list of paired or lists of lists where the outer list describes the key and the inner the sample.
-John
Hello,
I am new to galaxy. I"m trying to write a data input tool wrapper. It will call a script that does a query, produces a list of files, and then the
is to use the BioBlend API to create datasets/data collections in galaxy. In other words I am making the dataset(s) based on the contents of this file, rather than making a dataset from that file. In my case this file has a pair of columns representing FASTQ files, and I want to create one
On Wed, Apr 29, 2015 at 2:58 PM, Ben Bimber <bbimber@gmail.com> wrote: plan paired
dataset collection in galaxy for each genome.
In theory using bioblend to create datasets is easy. However, when I call this as a galaxy tool, I have not found a clean way to pass the credentials to bioblend. BioBlend needs to know the serverURL and either the user's API key or username/password. I think if I poke around $__app__ or $__user__ there's a good change I will find a property with the information I need; however, this has the obvious problem of writing the API key to the log.
Is there another way to approach this problem?
Thanks in advance for any help, Ben
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at: https://lists.galaxyproject.org/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/
participants (2)
-
Ben Bimber
-
John Chilton