Re: [galaxy-dev] Workflow API (runtime modification of tool parameters)

2012-06-21 Thread Richard Park
Hi Dannon,
Is there a guide or format you need for submitting pull requests? I'd
like to contribute my API enhancements specifically for importing,
creating, deleting workflows. I also had a delete library api call,
but I think that was also added to the galaxy code recently.
thanks,
Richard

On Tue, Apr 10, 2012 at 3:45 PM, Dannon Baker dannonba...@me.com wrote:
 Richard,

 For specifying or changing species, you may want to inspect the input via the 
 API (api/histories/id/contents/id/)  and snag the genome_build 
 attribute that way.  Or am I missing the issue you're running into?

 As an aside, I'd love to look at the runtime parameter specification changes 
 you've made for potential inclusion.  This is a feature I've wanted to add 
 for some time.

 Thanks!

 Dannon

 On Apr 4, 2012, at 4:17 PM, Richard Park wrote:

 Hi Dannon,
 Thank for the pointers from before, I have a version of galaxy that is able 
 to change runtime parameters through the API when running a workflow.

 Format: param=tool name=tool parameter=value

 # example execution: (currently changing 2 parameters: 1) bowtie, 
 suppressHeader parameter 2) Chip-seq peakcalling, aligner change
 python workflow_execute.py api_key http://localhost:8080/api/workflows 
 workflow_galaxy_id 'Test API' '69=ld=a799d38679e985db' 
 '70=ld=33b43b4e7093c91f' 'param=peakcalling_spp=aligner=arachne' 
 'param=bowtie_wrapper=suppressHeader=True'

 However, I was wondering if you had any pointers on how to deal w/ changing 
 species or chromosome lengths?

 # example workflow: bowtie tool
            tool_id: bowtie_wrapper,
            tool_state: {\suppressHeader\: False, 
 \refGenomeSource\: \{\\\genomeSource\\\: \\\indexed\\\, 
 \\\index\\\: \\\dm3\\\, \\\__current_case__\\\: 0}\, \__page__\: 0, 
 \chromInfo\: 
 /data/home/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/dm3.len,
  \singlePaired\: \{\\\sInput1\\\: null, \\\sParams\\\: 
 {\\\sMismatchSeed\\\: \\\2\\\, \\\sUnmappedFile\\\: \\\False\\\, 
 \\\sTrimH\\\: \\\0\\\, \\\sTrimL\\\: \\\0\\\, 
 \\\sSuppressAlign\\\: \\\1\\\, \\\sSettingsType\\\: \\\full\\\, 
 \\\sSeed\\\: \\\-1\\\, \\\sMismatchQual\\\: \\\70\\\, 
 \\\sMaqSoapAlign\\\: \\\-1\\\, \\\sAlignLimit\\\: \\\-1\\\, 
 \\\sTryHard\\\: \\\noTryHard\\\, \\\sRounding\\\: \\\round\\\, 
 \\\__current_case__\\\: 1, \\\sSkip\\\: \\\0\\\, \\\sBestOption\\\: 
 {\\\snMaxBacktracks\\\: \\\125\\\, \\\sBest\\\: \\\noBest\\\, 
 \\\__current_case__\\\: 0}, \\\sAllValAligns\\\: \\\noAllValAligns\\\, 
 \\\sOffrate\\\: \\\-1\\\, \\\sSeedLen\\\: \\\28\\\, 
 \\\sValAlign\\\: \\\1\\\, \\\sMaxFile\\\: \\\False\\\}, 
 \\\sPaired\\\: \\\single\\\, \\\__current_case__\\\: 0}\},
            tool_version: 1.1.2,
            type: tool,
            user_outputs: []

 Is there a way to configure bowtie in galaxy to use the species 
 automatically associated with input file? I am currently having troubles 
 dealing w/ parameters that are defined in sub dictionaries defined in the 
 tool state. Any general approaches would be appreciated.

 Thanks!
 Richard



 On Mon, Dec 5, 2011 at 6:32 PM, Dannon Baker dannonba...@me.com wrote:
  Richard,
 
  You're correct in that currently the workflow API affords no method for 
  runtime modification of tool parameters, other than inputs.  Depending on 
  your needs, it might be feasible to have a few static workflows that you 
  reuse often via the workflow API.  If that isn't the case, and you think 
  it'd be likely that you'll want to, say, programmatically modify 
  parameters at runtime based on input data heuristics, then the API does 
  need to be extended.  The first place to look at would be 
  lib/galaxy/web/controllers/workflow.py (run() method), to see the general 
  approach to running workflows and providing parameters in the existing 
  infrastructure.  Then, see the API version at 
  lib/galaxy/web/api/workflows.py (create() method) for a comparison.
 
  Let me know if you need any help with this at all.  Once it's done, if 
  you're willing, we'd certainly like to merge the changes back in and 
  include the functionality in the base galaxy distribution.
 
  -Dannon
 
 
 
 
  On Dec 5, 2011, at 5:10 PM, Richard Park wrote:
 
  Hello,
  I was wondering what would be the best way to extend Galaxy's API
  functionality to allow for runtime modification of tool parameters?
 
  I have successfully been able to run workflows programmatically using
  the API, following the basic steps in:
  scripts/api/execute_workflow.py.
  scripts/api/example_watch_folder.py
 
  However, it is unclear to me, what would be the best way to run
  workflows through API with specific parameters at various steps.
  Should I generate new workflows for every workflow that requires
  different parameters and upload this to galaxy? Or would it be better
  to extend the API to allow for runtime parameter configuration? If
  this is the case, any pointers on how to extend this would be greatly
  appreciated.
 
  Thank you,
  Richard 

