Esempio n. 1
0
    def getEnviron(cls):
        """ Setup the environment variables needed to launch Eman. """
        environ = pwutils.Environ(os.environ)
        pathList = [cls.getHome(d) for d in ['lib', 'bin']]

        if not cls.isNewVersion():
            pathList.append(cls.getHome('extlib', 'site-packages'))

        # This environment variable is used to setup OpenGL (Mesa)
        # library in remote desktops
        if 'REMOTE_MESA_LIB' in os.environ:
            pathList.append(os.environ['REMOTE_MESA_LIB'])

        environ.update({'PATH': cls.getHome('bin')},
                       position=pwutils.Environ.BEGIN)

        environ.update(
            {
                'LD_LIBRARY_PATH': os.pathsep.join(pathList),
                'PYTHONPATH': os.pathsep.join(pathList),
                'SCIPION_MPI_FLAGS': os.environ.get('EMANMPIOPTS', '')
            },
            position=pwutils.Environ.REPLACE)

        if not cls.isNewVersion():
            environ.update({'EMAN_PYTHON': cls.getHome('Python/bin/python')},
                           position=pwutils.Environ.END)
        return environ
Esempio n. 2
0
 def getEnviron(cls):
     """ Return the environ settings to run Gctf program. """
     environ = pwutils.Environ(os.environ)
     # Get Gctf CUDA library path if defined
     cudaLib = cls.getVar(GCTF_CUDA_LIB, pwem.Config.CUDA_LIB)
     environ.addLibrary(cudaLib)
     return environ
Esempio n. 3
0
    def getEnviron(cls, xmippFirst=True):
        """ Create the needed environment for Xmipp programs. """
        environ = pwutils.Environ(os.environ)
        pos = pwutils.Environ.BEGIN if xmippFirst else pwutils.Environ.END

        environ.update({
            'PATH': pwem.Config.CUDA_BIN,
            'LD_LIBRARY_PATH': pwem.Config.CUDA_LIB
        }, position=pwutils.Environ.END)

        if os.path.isfile(getXmippPath('xmippEnv.json')):
            with open(getXmippPath('xmippEnv.json'), 'r') as f:
                compilationEnv = json.load(f)
            environ.update(compilationEnv, position=pos)

        environ.update({
            'PATH': getXmippPath('bin'),
            'LD_LIBRARY_PATH': getXmippPath('lib'),
            'PYTHONPATH': getXmippPath('pylib')
                             }, position=pos)
        environ['XMIPP_HOME'] = getXmippPath()

        # Add path to python lib folder
        environ.addLibrary(Config.getPythonLibFolder())

        return environ
Esempio n. 4
0
    def getEnviron(cls, first=True):
        # environ = pwutils.Environ(os.environ)
        environ = pwutils.Environ()
        pos = pwutils.Environ.BEGIN if first else pwutils.Environ.END
        # add to variable
        if "DISPLAY" in os.environ:
            display = os.environ['DISPLAY']
        else:
            display = ''
        if "HOME" in os.environ:
            home = os.environ['HOME']
        else:
            home = ''

        environ.update(
            {
                'DISPLAY':
                display,
                'HOME':
                home,
                'LIBTBX_BUILD':
                os.path.join(cls.getHome(), 'build'),
                'LIBTBX_OPATH':
                os.environ['PATH'],
                'PATH':
                os.path.join(Plugin.getHome(), 'build', 'bin') + ':/usr/bin:'
                '/bin'
            },
            position=pos)
        return environ
Esempio n. 5
0
 def getEnviron(cls):
     """ Setup the environment variables needed to launch cryoDRGN. """
     environ = pwutils.Environ(os.environ)
     if 'PYTHONPATH' in environ:
         # this is required for python virtual env to work
         del environ['PYTHONPATH']
     return environ
