示例#1
0
 def __init__(self, configpath):
     with open(configpath, 'r') as f:
         self.config = yaml.load(f.read())
     try:
         self.nfsim = NFSim(
             os.path.join(self.config['libpath'], 'libnfsim_c.so'))
     except OSError:
         print("Cannot open libnfsim_c.so. Please check libpath in "
               "mcellr.yaml")
         sys.exit(0)
示例#2
0
    def __init__(self, configpath):
        self.config = {}
        self.config['bionetgen'] = os.path.join(configpath, 'bng2', 'BNG2.pl')
        self.config['mcell'] = os.path.join(configpath, 'mcell')
        self.config['libpath'] = os.path.join(configpath, 'lib')
        self.config['scriptpath'] = configpath
        prefix = "lib"
        if (sys.platform == 'linux') or (sys.platform == 'linux2'):
            extension = "so"
        elif (sys.platform == 'darwin'):
            extension = "dylib"
        elif (sys.platform == 'win32'):
            extension = "dll"
        else:
            raise Exception("Unexpected platform: {0}".format(sys.platform))

        libNFsim_path = os.path.join(self.config['libpath'],
                                     '{0}NFsim.{1}'.format(prefix, extension))
        libnfsim_c_path = os.path.join(
            self.config['libpath'], '{0}nfsim_c.{1}'.format(prefix, extension))

        if not os.path.exists(libNFsim_path):
            # try the build directory paths
            libNFsim_path = os.path.join(
                self.config['libpath'], '..', 'nfsim',
                '{0}NFsim.{1}'.format(prefix, extension))

        if not os.path.exists(libnfsim_c_path):
            # try the cygwin variant
            libnfsim_c_path = os.path.join(
                self.config['libpath'], '..', 'nfsimCInterface',
                '{0}nfsim_c.{1}'.format(prefix, extension))

        if not os.path.exists(libNFsim_path):
            # default to system search using LD_LIBRARY_PATH on Unix or PATH on Windows
            libNFsim_path = '{0}NFsim.{1}'.format(prefix, extension)

        if not os.path.exists(libnfsim_c_path):
            # default to system search
            libnfsim_c_path = '{0}nfsim_c.{1}'.format(prefix, extension)

        print("Loading libs from " + libNFsim_path + " and " +
              libnfsim_c_path + ".")

        self.nfsim = NFSim(libnfsim_c_path, libNFsim_path=libNFsim_path)