Re: [galaxy-dev] Workflow API (runtime modification of tool parameters)

2012-06-21 Thread Dannon Baker
Hi Richard, that'd be great!  The easiest thing for us is a bitbucket pull 
request on a clean fork (with your changes applied) of galaxy-central.

-Dannon

On Jun 21, 2012, at 4:54 PM, Richard Park wrote:

 Hi Dannon,
 Is there a guide or format you need for submitting pull requests? I'd
 like to contribute my API enhancements specifically for importing,
 creating, deleting workflows. I also had a delete library api call,
 but I think that was also added to the galaxy code recently.
 thanks,
 Richard
 
 On Tue, Apr 10, 2012 at 3:45 PM, Dannon Baker dannonba...@me.com wrote:
 Richard,
 
 For specifying or changing species, you may want to inspect the input via 
 the API (api/histories/id/contents/id/)  and snag the genome_build 
 attribute that way.  Or am I missing the issue you're running into?
 
 As an aside, I'd love to look at the runtime parameter specification changes 
 you've made for potential inclusion.  This is a feature I've wanted to add 
 for some time.
 
 Thanks!
 
 Dannon
 
 On Apr 4, 2012, at 4:17 PM, Richard Park wrote:
 
 Hi Dannon,
 Thank for the pointers from before, I have a version of galaxy that is able 
 to change runtime parameters through the API when running a workflow.
 
 Format: param=tool name=tool parameter=value
 
 # example execution: (currently changing 2 parameters: 1) bowtie, 
 suppressHeader parameter 2) Chip-seq peakcalling, aligner change
 python workflow_execute.py api_key http://localhost:8080/api/workflows 
 workflow_galaxy_id 'Test API' '69=ld=a799d38679e985db' 
 '70=ld=33b43b4e7093c91f' 'param=peakcalling_spp=aligner=arachne' 
 'param=bowtie_wrapper=suppressHeader=True'
 
 However, I was wondering if you had any pointers on how to deal w/ changing 
 species or chromosome lengths?
 
 # example workflow: bowtie tool
