Question: No Output Produced.....
0
Neil.Burdett@csiro.au • 310 wrote:
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
ADD COMMENT
• link
•
modified 6.2 years ago
by
Jeremy Goecks • 2.2k
•
written
6.2 years ago by
Neil.Burdett@csiro.au • 310