Exemplo n.º 1
0
def deploy_denoiser(app, setup_dir):
    os.rmdir(app.deploy_dir)
    util.copytree(setup_dir, app.deploy_dir)

    srcName = 'FlowgramAli_4frame_linux_x86_64'
    srcPath = os.path.join(app.deploy_dir, 'FlowgramAlignment')
    srcPath = os.path.join(srcPath, srcName)

    destName = 'FlowgramAli_4frame'
    destPath = os.path.join(app.deploy_dir, 'bin')
    destPath = os.path.join(destPath, destName)

    rc = util.move_file(srcPath, destPath)
    if rc != 0:
        return rc

    update_denoiser_settings(app.deploy_dir)

    baseDir = os.path.join(app.deploy_dir, 'Denoiser')
    files = ['denoiser.py', 'preprocess.py', 'denoise_postprocess.py', \
             'make_cluster_jobs.py']
    for aFile in files:
        filePath = os.path.join(baseDir, aFile)
        rc = util.make_file_user_executable(filePath)
        if rc != 0:
            app.log.error('Problem making %s executable.' % filePath)
    
    return 0
Exemplo n.º 2
0
    def _download(self):
        self.log.info('Downloading %s' % self.name)
        download_release = True
        rc = 1
        if self.deploy_type == 'repository':
            download_release = False

        if download_release:
            rc = util.download_file(self.release_location,
                                    self.tmp_dir,
                                    self.release_file_name)
        else:
            if self.local_repository:
                # Copy local repository into tmp_dir.
                rc = util.copytree(self.repository_location,
                                   os.path.join(self.tmp_dir,
                                                self.repository_local_name))
            else:
                if self.repository_type == 'svn':
                    rc = util.svn_checkout(self.repository_location,
                                           self.tmp_dir,
                                           self.repository_local_name,
                                           self.repository_options)
                elif self.repository_type == 'git':
                    rc = util.git_clone(self.repository_location,
                                        self.tmp_dir,
                                        self.repository_local_name,
                                        self.repository_options)

        return rc
Exemplo n.º 3
0
    def _download(self):
        self.log.info('Downloading %s' % self.name)
        download_release = True
        rc = 1
        if self.deploy_type == 'repository':
            download_release = False

        if download_release:
            rc = util.download_file(self.release_location, self.tmp_dir,
                                    self.release_file_name)
        else:
            if self.local_repository:
                # Copy local repository into tmp_dir.
                rc = util.copytree(
                    self.repository_location,
                    os.path.join(self.tmp_dir, self.repository_local_name))
            else:
                if self.repository_type == 'svn':
                    rc = util.svn_checkout(self.repository_location,
                                           self.tmp_dir,
                                           self.repository_local_name,
                                           self.repository_options)
                elif self.repository_type == 'git':
                    rc = util.git_clone(self.repository_location, self.tmp_dir,
                                        self.repository_local_name,
                                        self.repository_options)

        return rc
Exemplo n.º 4
0
 def _copy_dir(self, setup_dir):
     self.log.debug('Copying %s to final location.' % self.name)
     os.rmdir(self.deploy_dir)
     rc = util.copytree(setup_dir, self.deploy_dir)
     if rc != 0:
         self.log.error('Problem copy directory for %s.' % self.name)
         return 1
     else:
         self.log.info('Successfully copied %s directory.' % self.name)
     return 0
Exemplo n.º 5
0
 def _copy_dir(self, setup_dir):
     self.log.debug('Copying %s to final location.' % self.name)
     os.rmdir(self.deploy_dir)
     rc = util.copytree(setup_dir, self.deploy_dir)
     if rc != 0:
         self.log.error('Problem copy directory for %s.' % self.name)
         return 1
     else:
         self.log.info('Successfully copied %s directory.' % self.name)
     return 0
Exemplo n.º 6
0
def deploy_ampliconnoise(app, setup_dir):
    rc = util.make_install('ampliconnoise', setup_dir)
    if rc != 0:
        return rc

    # Certain versions of AmpliconNoise have a bad symlink that needs to be
    # removed, while other versions do not. We use a try/except structure
    # instead of using os.path.exists() because broken symlinks will return
    # False.
    filePath = os.path.join(setup_dir, 'PyroNoiseM/.#Head10.dat')
    try:
        os.remove(filePath)
    except OSError:
        pass

    os.rmdir(app.deploy_dir)
    return util.copytree(setup_dir, app.deploy_dir)
Exemplo n.º 7
0
def deploy_dotur(app, setup_dir):
    # a hack to fix headers for gcc 4.3+
    richFile = os.path.join(setup_dir, 'richness.h')
    fileH = open(richFile, 'r')
    fileC = fileH.readlines()
    fileH.close()
    fileH = open(richFile, 'w')
    fileH.write('#include <cstdlib>\n')
    for line in fileC:
        fileH.write(line)
    fileH.close()
    otuFile = os.path.join(setup_dir, 'otu.h')
    fileH = open(otuFile, 'r')
    fileC = fileH.readlines()
    fileH.close()
    fileH = open(otuFile, 'w')
    fileH.write('#include <cstdlib>\n#include <algorithm>\n')
    for line in fileC:
        fileH.write(line)
    fileH.close()
    doturFile = os.path.join(setup_dir, 'dotur.C')
    fileH = open(doturFile, 'r')
    fileC = fileH.readlines()
    fileH.close()
    fileH = open(doturFile, 'w')
    fileH.write('#include <cstring>\n')
    for line in fileC:
        fileH.write(line)
    fileH.close()

    srcFile = 'dotur.C'
    srcFile = os.path.join(setup_dir, srcFile)

    if app.exe_name:
        exeFile = app.exe_name
    else:
        exeFile = 'dotur'
    exeFile = os.path.join(setup_dir, exeFile)

    rc = util.compile_cpp_file('dotur', setup_dir, srcFile, exeFile)
    if rc != 0:
        return rc

    os.rmdir(app.deploy_dir)
    return util.copytree(setup_dir, app.deploy_dir)
Exemplo n.º 8
0
def deploy_pyronoise(app, setup_dir):
    srcDir = os.path.join(setup_dir, 'FDist')
    rc = util.make('pyronoise2/FDist', srcDir)
    if rc != 0:
        return rc
    srcDir = os.path.join(setup_dir, 'FastaUnique')
    rc = util.make('pyronoise2/FastaUnique', srcDir)
    if rc != 0:
        return rc
    srcDir = os.path.join(setup_dir, 'NDist')
    rc = util.make('pyronoise2/NDist', srcDir)
    if rc != 0:
        return rc
    srcDir = os.path.join(setup_dir, 'PCluster')
    rc = util.make('pyronoise2/PCluster', srcDir)
    if rc != 0:
        return rc
    srcDir = os.path.join(setup_dir, 'QCluster')
    rc = util.make('pyronoise2/QCluster', srcDir)
    if rc != 0:
        return rc

    os.rmdir(app.deploy_dir)
    return util.copytree(setup_dir, app.deploy_dir)