tool_id: bowtie_wrapper,
tool_state: {\suppressHeader\: False, 
 \refGenomeSource\: \{\\\genomeSource\\\: \\\indexed\\\, 
 \\\index\\\: \\\dm3\\\, \\\__current_case__\\\: 0}\, \__page__\: 
 0, \chromInfo\: 
 /data/home/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/dm3.len,
  \singlePaired\: \{\\\sInput1\\\: null, \\\sParams\\\: 
 {\\\sMismatchSeed\\\: \\\2\\\, \\\sUnmappedFile\\\: \\\False\\\, 
 \\\sTrimH\\\: \\\0\\\, \\\sTrimL\\\: \\\0\\\, 
 \\\sSuppressAlign\\\: \\\1\\\, \\\sSettingsType\\\: \\\full\\\, 
 \\\sSeed\\\: \\\-1\\\, \\\sMismatchQual\\\: \\\70\\\, 
 \\\sMaqSoapAlign\\\: \\\-1\\\, \\\sAlignLimit\\\: \\\-1\\\, 
 \\\sTryHard\\\: \\\noTryHard\\\, \\\sRounding\\\: \\\round\\\, 
 \\\__current_case__\\\: 1, \\\sSkip\\\: \\\0\\\, \\\sBestOption\\\: 
 {\\\snMaxBacktracks\\\: \\\125\\\, \\\sBest\\\: \\\noBest\\\, 
 \\\__current_case__\\\: 0}, \\\sAllValAligns\\\: 
 \\\noAllValAligns\\\, \!
 \\sOffrate\\\: \\\-1\\\, \\\sSeedLen\\\: \\\28\\\, \\\sValAlign\\\: 
\\\1\\\, \\\sMaxFile\\\: \\\False\\\}, \\\sPaired\\\: \\\single\\\, 
\\\__current_case__\\\: 0}\},
tool_version: 1.1.2,
type: tool,
user_outputs: []
 
 Is there a way to configure bowtie in galaxy to use the species 
 automatically associated with input file? I am currently having troubles 
 dealing w/ parameters that are defined in sub dictionaries defined in the 
 tool state. Any general approaches would be appreciated.
 
 Thanks!
 Richard
 
 
 
 On Mon, Dec 5, 2011 at 6:32 PM, Dannon Baker dannonba...@me.com wrote:
 Richard,
 
 You're correct in that currently the workflow API affords no method for 
 runtime modification of tool parameters, other than inputs.  Depending on 
 your needs, it might be feasible to have a few static workflows that you 
 reuse often via the workflow API.  If that isn't the case, and you think 
 it'd be likely that you'll want to, say, programmatically modify 
 parameters at runtime based on input data heuristics, then the API does 
 need to be extended.  The first place to look at would be 
 lib/galaxy/web/controllers/workflow.py (run() method), to see the general 
 approach to running workflows and providing parameters in the existing 
 infrastructure.  Then, see the API version at 
 lib/galaxy/web/api/workflows.py (create() method) for a comparison.
 
 Let me know if you need any help with this at all.  Once it's done, if 
 you're willing, we'd certainly like to merge the changes back in and 
 include the functionality in the base galaxy distribution.
 
 -Dannon
 
 
 
 
 On Dec 5, 2011, at 5:10 PM, Richard Park wrote:
 
 Hello,
 I was wondering what would be the best way to extend Galaxy's API
 functionality to allow for runtime modification of tool parameters?
 
 I have successfully been able to run workflows programmatically using
 the API, following the basic steps in:
 scripts/api/execute_workflow.py.
 scripts/api/example_watch_folder.py
 
 However, it is unclear to me, what would be the best way to run
 workflows through API with specific parameters at various steps.
 Should I generate new workflows for every workflow that requires
 different parameters and upload this to galaxy? 

Re: [galaxy-dev] Workflow API (runtime modification of tool parameters)

2012-04-10 Thread Dannon Baker
Richard,

For specifying or changing species, you may want to inspect the input via the 
API (api/histories/id/contents/id/)  and snag the genome_build attribute 
that way.  Or am I missing the issue you're running into?

As an aside, I'd love to look at the runtime parameter specification changes 
you've made for potential inclusion.  This is a feature I've wanted to add for 
some time.

Thanks!

Dannon

On Apr 4, 2012, at 4:17 PM, Richard Park wrote:

 Hi Dannon, 
 Thank for the pointers from before, I have a version of galaxy that is able 
 to change runtime parameters through the API when running a workflow. 
 
 Format: param=tool name=tool parameter=value
 
 # example execution: (currently changing 2 parameters: 1) bowtie, 
 suppressHeader parameter 2) Chip-seq peakcalling, aligner change
 python workflow_execute.py api_key http://localhost:8080/api/workflows 
 workflow_galaxy_id 'Test API' '69=ld=a799d38679e985db' 
 '70=ld=33b43b4e7093c91f' 'param=peakcalling_spp=aligner=arachne' 
 'param=bowtie_wrapper=suppressHeader=True'
 
 However, I was wondering if you had any pointers on how to deal w/ changing 
 species or chromosome lengths? 
 
 # example workflow: bowtie tool
