On Sat, Apr 5, 2014 at 8:07 AM, ANGELICA GOMEZ ROIG <nirvanargr2012@gmail.com> wrote:
Hi Jen, I tried what you explain, but still doens't work. I did create a new datatype, gem. And I modified my code as you suggested. The tool i'm using always generates by default two archives . gem and .log. Those are the ones that I can't show in the galaxy interface, the output I get is empty, the dataset_54.dat and the dataset_55.dat. I can't handle to show me the .dat.gem and .dat.log ones.
dataset_54.dat (my first declared output that it's empty) dataset_54.dat.gem (the output that throws the tool) dataset_54.dat.log (the other output file that throws the tool) dataset_55.dat (my second declared output that it's empty)
Here it is the gem_indexer.xml
<tool id="GEM Index" name="create GEM Indexer"> <command interpreter="python"> gem_indexer.py $input $output1 $output2</command> <inputs> <param name="input" type="data" format="fasta" label="Fichero de entrada(formato .fas)" /> </inputs> <stdio> <exit_code range="1:" level="fatal" description="Bad input dataset" /> </stdio> <outputs> <data format_source="gem" name="output1" label="${tool.name} on ${on_string}: salida" from_work_dir="gem_tools/salida.gem" /> <data format_source="tab" name="output2" label="${tool.name} on ${on_string}: salida" from_work_dir="gem_tools/salida.log" /> </outputs> </tool>
And the gem_indexer.py
import sys,os
def __main__():
# Command to run GEM tool. Here the Gem indexer is getting invoked along with arguments to be passed.
cmd="gem-indexer -i "+sys.argv[1]+" -o salida" os.system(cmd)
if __name__ == "__main__" : __main__()
Since you are using a wrapper script already, I would add lines to rename the generated files (based on sys.argv[1] plus the extensions) to the filename Galaxy is providing (here sys.argv[2] and sys.argv[3]). Peter