def _write_bash_header(self, script):

        # bash_line = '#PBS -S /bin/bash'
        bash_line = '#!/bin/bash'

        file_utils.wl(script, bash_line)
        file_utils.wl(script, '')
    def _write_bash_header(self, script):

        # bash_line = '#PBS -S /bin/bash'
        bash_line = '#!/bin/bash'

        file_utils.wl(script, bash_line)
        file_utils.wl(script, '')
 def _write_die_function(self, script):
     file_utils.wl(script, 'die()')
     file_utils.wl(script, '{')
     # file_utils.wl(script, '    xnat_workflow_fail ' + str_utils.get_server_name(self.server)
     #               + ' ' + self.username + ' ' + self.password + ' ' + self._workflow_id)
     file_utils.wl(script, '    exit 1')
     file_utils.wl(script, '}')
     file_utils.wl(script, '')
 def _write_die_function(self, script):
     file_utils.wl(script, 'die()')
     file_utils.wl(script, '{')
     # file_utils.wl(script, '    xnat_workflow_fail ' + str_utils.get_server_name(self.server) 
     #               + ' ' + self.username + ' ' + self.password + ' ' + self._workflow_id)
     file_utils.wl(script, '    exit 1')
     file_utils.wl(script, '}')
     file_utils.wl(script, '')
    def _write_env_setup(self, script):

        setup_file = open(self.setup_script, 'r')

        for line in setup_file:
            script.write(line)

        file_utils.wl(script, '')
        setup_file.close()
    def _write_env_setup(self, script):

        setup_file = open(self.setup_script, 'r')

        for line in setup_file:
            script.write(line)

        file_utils.wl(script, '')
        setup_file.close()
    def _write_bedpostx_call(self, script):
        bedpostx_call_line = '${FSLDIR}/bin/bedpostx_gpu.tbb' + ' '
        bedpostx_call_line += self._working_directory_name + os.sep
        bedpostx_call_line += self.subject + os.sep
        bedpostx_call_line += 'T1w' + os.sep + 'Diffusion' + ' '
        bedpostx_call_line += '-n 3 -b 3000 -model 3 -g --rician'

        file_utils.wl(script, 'echo "Calling bedpostx_gpu"')
        file_utils.wl(script, bedpostx_call_line)
        file_utils.wl(script, '')
    def _write_bedpostx_call(self, script):
        bedpostx_call_line = '${FSLDIR}/bin/bedpostx_gpu.tbb' + ' '
        bedpostx_call_line += self._working_directory_name + os.sep 
        bedpostx_call_line += self.subject + os.sep
        bedpostx_call_line += 'T1w' + os.sep + 'Diffusion' + ' '
        bedpostx_call_line += '-n 3 -b 3000 -model 3 -g --rician'

        file_utils.wl(script, 'echo "Calling bedpostx_gpu"')
        file_utils.wl(script, bedpostx_call_line)
        file_utils.wl(script, '')
 def _write_rm_old_starttime_file_section(self, script):
     file_utils.wl(script, 'echo "Create a start time file"')
     file_utils.wl(script, 'start_time_file=' + self._starttime_file_name())
     file_utils.wl(script, 'if [ -e "${start_time_file}" ]; then')
     file_utils.wl(script, '    echo "Removing old ${start_time_file}"')
     file_utils.wl(script, '    rm -f ${start_time_file}')
     file_utils.wl(script, 'fi')
     file_utils.wl(script, '')
 def _write_platform_info_section(self, script):
     file_utils.wl(script, 'echo "----- Platform Information: Begin -----"')
     file_utils.wl(script, 'uname -a')
     file_utils.wl(script, 'echo "----- Platform Information: End -----"')
     file_utils.wl(script, '')
 def _write_host_id_section(self, script):
     file_utils.wl(script, 'echo "Job started on `hostname` at `date`"')
     file_utils.wl(script, '')
 def _write_platform_info_section(self, script):
     file_utils.wl(script, 'echo "----- Platform Information: Begin -----"')
     file_utils.wl(script, 'uname -a')
     file_utils.wl(script, 'echo "----- Platform Information: End -----"')
     file_utils.wl(script, '')
    def _write_doc_header(self, script):

        file_utils.wl(script, '')
        file_utils.wl(
            script, "# Copyright (C) " + str(datetime.datetime.now().year) +
            " The Human Connectome Project")
        file_utils.wl(script, "#")
        file_utils.wl(
            script, "# This file was autogenerated to run the " +
            self.PIPELINE_NAME + " pipeline")
        file_utils.wl(script, "# for subject: " + self.subject)
        file_utils.wl(script, '')
 def _write_starttime_creation_section(self, script):
     file_utils.wl(script, 'echo "Creating start time file: ${start_time_file}"')
     file_utils.wl(script, 'touch ${start_time_file} || die')
     file_utils.wl(script, 'ls -l ${start_time_file}')
     file_utils.wl(script, '')
 def _write_starttime_creation_section(self, script):
     file_utils.wl(script,
                   'echo "Creating start time file: ${start_time_file}"')
     file_utils.wl(script, 'touch ${start_time_file} || die')
     file_utils.wl(script, 'ls -l ${start_time_file}')
     file_utils.wl(script, '')
 def _write_bash_header(self, script):
     bash_line = "#PBS -S /bin/bash"
     file_utils.wl(script, bash_line)
    def _write_doc_header(self, script):

        file_utils.wl(script, '')
        file_utils.wl(script, "# Copyright (C) " + str(datetime.datetime.now().year) + " The Human Connectome Project")
        file_utils.wl(script, "#")
        file_utils.wl(script, "# This file was autogenerated to run the " + self.PIPELINE_NAME + " pipeline")
        file_utils.wl(script, "# for subject: " + self.subject)
        file_utils.wl(script, '')