tool_id: bowtie_wrapper, 
tool_state: {\suppressHeader\: False, 
 \refGenomeSource\: \{\\\genomeSource\\\: \\\indexed\\\, \\\index\\\: 
 \\\dm3\\\, \\\__current_case__\\\: 0}\, \__page__\: 0, \chromInfo\: 
 /data/home/galaxy/galaxy-dist/tool-data/shared/ucsc/chrom/dm3.len,
  \singlePaired\: \{\\\sInput1\\\: null, \\\sParams\\\: 
 {\\\sMismatchSeed\\\: \\\2\\\, \\\sUnmappedFile\\\: \\\False\\\, 
 \\\sTrimH\\\: \\\0\\\, \\\sTrimL\\\: \\\0\\\, \\\sSuppressAlign\\\: 
 \\\1\\\, \\\sSettingsType\\\: \\\full\\\, \\\sSeed\\\: \\\-1\\\, 
 \\\sMismatchQual\\\: \\\70\\\, \\\sMaqSoapAlign\\\: \\\-1\\\, 
 \\\sAlignLimit\\\: \\\-1\\\, \\\sTryHard\\\: \\\noTryHard\\\, 
 \\\sRounding\\\: \\\round\\\, \\\__current_case__\\\: 1, \\\sSkip\\\: 
 \\\0\\\, \\\sBestOption\\\: {\\\snMaxBacktracks\\\: \\\125\\\, 
 \\\sBest\\\: \\\noBest\\\, \\\__current_case__\\\: 0}, 
 \\\sAllValAligns\\\: \\\noAllValAligns\\\, \\\!
 sOffrate\\\: \\\-1\\\, \\\sSeedLen\\\: \\\28\\\, \\\sValAlign\\\: 
\\\1\\\, \\\sMaxFile\\\: \\\False\\\}, \\\sPaired\\\: \\\single\\\, 
\\\__current_case__\\\: 0}\}, 
tool_version: 1.1.2, 
type: tool, 
user_outputs: []
 
 Is there a way to configure bowtie in galaxy to use the species automatically 
 associated with input file? I am currently having troubles dealing w/ 
 parameters that are defined in sub dictionaries defined in the tool state. 
 Any general approaches would be appreciated. 
 
 Thanks!
 Richard 
 
 
 
 On Mon, Dec 5, 2011 at 6:32 PM, Dannon Baker dannonba...@me.com wrote:
  Richard,
 
  You're correct in that currently the workflow API affords no method for 
  runtime modification of tool parameters, other than inputs.  Depending on 
  your needs, it might be feasible to have a few static workflows that you 
  reuse often via the workflow API.  If that isn't the case, and you think 
  it'd be likely that you'll want to, say, programmatically modify parameters 
  at runtime based on input data heuristics, then the API does need to be 
  extended.  The first place to look at would be 
  lib/galaxy/web/controllers/workflow.py (run() method), to see the general 
  approach to running workflows and providing parameters in the existing 
  infrastructure.  Then, see the API version at 
  lib/galaxy/web/api/workflows.py (create() method) for a comparison.
 
  Let me know if you need any help with this at all.  Once it's done, if 
  you're willing, we'd certainly like to merge the changes back in and 
  include the functionality in the base galaxy distribution.
 
  -Dannon
 
 
 
 
  On Dec 5, 2011, at 5:10 PM, Richard Park wrote:
 
  Hello,
  I was wondering what would be the best way to extend Galaxy's API
  functionality to allow for runtime modification of tool parameters?
 
  I have successfully been able to run workflows programmatically using
  the API, following the basic steps in:
  scripts/api/execute_workflow.py.
  scripts/api/example_watch_folder.py
 
  However, it is unclear to me, what would be the best way to run
  workflows through API with specific parameters at various steps.
  Should I generate new workflows for every workflow that requires
  different parameters and upload this to galaxy? Or would it be better
  to extend the API to allow for runtime parameter configuration? If
  this is the case, any pointers on how to extend this would be greatly
  appreciated.
 
  Thank you,
  Richard Park
  ___
  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:
 
   http://lists.bx.psu.edu/
 


___
Please keep all replies on 

Re: [galaxy-dev] Workflow API (runtime modification of tool parameters)

2011-12-07 Thread Richard Park
Hi Dannon,
Thanks for the pointers. I am new to developing to galaxy and any help
or guidance would be much appreciated. Are there any docs to help me
understand how to code/debug galaxy? And if you have any suggestions
for the general process of extending the API i would be very grateful.
thanks,
Richard

