I am trying to write a galaxy custom tool who’s command calls a script that requires an output directory (I cannot change that unfortunately). Then the script outputs a bunch of files in that directory with predictable numbers and names. I can set the “outputs” “data_format=‘directory’” and everything executes but the results are empty.
Things I have tried:
- Specifying to the script to write the files in the current executing directory --> FileNotFound
- Specifying a set location --> FileNotFound
- discovered_datasets within the "data fomat=“directory” --> empty results
All help would be greatly appreciated!
I was able to figure out the problem thanks to the following post: https://biostar.usegalaxy.org/p/1965/.
The trouble is that Galaxy sends .dat files and that my script uses the extension to check that the input filetype is correct. I solved it by creating a symbolic link to the input files with the correct extensions in the command before the main call:
ln -s inputFile.dat toPassFile.csv &&
However I have now come across another problem. I need to put that file in a docker, and symbolic link in a container is not supported in docker (as far as I know). To solve this I crate a dummy function that reads the .dat files and writes them to CSV inside the docker.
I hope that this solves someones else’s problem.