Exemplo n.º 18
0
    def _create_work_script(self):
        logger.debug(debug_utils.get_name())

        script_name = self._work_script_name()
        with contextlib.suppress(FileNotFoundError):
            os.remove(script_name)

        walltime_limit = str(self.walltime_limit_hours) + ':00:00'
        vmem_limit = str(self.vmem_limit_gbs) + 'gb'

        resources_line = '#PBS -l nodes=1:ppn=1,walltime=' + walltime_limit + ',vmem=' + vmem_limit
        stdout_line = '#PBS -o ' + self._working_directory_name
        stderr_line = '#PBS -e ' + self._working_directory_name

        script_line = self.xnat_pbs_jobs_home + os.sep + self.PIPELINE_NAME + os.sep + self.PIPELINE_NAME + '.XNAT.sh'

        user_line = '  --user='******'  --password='******'  --server=' + str_utils.get_server_name(self.server)
        project_line = '  --project=' + self.project
        subject_line = '  --subject=' + self.subject
        session_line = '  --session=' + self.session
        scan_line = '  --scan=' + self.scan
        wdir_line = '  --working-dir=' + self._working_directory_name
        setup_line = '  --setup-script=' + self.xnat_pbs_jobs_home + os.sep + self.PIPELINE_NAME + os.sep + self.setup_script
        reg_name_line = '  --reg-name=' + self.reg_name

        work_script = open(self._work_script_name(), 'w')

        futils.wl(work_script, resources_line)
        futils.wl(work_script, stdout_line)
        futils.wl(work_script, stderr_line)
        futils.wl(work_script, '')
        futils.wl(work_script, script_line + self._continue)
        futils.wl(work_script, user_line + self._continue)
        futils.wl(work_script, password_line + self._continue)
        futils.wl(work_script, server_line + self._continue)
        futils.wl(work_script, project_line + self._continue)
        futils.wl(work_script, subject_line + self._continue)
        futils.wl(work_script, session_line + self._continue)
        futils.wl(work_script, scan_line + self._continue)
        futils.wl(work_script, wdir_line + self._continue)
        if self.reg_name != 'MSMSulc':
            futils.wl(work_script, reg_name_line + self._continue)
        futils.wl(work_script, setup_line)

        work_script.close()
        os.chmod(self._work_script_name(), stat.S_IRWXU | stat.S_IRWXG)