On Mon, Dec 5, 2011 at 6:32 PM, Dannon Baker dannonba...@me.com wrote:
 Richard,

 You're correct in that currently the workflow API affords no method for 
 runtime modification of tool parameters, other than inputs.  Depending on 
 your needs, it might be feasible to have a few static workflows that you 
 reuse often via the workflow API.  If that isn't the case, and you think it'd 
 be likely that you'll want to, say, programmatically modify parameters at 
 runtime based on input data heuristics, then the API does need to be 
 extended.  The first place to look at would be 
 lib/galaxy/web/controllers/workflow.py (run() method), to see the general 
 approach to running workflows and providing parameters in the existing 
 infrastructure.  Then, see the API version at lib/galaxy/web/api/workflows.py 
 (create() method) for a comparison.

 Let me know if you need any help with this at all.  Once it's done, if you're 
 willing, we'd certainly like to merge the changes back in and include the 
 functionality in the base galaxy distribution.

 -Dannon




 On Dec 5, 2011, at 5:10 PM, Richard Park wrote:

 Hello,
 I was wondering what would be the best way to extend Galaxy's API
 functionality to allow for runtime modification of tool parameters?

 I have successfully been able to run workflows programmatically using
 the API, following the basic steps in:
 scripts/api/execute_workflow.py.
 scripts/api/example_watch_folder.py

 However, it is unclear to me, what would be the best way to run
 workflows through API with specific parameters at various steps.
 Should I generate new workflows for every workflow that requires
 different parameters and upload this to galaxy? Or would it be better
 to extend the API to allow for runtime parameter configuration? If
 this is the case, any pointers on how to extend this would be greatly
 appreciated.

 Thank you,
 Richard Park
 ___
 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:

  http://lists.bx.psu.edu/


___
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:

  http://lists.bx.psu.edu/


[galaxy-dev] Workflow API (runtime modification of tool parameters)

2011-12-05 Thread Richard Park
Hello,
I was wondering what would be the best way to extend Galaxy's API
functionality to allow for runtime modification of tool parameters?

I have successfully been able to run workflows programmatically using
the API, following the basic steps in:
scripts/api/execute_workflow.py.
scripts/api/example_watch_folder.py

However, it is unclear to me, what would be the best way to run
workflows through API with specific parameters at various steps.
Should I generate new workflows for every workflow that requires
different parameters and upload this to galaxy? Or would it be better
to extend the API to allow for runtime parameter configuration? If
this is the case, any pointers on how to extend this would be greatly
appreciated.

Thank you,
Richard Park
___
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:

  http://lists.bx.psu.edu/


Re: [galaxy-dev] Workflow API (runtime modification of tool parameters)

2011-12-05 Thread Dannon Baker
Richard,

You're correct in that currently the workflow API affords no method for runtime 
modification of tool parameters, other than inputs.  Depending on your needs, 
it might be feasible to have a few static workflows that you reuse often via 
the workflow API.  If that isn't the case, and you think it'd be likely that 
you'll want to, say, programmatically modify parameters at runtime based on 
input data heuristics, then the API does need to be extended.  The first place 
to look at would be lib/galaxy/web/controllers/workflow.py (run() method), to 
see the general approach to running workflows and providing parameters in the 
existing infrastructure.  Then, see the API version at 
lib/galaxy/web/api/workflows.py (create() method) for a comparison.

Let me know if you need any help with this at all.  Once it's done, if you're 
willing, we'd certainly like to merge the changes back in and include the 
functionality in the base galaxy distribution.

-Dannon




On Dec 5, 2011, at 5:10 PM, Richard Park wrote:

 Hello,
 I was wondering what would be the best way to extend Galaxy's API
 functionality to allow for runtime modification of tool parameters?
 
 I have successfully been able to run workflows programmatically using
 the API, following the basic steps in:
 scripts/api/execute_workflow.py.
 scripts/api/example_watch_folder.py
 
 However, it is unclear to me, what would be the best way to run
 workflows through API with specific parameters at various steps.
 Should I generate new workflows for every workflow that requires
 different parameters and upload this to galaxy? Or would it be better
 to extend the API to allow for runtime parameter configuration? If
 this is the case, any pointers on how to extend this would be greatly
 appreciated.
 
 Thank you,
 Richard Park
 ___
 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:
 
  http://lists.bx.psu.edu/

___
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:

  http://lists.bx.psu.edu/