Esempio n. 6
0
def getEnviron():
    """ Setup the environment variables needed to launch Relion. """
    
    environ = pwutils.Environ(os.environ)

    relionHome = os.environ[RELION_HOME]
    
    binPath = join(relionHome, 'bin')
    libPath = join(relionHome, 'lib') + ":" + join(relionHome, 'lib64')
    
    if not binPath in environ['PATH']:
        environ.update({'PATH': binPath,
                        'LD_LIBRARY_PATH': libPath,
                        'SCIPION_MPI_FLAGS': os.environ.get('RELION_MPI_FLAGS', ''),
                        }, position=pwutils.Environ.BEGIN)
    
    # Take Scipion CUDA library path
    cudaLib = environ.getFirst(('RELION_CUDA_LIB', 'CUDA_LIB'))
    environ.addLibrary(cudaLib)

    if 'RELION_MPI_LIB' in os.environ:
        environ.addLibrary(os.environ['RELION_MPI_LIB'])

    if 'RELION_MPI_BIN' in os.environ:
        environ.set('PATH', os.environ['RELION_MPI_BIN'],
                    position=pwutils.Environ.BEGIN)

    return environ
Esempio n. 7
0
 def getTensorFlowEnviron(cls):
     """ Create the needed environment for XmippTomo programs. """
     environ = pwutils.Environ(os.environ)
     environ.update({
         "TF_FORCE_GPU_ALLOW_GROWTH": "'true'"
     }, position=pwutils.Environ.BEGIN)
     return environ
Esempio n. 8
0
    def getEnviron(cls):
        """ Setup the environment variables needed to launch Eman. """
        environ = pwutils.Environ(os.environ)
        environ.update({'PATH': cls.getHome('bin')},
                       position=pwutils.Environ.BEGIN)

        return environ
Esempio n. 9
0
def getEnviron():
    environ = pwutils.Environ(os.environ)
    environ.update({'RCSBROOT': os.path.join(Plugin.getMaxitHome())},
                   position=pwutils.Environ.REPLACE)
    environ.update({'PATH': os.path.join(Plugin.getMaxitHome(), 'bin')},
                   position=pwutils.Environ.BEGIN)
    return environ
Esempio n. 10
0
def getEnviron():
    """ Return the environ settings to run gautomatch programs. """
    environ = pwutils.Environ(os.environ)
    # Take Scipion CUDA library path
    cudaLib = environ.getFirst(('GAUTOMATCH_CUDA_LIB', 'CUDA_LIB'))
    environ.addLibrary(cudaLib)

    return environ
Esempio n. 11
0
    def getEnviron(cls):
        """ Return the environ settings to run Gautomatch programs. """
        environ = pwutils.Environ(os.environ)
        # Get Gautomatch CUDA library path if defined
        cudaLib = cls.getVar(GAUTOMATCH_CUDA_LIB, pwem.Config.CUDA_LIB)
        environ.addLibrary(cudaLib)

        return environ
Esempio n. 12
0
    def getEnviron(cls):
        """ Return the environment to run motioncor2. """
        environ = pwutils.Environ(os.environ)
        # Get motioncor2 CUDA library path if defined
        cudaLib = cls.getVar(MOTIONCOR2_CUDA_LIB, pwem.Config.CUDA_LIB)
        environ.addLibrary(cudaLib)

        return environ
 def getMGLEnviron(cls):
     """ Create the needed environment for MGL Tools programs. """
     environ = pwutils.Environ(os.environ)
     pos = pwutils.Environ.BEGIN
     environ.update({
         'PATH': cls.getMGLPath('bin')
     }, position=pos)
     return environ
Esempio n. 14
0
def getEnviron():
    """ Return the environ settings to run gEMpicker program. """
    environ = pwutils.Environ(os.environ)

    # Take Scipion CUDA library path
    cudaLib = environ.getFirst(('GEMPICKER_CUDA_LIB', 'CUDA_LIB'))
    environ.addLibrary(cudaLib)

    return environ
Esempio n. 15
0
 def getEnviron(cls):
     """ Return the proper environ to launch VMD.
     VMD_HOME variable is read from the ~/.config/scipion.conf file.
     """
     environ = pwutils.Environ(os.environ)
     environ.set('PATH',
                 os.path.join(os.environ['VMD_HOME'], 'bin'),
                 position=pwutils.Environ.BEGIN)
     return environ
Esempio n. 16
0
 def getEnviron(cls):
     environ = pwutils.Environ(os.environ)
     d = {}
     # d['PATH'] = cls.getHome('bin')
     d['PATH'] = cls.getHome('bin')
     if "REMOTE_MESA_LIB" in os.environ:
         d["LD_LIBRARY_PATH"] = os.environ['REMOTE_MESA_LIB']
     environ.update(d, position=pwutils.Environ.BEGIN)
     return environ
