Hi, I have my own image registration tool that I've created on my own local instance of galaxy. The method takes in two images (*.nii.gz) formats and registers them together, and produces one registered *.nii.gz file and a *.trsf matrix file. The first issue encountered was the method was expecting *.nii.gz files as inputs but was receiving *.dat files. I navigated around this problem as shown by the files below: - <<tool id="RegisterAliBabaAffine" name="RegisterAffine"> < <description>two images</description> < <command interpreter="bash">$__root_dir__/tools/registration/reg-wrapper.sh $moving $fixed $outputTRSF $outputImage</command> - < <inputs> < <param format="binary" name="moving" type="data" label="Moving Image" /> < <param format="binary" name="fixed" type="data" label="Fixed Image" /> < <param type="hidden" name="outputTRSF" value="output.trsf" label="trsf file" help="Output File must have .trsf extension" /> < <param type="hidden" name="outputImage" value="output.nii.gz" label="Image output file" help="Output Image File must have .nii.gz extension" /> </inputs> - < <outputs> < <data format="input" name="output_TRSF" from_work_dir="output.trsf" /> < <data format="input" name="output_Image" from_work_dir="output.nii.gz" /> </outputs> < <help>This tool uses Affine Registration to register two images.</help> </tool> #!/bin/bash MOVING=`mktemp --suffix .nii.gz` FIXED=`mktemp --suffix .nii.gz` cat $1 > $MOVING cat $2 > $FIXED /usr/local/MILXView.12.08.1/BashScripts/RegisterAliBabaAffine -m $MOVING -f $FIXED -t $3 -o $4 RC=$? if [[ $RC == 0 ]]; then OUTPUTTRSF=`mktemp --suffix .trsf` OUTPUTIMG=`mktemp --suffix .nii.gz` cat $OUTPUTTRSF > $3 cat $OUTPUTIMG > $4 rm $OUTPUTTRSF rm $OUTPUTIMG fi rm $MOVING rm $FIXED exit $RC This allows them to pass the *.nii.gz files that the registration method is expecting. Everything works fine and I can see output generated in the job_working_dir and the history turns green... galaxy@bmladmin-OptiPlex-745:~$ ls -lrt ~/galaxy-dist/database/job_working_directory/000/27/ total 2940 -rw------- 1 galaxy nogroup 0 Sep 13 10:15 tmpRfHsOP_stderr -rw-r--r-- 1 galaxy nogroup 241 Sep 13 10:35 output.trsf -rw------- 1 galaxy nogroup 80 Sep 13 10:35 tmplmK0V2_stdout -rw-r--r-- 1 galaxy nogroup 2998272 Sep 13 10:38 output.nii.gz However, the problem occurs when the files are copied from ~/galaxy-dist/database/job_working_directory/000/27/ to ~/galaxy-dist/database/files/000/. When this happens the files become size = 0. Any ideas? -rw-r--r-- 1 galaxy nogroup 0 Sep 13 09:36 /home/galaxy/galaxy-dist/database/files/000/dataset_40.dat -rw-r--r-- 1 galaxy nogroup 0 Sep 13 09:36 /home/galaxy/galaxy-dist/database/files/000/dataset_41.dat -rw-r--r-- 1 galaxy nogroup 0 Sep 13 10:38 /home/galaxy/galaxy-dist/database/files/000/dataset_43.dat -rw-r--r-- 1 galaxy nogroup 0 Sep 13 10:38 /home/galaxy/galaxy-dist/database/files/000/dataset_42.dat The output in galaxy.log indicates it is successful: /home/galaxy/galaxy-dist/tools/registration/reg-wrapper.sh /home/galaxy/galaxy-dist/database/files/000/dataset_23.dat /home/galaxy/galaxy-dist/database/files/000/dataset_20.dat output.trsf output.nii.gz galaxy.jobs DEBUG 2012-09-13 10:38:10,334 The tool did not define exit code or stdio handling; checking stderr for success galaxy.jobs DEBUG 2012-09-13 10:38:10,361 finish(): Moved /home/galaxy/galaxy-dist/database/job_working_directory/000/27/output.trsf to /home/galaxy/galaxy-dist/database/files/000/dataset_42.dat as directed by from_work_dir galaxy.jobs DEBUG 2012-09-13 10:38:10,380 finish(): Moved /home/galaxy/galaxy-dist/database/job_working_directory/000/27/output.nii.gz to /home/galaxy/galaxy-dist/database/files/000/dataset_43.dat as directed by from_work_dir galaxy.jobs DEBUG 2012-09-13 10:38:10,609 job 27 ended Is the issue copying *.nii.gz files and *.trsf file into *.dat files? Anyway around this? I've also modified ~/galaxy-dist/lib/galaxy/jobs/__init__.py (line 363) to change shutil.move To shutil.copy2 (same results) Also put in a different output path to copy to. But essentially we have files with size in ~/galaxy-dist/database/job_working_directory/000/id/, but they files are size 0 after the move into ~/galaxy-dist/database/files/000 Thanks Neil