Exemplo n.º 19
0
    def _create_work_script(self, scan):
        logger.debug("_create_work_script - scan: " + scan)

        with contextlib.suppress(FileNotFoundError):
            os.remove(self._work_script_name(scan))

        walltime_limit = str(self.walltime_limit_hours) + ':00:00'
        vmem_limit = str(self.vmem_limit_gbs) + 'gb'

        resources_line = '#PBS -l nodes=1:ppn=1,walltime=' + walltime_limit
        resources_line += ',vmem=' + vmem_limit

        stdout_line = '#PBS -o ' + self._working_directory_name
        stderr_line = '#PBS -e ' + self._working_directory_name

        script_line = self.xnat_pbs_jobs_home + os.sep + '7T' + os.sep
        script_line += self.PIPELINE_NAME + os.sep + self.PIPELINE_NAME + '.XNAT.sh'

        user_line = '  --user='******'  --password='******'  --server=' + str_utils.get_server_name(self.server)
        project_line = '  --project=' + self.project
        subject_line = '  --subject=' + self.subject
        session_line = '  --session=' + self.session
        ref_proj_line = '  --structural-reference-project=' + self.structural_reference_project
        ref_sess_line = '  --structural-reference-session=' + self.structural_reference_session
        scan_line = '  --scan=' + scan
        wdir_line = '  --working-dir=' + self._working_directory_name
        workflow_line = '  --workflow-id=' + self._workflow_id
        setup_line = '  --setup-script=' + self.setup_script

        work_script = open(self._work_script_name(scan), 'w')

        futils.wl(work_script, resources_line)
        futils.wl(work_script, stdout_line)
        futils.wl(work_script, stderr_line)
        futils.wl(work_script, '')
        futils.wl(work_script, script_line + self._continue)
        futils.wl(work_script, user_line + self._continue)
        futils.wl(work_script, password_line + self._continue)
        futils.wl(work_script, server_line + self._continue)
        futils.wl(work_script, project_line + self._continue)
        futils.wl(work_script, subject_line + self._continue)
        futils.wl(work_script, session_line + self._continue)
        futils.wl(work_script, ref_proj_line + self._continue)
        futils.wl(work_script, ref_sess_line + self._continue)
        futils.wl(work_script, scan_line + self._continue)
        futils.wl(work_script, wdir_line + self._continue)
        futils.wl(work_script, workflow_line + self._continue)
        futils.wl(work_script, setup_line)

        work_script.close()
        os.chmod(self._work_script_name(scan), stat.S_IRWXU | stat.S_IRWXG)
    def _create_post_eddy_script(self):
        _debug("_create_post_eddy_script")

        with contextlib.suppress(FileNotFoundError):
            os.remove(self._post_eddy_script_name)

        walltime_limit = str(self.post_eddy_walltime_limit_hours) + ':00:00'
        vmem_limit = str(self.post_eddy_vmem_limit_gbs) + 'gb'

        resources_line = '#PBS -l nodes=1:ppn=1,walltime=' + walltime_limit
        resources_line += ',vmem=' + vmem_limit

        stdout_line = '#PBS -o ' + self._working_directory_name
        stderr_line = '#PBS -e ' + self._working_directory_name

        script_line = self.xnat_pbs_jobs_home + os.sep + '7T' + os.sep
        script_line += 'DiffusionPreprocessingHCP7T' + os.sep
        script_line += 'DiffusionPreprocessingHCP7T_PostEddy.XNAT.sh'

        user_line = '  --user="******"'
        password_line = '  --password="******"'
        server_line = '  --server="' + str_utils.get_server_name(
            self.server) + '"'
        subject_line = '  --subject="' + self.subject + '"'
        wdir_line = '  --working-dir="' + self._working_directory_name + '"'
        workflow_line = '  --workflow-id="' + self._workflow_id + '"'
        setup_line = '  --setup-script=' + self.setup_script

        post_eddy_script = open(self._post_eddy_script_name, 'w')

        futils.wl(post_eddy_script, resources_line)
        futils.wl(post_eddy_script, stdout_line)
        futils.wl(post_eddy_script, stderr_line)
        futils.wl(post_eddy_script, '')
        futils.wl(post_eddy_script, script_line + self._continue)
        futils.wl(post_eddy_script, user_line + self._continue)
        futils.wl(post_eddy_script, password_line + self._continue)
        futils.wl(post_eddy_script, server_line + self._continue)
        futils.wl(post_eddy_script, subject_line + self._continue)
        futils.wl(post_eddy_script, wdir_line + self._continue)
        futils.wl(post_eddy_script, workflow_line + self._continue)
        futils.wl(post_eddy_script, setup_line)

        post_eddy_script.close()
        os.chmod(self._post_eddy_script_name, stat.S_IRWXU | stat.S_IRWXG)
 def _write_sleep_section(self, script):
     file_utils.wl(script, 'echo "Sleep for 1 minute"')
     file_utils.wl(script, 'sleep 1m || die')
     file_utils.wl(script, '')
 def _write_doc_header(self, script):
     file_utils.wl(
         script, "# Copyright (C) " + str(datetime.datetime.now().year) +
         " The Human Connectome Project")
     file_utils.wl(script, "#")
     file_utils.wl(
         script, "# This file was autogenerated to run the " +
         self.WORK_DESC + " for")
     file_utils.wl(script, "#   subject: " + self.subject)
     file_utils.wl(script, "#   project: " + self.project)
     file_utils.wl(script, "#   session: " + self.session)
     file_utils.wl(script, "")
 def _write_host_id_section(self, script):
     file_utils.wl(script, 'echo "Job started on `hostname` at `date`"')
     file_utils.wl(script, '')
 def _write_rm_old_starttime_file_section(self, script):
     file_utils.wl(script, 'echo "Create a start time file"')
     file_utils.wl(script, 'start_time_file=' + self._starttime_file_name())
     file_utils.wl(script, 'if [ -e "${start_time_file}" ]; then')
     file_utils.wl(script, '    echo "Removing old ${start_time_file}"')
     file_utils.wl(script, '    rm -f ${start_time_file}')
     file_utils.wl(script, 'fi')
     file_utils.wl(script, '')
    def _create_post_eddy_script(self):
        _debug("_create_post_eddy_script")

        with contextlib.suppress(FileNotFoundError):
            os.remove(self._post_eddy_script_name)

        walltime_limit = str(self.post_eddy_walltime_limit_hours) + ':00:00'
        vmem_limit = str(self.post_eddy_vmem_limit_gbs) + 'gb'

        resources_line = '#PBS -l nodes=1:ppn=1,walltime=' + walltime_limit
        resources_line += ',vmem=' + vmem_limit

        stdout_line = '#PBS -o ' + self._working_directory_name
        stderr_line = '#PBS -e ' + self._working_directory_name

        script_line = self.xnat_pbs_jobs_home + os.sep + '7T' + os.sep
        script_line += 'DiffusionPreprocessingHCP7T' + os.sep
        script_line += 'DiffusionPreprocessingHCP7T_PostEddy.XNAT.sh'

        user_line = '  --user="******"'
        password_line = '  --password="******"'
        server_line = '  --server="' + str_utils.get_server_name(self.server) + '"'
        subject_line = '  --subject="' + self.subject + '"'
        wdir_line = '  --working-dir="' + self._working_directory_name + '"'
        workflow_line = '  --workflow-id="' + self._workflow_id + '"'
        setup_line = '  --setup-script=' + self.setup_script

        post_eddy_script = open(self._post_eddy_script_name, 'w')

        futils.wl(post_eddy_script, resources_line)
        futils.wl(post_eddy_script, stdout_line)
        futils.wl(post_eddy_script, stderr_line)
        futils.wl(post_eddy_script, '')
        futils.wl(post_eddy_script, script_line + self._continue)
        futils.wl(post_eddy_script, user_line + self._continue)
        futils.wl(post_eddy_script, password_line + self._continue)
        futils.wl(post_eddy_script, server_line + self._continue)
        futils.wl(post_eddy_script, subject_line + self._continue)
        futils.wl(post_eddy_script, wdir_line + self._continue)
        futils.wl(post_eddy_script, workflow_line + self._continue)
        futils.wl(post_eddy_script, setup_line)

        post_eddy_script.close()
        os.chmod(self._post_eddy_script_name, stat.S_IRWXU | stat.S_IRWXG)
 def _write_sleep_section(self, script):
     file_utils.wl(script, 'echo "Sleep for 1 minute"')
     file_utils.wl(script, 'sleep 1m || die')
     file_utils.wl(script, '')