commit/galaxy-central: jmchilton: Bug Fix: Task splitting was not working with from_work_dir outputs.
1 new commit in galaxy-central: https://bitbucket.org/galaxy/galaxy-central/commits/3dd4b4a9221c/ Changeset: 3dd4b4a9221c User: jmchilton Date: 2013-04-14 22:45:35 Summary: Bug Fix: Task splitting was not working with from_work_dir outputs. Affected #: 2 files diff -r c5f0d2d91b564914bad47b1da1b891d0952d6c2a -r 3dd4b4a9221c8a839ad80f61cade10ac6480192b lib/galaxy/jobs/__init__.py --- a/lib/galaxy/jobs/__init__.py +++ b/lib/galaxy/jobs/__init__.py @@ -1470,6 +1470,14 @@ self.__galaxy_system_pwent = pwd.getpwuid(os.getuid()) return self.__galaxy_system_pwent + def get_output_destination( self, output_path ): + """ + Destination for outputs marked as from_work_dir. This is the normal case, + just copy these files directly to the ulimate destination. + """ + return output_path + + class TaskWrapper(JobWrapper): """ Extension of JobWrapper intended for running tasks. @@ -1691,6 +1699,15 @@ # There is no metadata setting for tasks. This is handled after the merge, at the job level. return "" + def get_output_destination( self, output_path ): + """ + Destination for outputs marked as from_work_dir. These must be copied with + the same basenme as the path for the ultimate output destination. This is + required in the task case so they can be merged. + """ + return os.path.join( self.working_directory, os.path.basename( output_path ) ) + + class NoopQueue( object ): """ Implements the JobQueue / JobStopQueue interface but does nothing diff -r c5f0d2d91b564914bad47b1da1b891d0952d6c2a -r 3dd4b4a9221c8a839ad80f61cade10ac6480192b lib/galaxy/jobs/runners/__init__.py --- a/lib/galaxy/jobs/runners/__init__.py +++ b/lib/galaxy/jobs/runners/__init__.py @@ -226,7 +226,7 @@ # Copy from working dir to HDA. # TODO: move instead of copy to save time? source_file = os.path.join( os.path.abspath( job_wrapper.working_directory ), hda_tool_output.from_work_dir ) - destination = output_paths[ dataset.dataset_id ] + destination = job_wrapper.get_output_destination( output_paths[ dataset.dataset_id ] ) if in_directory( source_file, job_wrapper.working_directory ): output_pairs.append( ( source_file, destination ) ) log.debug( "Copying %s to %s as directed by from_work_dir" % ( source_file, destination ) ) Repository URL: https://bitbucket.org/galaxy/galaxy-central/ -- This is a commit notification from bitbucket.org. You are receiving this because you have the service enabled, addressing the recipient of this email.
participants (1)
-
commits-noreply@bitbucket.org