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