#!/usr/bin/env python import copy import os import subprocess import birchenv ACEENV = copy.copy(os.environ) if not ACEENV.has_key('BIRCH') or not ACEENV.has_key('BIRCH_PLATFORM'): print("ERROR - BIRCH environment not properly set") exit() ACEDB = os.path.join(birchenv.BIRCH, 'labace') BINDIR = os.path.join(ACEDB, 'bin') # Top directory for your lab database ACEENV['ACEDB'] = ACEDB #ACEENV['ACEDB_COMMON'] = ACEDB # Directory to contain the binary database file ACEENV['DBDIR'] = os.path.join(ACEDB, 'database') # Directory for executable code specific for your database # eg. this script ACEENV['BINDIR'] = BINDIR #Choose a WYSIWIG editor for viewing ASCII files. # Xcoral is a nice alternative. However, due to typical shell weirdness, # trying to execute external programs (other than xv, for some reason) #gives getwd errors. So, the fix is to have a shell script in a #fully qualified path, that does what we want. if not ACEENV.has_key('ACE_XEditor'): ACEENV['ACE_XEditor'] = 'dtpad' ACEENV['ACE_EDIT_COMMAND'] = os.path.join(BINDIR, 'acetextedit') #Choose a graphic viewer if not ACEENV.has_key('ACE_Viewer'): ACEENV['ACE_Viewer'] = 'xv' ACEENV['ACE_VIEW_COMMAND'] = os.path.join(BINDIR, 'aceviewer') #Choose a Web browser if not ACEENV.has_key('ACE_Browser'): ACEENV['ACE_Browser'] = 'mozilla' # ACEENV['ACE_Browser', os.path.join('central', 'local', 'netscape7', 'netscape')) ACEENV['ACE_BROWSER_COMMAND'] = os.path.join(BINDIR, 'aceBrowser') #Choose a .pdf viewer if not ACEENV.has_key('ACE_PDF_Viewer'): ACEENV['ACE_PDF_Viewer'] = 'acroread' ACEENV['ACE_PDF_COMMAND'] = os.path.join(BINDIR, 'acePDFviewer') #Choose a GenBank retrieval command if not ACEENV.has_key('ACEFETCH'): ACEENV['ACEFETCH'] = os.path.join(BINDIR, 'acefetch') # Run xace, and call cleanup.csh to make sure all files # have correct group membership and permissions. if ACEENV.has_key('PATH'): ACEENV['PATH'] = BINDIR + os.pathsep + str(ACEENV['PATH']) else: ACEENV['PATH'] = BINDIR print birchenv.BIRCHLIBS if (birchenv.BIRCHLIBS != ''): if ACEENV.has_key('LD_LIBRARY_PATH'): ACEENV['LD_LIBRARY_PATH'] = str(ACEENV['LD_LIBRARY_PATH']) + os.pathsep + birchenv.BIRCHLIBS else: ACEENV['LD_LIBRARY_PATH'] = birchenv.BIRCHLIBS if (birchenv.BIRCH_PLATFORM == 'osx-x86_64'): ACEENV['DYLD_LIBRARY_PATH'] = str(ACEENV['LD_LIBRARY_PATH']) #(xace; $BINDIR/cleanup.csh)& # cleanup.csh will give error messages if run by users who don't # have write permissions for the database directroy. # We should fix this. subprocess.call(['xace'], env=ACEENV) # &