Esempio n. 17
0
 def getEnviron(cls):
     """ Setup the environment variables needed to launch sphire. """
     environ = pwutils.Environ(os.environ)
     if 'PYTHONPATH' in environ:
         # this is required for python virtual env to work
         del environ['PYTHONPATH']
     cudaLib = cls.getVar(CRYOLO_CUDA_LIB, pwem.Config.CUDA_LIB)
     environ.addLibrary(cudaLib)
     return environ
Esempio n. 18
0
    def getEnviron(cls):
        """ Setup the environment variables needed to launch resmap. """
        environ = pwutils.Environ(os.environ)
        environ.update({
            'PATH': Plugin.getHome(),
            'LD_LIBRARY_PATH': str.join(cls.getHome(), 'locscalelib')
                               + ":" + cls.getHome(),
        }, position=pwutils.Environ.BEGIN)

        return environ
Esempio n. 19
0
    def getEnviron(cls):
        """ Return the proper environ to launch chimera.
        CHIMERA_HOME variable is read from the ~/.config/scipion.conf file.
        """
        environ = pwutils.Environ(os.environ)
        environ.set('PATH', os.path.join(cls.getHome(), 'bin'),
                    position=pwutils.Environ.BEGIN)

        if "REMOTE_MESA_LIB" in os.environ:
            environ.set('LD_LIBRARY_PATH', os.environ['REMOTE_MESA_LIB'],
                        position=pwutils.Environ.BEGIN)
        return environ
Esempio n. 20
0
    def getEnviron(cls):
        """ Create the needed environment for Spring programs. """
        environ = pwutils.Environ(os.environ)
        pos = pwutils.Environ.BEGIN
        environ.update(
            {
                'PATH':
                Plugin.getHome(),
                'LD_LIBRARY_PATH':
                str.join(cls.getHome(), 'simple') + ':' + cls.getHome(),
            },
            position=pos)

        return environ
Esempio n. 21
0
    def getEnviron(cls, ccpemFirst=True):
        """ Create the needed environment for Xmipp programs. """
        environ = pwutils.Environ(os.environ)
        pos = pwutils.Environ.BEGIN if ccpemFirst else pwutils.Environ.END
        environ.update(
            {
                'PATH': cls.getHome('bin'),
                'CLIB': cls.getHome('lib'),
                'CLIBD': cls.getHome('lib/data'),
                'CLIBDMON': cls.getHome('lib/data/monomers'),
            },
            position=pos)

        return environ
Esempio n. 22
0
    def getMatlabEnviron(cls, *toolPaths):
        """ Return an Environment prepared for launching Matlab
        scripts using the Xmipp binding.
        """
        env = pwutils.Environ(os.environ)
        env.set('PATH', os.environ.get('MATLAB_BINDIR', ''), pwutils.Environ.BEGIN)
        env.set('LD_LIBRARY_PATH', os.environ.get('MATLAB_LIBDIR', ''),
                pwutils.Environ.BEGIN)
        for toolpath in toolPaths:
            env.set('MATLABPATH', toolpath, pwutils.Environ.BEGIN)
        env.set('MATLABPATH', os.path.join(os.environ[XMIPP_HOME],
                                           'libraries', 'bindings', 'matlab'),
                pwutils.Environ.BEGIN)

        return env
Esempio n. 23
0
    def getEnviron(cls):
        """ Return the environ settings to run Simple programs. """
        environ = pwutils.Environ(os.environ)

        SIMPLEBIN = cls.getHome('bin')
        environ.update(
            {
                'SIMPLEBIN': SIMPLEBIN,
                'SIMPLEPATH': cls.getHome(),
                'SIMPLESYS': cls.getHome(),
                'PATH': SIMPLEBIN + os.pathsep + cls.getHome('apps')
            },
            position=pwutils.Environ.BEGIN)

        return environ
