The problem is likely your use of the from_work_dir attribute. 

I can see by the logging code that you're using an old(er) version of Galaxy, 
and it's likely that this attribute isn't functioning correctly in your 
instance. We've recently improved the implementation of from_work_dir, and 
you'll need to update your Galaxy instance to get these improvements.

Let us know if you still have problems after updating.

Finally, please direct tool and installation questions to the galaxy-dev 
mailing list rather than the galaxy-user mailing list. The galaxy-user mailing 
list is for tool usage and analysis questions.

Best,
J.

On Sep 13, 2012, at 9:06 PM, <neil.burd...@csiro.au> 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
> ___________________________________________________________
> The Galaxy User list should be used for the discussion of
> Galaxy analysis and other features on the public server
> at usegalaxy.org.  Please keep all replies on the list by
> using "reply all" in your mail client.  For discussion of
> local Galaxy instances and the Galaxy source code, please
> use the Galaxy Development list:
> 
>  http://lists.bx.psu.edu/listinfo/galaxy-dev
> 
> To manage your subscriptions to this and other Galaxy lists,
> please use the interface at:
> 
>  http://lists.bx.psu.edu/

___________________________________________________________
The Galaxy User list should be used for the discussion of
Galaxy analysis and other features on the public server
at usegalaxy.org.  Please keep all replies on the list by
using "reply all" in your mail client.  For discussion of
local Galaxy instances and the Galaxy source code, please
use the Galaxy Development list:

  http://lists.bx.psu.edu/listinfo/galaxy-dev

To manage your subscriptions to this and other Galaxy lists,
please use the interface at:

  http://lists.bx.psu.edu/

Reply via email to