Hi Guys, I'm doing a very simple test about deseq2...there is a weird situation always happening: It looks like the deseq2 tool executed just fine, without any error, and the result files were created, but after the set_metadata, galaxy always 'set dataset state to ERROR'. The xml file for this test is: <tool id="deseq2 test" name="DESeq2" version="2"> <description>Determines differentially expressed transcripts from read alignments</description> <command> t.sh $input1 $test $out $log </command> <inputs> <param format="txt" name="input1" type="data" label="Quant"/> <param format="txt" name="input2" type="data" label="Conditions"/> <param name="test" type="select" label="please choose control condition"> <options from_dataset="input2"> <column name="value" index="0"/> </options> </param> </inputs> <outputs> <data format="txt" name="out" label="DESeq result"/> <data format="txt" name="log" label="DESeq log file"/> </outputs> </tool> Basically, we have an input file from Partek flow(input1), input2 is one column from input1, which has all the conditions, in our test, it has 3 conditions, CTC, LM, PT. input name "test" is the dropdown list that contain all 3 conditions, and we choose one as control condition, in our case it is CTC. t.sh is very simple, it basically calls R script: Rscript /home/bioinfo/app/galaxy-dist/tools/Deseq/workflow.R $1 $2 $3 $4 now, in the workflow.R, the related output part is: for (i in 2:3) { res <- results(dds, contrasts[i]) ## sort the result table by FDR res <- res[order(res$padj),] ## Output the results write.table(as.data.frame(res), file=paste0(args[i+1]), sep = "\t") } So, it looks like the result files were generated as expected, with the correct information. However, it always was set to state ERROR. Am I missing something? Or did anyone see this before? Any inputs will be greatly appreciated! Thanks, Rui