Esempio n. 24
0
    def getEnviron(cls):
        """ Return the environ settings to run Simple programs. """
        environ = pwutils.Environ(os.environ)

        SIMPLEBIN = cls.getHome('build/bin')
        SIMPLEPATH = cls.getHome('build')
        PATH = '${' + SIMPLEPATH + '}/scripts:${' + SIMPLEPATH + '}/bin:${PATH}'
        environ.update(
            {
                'SIMPLEBIN': SIMPLEBIN,
                'SIMPLEPATH': SIMPLEPATH,
                'SIMPLESYS': SIMPLEPATH,
                'PATH': PATH,
            },
            position=pwutils.Environ.BEGIN)

        return environ
    def getRelionEnviron(cls):
        """ Setup the environment variables needed to launch Relion. """

        environ = pwutils.Environ(os.environ)
        binPath = cls.__getRelionHome('bin')
        libPath = cls.__getRelionHome('lib') + ":" + cls.__getRelionHome('lib64')

        if not binPath in environ['PATH']:
            environ.update({'PATH': binPath,
                            'LD_LIBRARY_PATH': libPath,
                            'SCIPION_MPI_FLAGS': os.environ.get('RELION_MPI_FLAGS', ''),
                            }, position=pwutils.Environ.BEGIN)

        # Take Scipion CUDA library path
        cudaLib = environ.getFirst(('RELION_CUDA_LIB', 'CUDA_LIB'))
        environ.addLibrary(cudaLib)

        return environ
Esempio n. 26
0
 def getEnviron(cls, schrodingerFirst=True):
     """ Create the needed environment for Schrodinger programs. """
     environ = pwutils.Environ(os.environ)
     pos = pwutils.Environ.BEGIN if schrodingerFirst else pwutils.Environ.END
     environ.update(
         {
             'SCHRODINGER':
             cls.getHome(''),
             'PATH':
             cls.getHome(''),
             'LD_LIBRARY_PATH':
             cls.getMMshareDir('lib/Linux-x86_64') + ':' +
             cls.getHome('internal/lib'),
             'PYTHONPATH':
             cls.getSitePackages()
         },
         position=pos)
     return environ
Esempio n. 27
0
    def getEnviron(cls, xmippFirst=True):
        """ Create the needed environment for Xmipp programs. """
        environ = pwutils.Environ(os.environ)
        pos = pwutils.Environ.BEGIN if xmippFirst else pwutils.Environ.END
        environ.update(
            {
                'PATH': getXmippPath('bin'),
                'LD_LIBRARY_PATH': getXmippPath('lib'),
                'PYTHONPATH': getXmippPath('pylib')
            },
            position=pos)

        # environ variables are strings not booleans
        if os.environ.get('CUDA', 'False') != 'False':
            environ.update(
                {
                    'PATH': os.environ.get('CUDA_BIN', ''),
                    'LD_LIBRARY_PATH': os.environ.get('NVCC_LIBDIR', '')
                },
                position=pos)

        return environ
Esempio n. 28
0
    def getEnviron(cls):
        """ Setup the environment variables needed to launch Eman. """
        environ = pwutils.Environ(os.environ)
        pathList = [cls.getHome(d) for d in ['lib', 'bin']]

        # This environment variable is used to setup OpenGL (Mesa)
        # library in remote desktops
        if 'REMOTE_MESA_LIB' in os.environ:
            pathList.append(os.environ['REMOTE_MESA_LIB'])

        environ.update({'PATH': cls.getHome('bin')},
                       position=pwutils.Environ.BEGIN)

        environ.update(
            {
                'LD_LIBRARY_PATH': os.pathsep.join(pathList),
                'PYTHONPATH': os.pathsep.join(pathList),
                'SCIPION_MPI_FLAGS': os.environ.get('EMANMPIOPTS', ''),
                'TF_FORCE_GPU_ALLOW_GROWTH': 'true'
            },
            position=pwutils.Environ.REPLACE)

        return environ
