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
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
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
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
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)
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)
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)