Hey Jun, Thanks for your continued interest in the LWR. Responses inline. On Sun, Mar 2, 2014 at 7:00 PM, Jun Fan <j.fan@qmul.ac.uk> wrote:
Hi all,
LWR sounds very attractive and promising. However how to program on galaxy side to utilize LWR server is not thoroughly documented.
Critique noted, I have tried to make it seamless but when you move a job from Linux to Windows there are bound to be severe limitations and I should document these more clearly and provide a guide for writing Windows compatible tools (https://bitbucket.org/jmchilton/lwr/issue/9/provide-documentation-for-writin...).
I have several questions to ask:
1. I separate the tool wrappers (.xml) and the applications (.pl, .py etc) in two different folders. In the traditional way it works fine. When I use the legacy way of using LWR (adding galaxy:tool_runners section in the universal_wsgi.ini file), the error message says that the application cannot be found. Does the executable have to be in the same folder with the wrapper?
Do you hard code absolute paths to your scripts in the tool XML files then? The LWR does not support that. If you place a single script in the same folder as the XML (a simple light-weight wrapper as is fairly common) - that is supported - otherwise you will need to place all the required dependencies on the LWR's path on the remote Windows server. This could get awkward if used with interpreter tag for instance - if you send me examples of your tools I can provide some guidance. I guess in general my advice for Windows tools would be if you can use a simple one-file wrapper script placed next the tool you are fine - just make sure the underlying application is loaded from the path instead of via absolute paths - and then make sure all dependencies for the wrapper script are installed on the remote server and the underlying application is on the LWR's path. (If your remote server is a *nix server there is new support for using tool_dependency_dir style Galaxy dependencies that resolve on the remote server - but this will not work with Windows (enhancements to provide this would be welcomed though) ).
2. In the thread http://dev.list.galaxyproject.org/Managing-Data-Locality-td4662438.html#a466... John only mentioned $GALAXY_ROOT/databases/files, does this mean that the dynamic multiple output is not supported as it uses $GALAXY_ROOT/databases/tmp folder?
https://bitbucket.org/galaxy/galaxy-central/src/eafb4208db665dfeed7d8f3e6f0d... My understanding is that writing those files to the databases/tmp is somewhat deprecated - ideally these should be written to the working directory of the job. The newest version of the LWR *should* attempt to transfer various kinds of working directory files back to the Galaxy server after the job is complete - these files *should* include such variable output files. This hasn't been tested on Windows though - if there are problems please let me know and I can try to address them - https://bitbucket.org/jmchilton/lwr/src/51f097d3d517064159bd959c61cee71f7894...
3. What types of files are supposed to be stored under tools directory (tool_files), working directory (working), inputs (inputs), configs directory (configs), all of which are subfolders of ${staging_directory}/${job_identifier}?
In theory, you shouldn't need to be worried about these implementations details as an application programmer, it should feel just like Galaxy (again with limitations). But for what it is worth - the LWR client will transfer tool wrappers it infers are necessary to run the job to `tool_files`, the contents of any `configfile` templates defined for the job to `configs` (https://wiki.galaxyproject.org/Admin/Tools/ToolConfigSyntax#A.3Cconfigfile.3...), and any inputs it infers are nessecary to `inputs`. `working` is will be the working directory for the job - so any files your script or application writes to relative directories at runtime will be relative to this directory and finally all output paths (say you have $output defined in your Cheetah) will be rewritten so they target the outputs directory.
4. Is there file size limit on the LWR server?
It is quite possible there is. Before I had left MSI we had transferred multi-gigabyte files to and from the LWR - but I don't know if we had ever actually transferred a file over 4Gb (an obvious potential limit). I get the sense that the underlying paste server is kind of taxed by these. Like Galaxy itself, it could presumably be hosted in a more robust web server. I have done some looking at chaussette for instance which sees to have support for Windows. Hope this helps somewhat, -John
Best regards!
Jun
___________________________________________________________ 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/
To search Galaxy mailing lists use the unified search at: http://galaxyproject.org/search/mailinglists/