Esempio n. 29
0
    def getEnviron(cls, first=True):
        def deleteEnv(name):
            if name in os.environ:
                os.environ.pop(name)

        environ = pwutils.Environ(os.environ)
        #environ = pwutils.Environ()
        # pos = pwutils.Environ.BEGIN if ccp4First else pwutils.Environ.END
        _ccp4_home = cls.getHome()
        _ccp4_master, _dir = os.path.split(_ccp4_home)
        _username = getpass.getuser()

        deleteEnv("CCP4_MASTER")

        environ.update({
            'PATH': Plugin.getHome(),
            'LD_LIBRARY_PATH': str.join(cls.getHome(), 'lib')
                               + ":" + cls.getHome(),
        }, position=pwutils.Environ.BEGIN)  # add to variable

        environ.update({
            # # CCP4_MASTER is the location of the top-level directory
            # # containing ccp4-N.N.N.
            # export CCP4_MASTER=/home/roberto
            # export CCP4=$CCP4_MASTER/ccp4-6.5
            # alias xtal='pushd $CCP4_MASTER>/dev/null'
            'CCP4_MASTER': _ccp4_master,
            # alias ccp4='pushd $CCP4>/dev/null'
            'CCP4': _ccp4_home,
            # # CCP4_SCR: a per-user directory for run-time-generated scratch
            # # files.
            # export CCP4_SCR=/tmp/`whoami`
            'CCP4_SCR': os.path.join("/tmp", _username),
            # # This variable is set to ensure that the logfile output from programs
            # # compiled with Gfortran is in the correct order.
            # export GFORTRAN_UNBUFFERED_PRECONNECTED=Y
            'GFORTRAN_UNBUFFERED_PRECONNECTED': "Y",
            # # CBIN: location of the executables -- must be on your path
            # # (see below)
            # export CBIN=$CCP4/bin
            # alias cbin='pushd $CBIN>/dev/null'
            'CBIN': os.path.join(_ccp4_home, 'bin'),
            # # CLIB: location of (binary) library files such as libccp4.a
            # # and libccp4.so
            # export CLIB=$CCP4/lib
            # alias clib='pushd $CLIB>/dev/null'
            'CLIB': os.path.join(_ccp4_home, 'lib'),
            # # CLIBD: platform-independent data files
            # export CLIBD=$CCP4/lib/data
            # alias clibd='pushd $CLIBD>/dev/null'
            'CLIBD': os.path.join(_ccp4_home, 'lib', 'data'),
            # # CETC: executable scripts (NOT configuration files)
            # export CETC=$CCP4/etc
            # alias cetc='pushd $CETC>/dev/null'
            'CETC': os.path.join(_ccp4_home, 'etc'),
            # # CINCL: headers and two *.def files for handling
            # # "logical names" in CCP4
            # export CINCL=$CCP4/include
            # alias cincl='pushd $CINCL>/dev/null'
            'CINCL': os.path.join(_ccp4_home, 'include'),
            # # CHTML: html documentation
            # export CHTML=$CCP4/html
            # alias chtml='pushd $CHTML>/dev/null'
            'CHTML': os.path.join(_ccp4_home, 'html'),
            # # CEXAM: examples and some tests
            # export CEXAM=$CCP4/examples
            # alias cexam='pushd $CEXAM>/dev/null'
            'CEXAM': os.path.join(_ccp4_home, 'examples'),
            # # CCP4I_TOP: the top directory of the interface
            # export CCP4I_TOP=$CCP4/share/ccp4i
            # # source code directories
            # #export CLIBS=$CCP4/lib/libccp4
            # #alias clibs='pushd $CLIBS>/dev/null'
            # #export CPROG=$CCP4/src
            # #alias cprog='pushd $CPROG>/dev/null'
            'CCP4I_TOP': os.path.join(_ccp4_home, 'share', 'ccp4i'),
            # # MMCIFDIC: platform-dependent (not in $CLIBD) data file for
            # # the ccif library
            # export MMCIFDIC=$CLIB/ccp4/cif_mmdic.lib
            'MMCIFDIC': os.path.join(_ccp4_home, 'lib', 'cif_mmdic.lib'),
            # # CLIBD_MON: dictionary files for REFMAC5 (keep trailing /)
            # export CLIBD_MON=$CCP4/lib/data/monomers/
            'CLIBD_MON': os.path.join(_ccp4_home, 'lib', 'data', 'monomers'),
            # # CRANK: location of Crank automation suite within ccp4i
            # export CRANK=$CCP4I_TOP/crank
            'CRANK': os.path.join(_ccp4_home, 'crank'),
            # # CCP4_HELPDIR: location of the VMS-style help file used
            # # by (ip)mosflm
            # export CCP4_HELPDIR=$CCP4/help/            # NB trailing /
            'CCP4_HELPDIR': os.path.join(_ccp4_home, 'help'),
        }, position=pwutils.Environ.REPLACE)  # replace

        return environ