Hi list, 

When working to get a tool wrapper Toolshed-ready, I have explored how tool 
dependencies installation works, especially the download_by_url feature. 

I have summarised my understanding on the Wiki (hope this is clear and 

The difference of behaviour when dealing with a Tar and a Zip file lies in the 
methods tar_extraction_directory() and zip_extraction_directory() (in [1]), 
which try to locate the deflated files: 

* zip_extraction_directory() counts the number of non- .zip “files” in the 
current directory. If more than one, the current path is returned ; if one, 
this “file” is assumed to be the deflated directory, and the full path to this 
directory is returned. The file_name variable (set to the name of the 
downloaded file) is not used. 

* tar_extraction_directory() which takes the name of the downloaded_file and 
removes the extension. If a subdirectory of that name exists, it is returned . 
Otherwise, if the full path to the downloaded file exists, the current path is 
returned. Otherwise, an exception is raised. 

This difference of behaviour can be very confusing. My wrapper local 
installations kept failing because for my tool, the deflated directory name did 
not match the tar.gz name. I was confused because I was using the bowtie 
wrapper [2] as an example, where it is not an issue. 

The obvious workaround is to use the target_filename attribute to have the 
downloaded archive name match the subdirectory name (which I have done, and it 
works perfectly now). But I was wondering if it would be a good idea to 
harmonize both methods behaviour? 

(P.S. As I am not very familiar yet with the Galaxy development process, I 
believe posting here is appropriate ; but I’d be happy to open an issue − on 
the Trello if I am not mistaken? − if needed. ) 


Bonsai Bioinformatics group
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:


Reply via email to