if os.path.isdir(totDirName): # Move to the directory os.chdir(totDirName) print "\t\- Results Folder: {0}".format(totDirName) # Analysis of the initial structures conf = readfiles.readConfFile(totDirName) #ÊConfiguration file upload foodList = range(0,args.lastFluxID+1) # Initial Analysis are turned ON (RAF ANALYSIS) print "\t\t|- LOADING init structures..." rcts = readfiles.loadAllData(totDirName,'_acsreactions.csv') # reaction file upload cats = readfiles.loadAllData(totDirName,'_acscatalysis.csv') #Êcatalysis file upload raf, sccstat, sccg = network.net_analysis_of_static_graphs(fid_initRafRes, fid_initRafResALL, fid_initRafResLIST, tmpDir, conf[9], 1, rcts, cats, foodList, args.maxDim) grf.plotBipartiteGraph(rcts, cats, sccstat[0], newdirAllResults, "completebipartitegraph.net", "completebipartitegraph.png", True, 50, 6) if len(raf[2]) > 0: # Filter graf network rafcats = cats[np.in1d(cats[:,1], raf[3])] rafrcts = rcts[np.in1d(rcts[:,0], raf[2])] grf.plotBipartiteGraph(rafrcts, rafcats, None, newdirAllResults, "bipartiteRAFgraph.net", "bipartiteRAFgraph.png", True, par_font_size=10) grf.plotGraph(sccg, sccstat[0], newdirAllResults, "chemistry_cat_prod_graph.net", "chemistry_cat_prod_graph.png", True, 50, 6) print "\n|- *** ANALYSIS ENDED, see you next time and get life!!!\n" fid_initRafRes.close() fid_initRafResLIST.close() fid_initRafResALL.close()
pars = [0]*35 pars[14]="AB";pars[27]=25;pars[28]=50;pars[29]=50 # ARTIFICIAL CHEMISTRY CREATION ---------- timeNetCreation = time() rcts, cats, speciesList, rcts_no_rev, cats_no_rev = network.create_chemistry(args, originalSpeciesList, pars, rctToCat, totCleavage, totCond, averageConn, args.autocat) timeCreatinVector.append(time()-timeNetCreation) #print timeCreatinVector # Create food list lastSpeciesID = 2**(args.lastFood+1)-2 foodList = range(lastSpeciesID) # TOPOLOGICAL ANALYSIS #print "\t\t|- RAF searching step..." timeAnalysis = time() netouts = network.net_analysis_of_static_graphs(fid_initRafRes, fid_initRafResALL, fid_initRafResLIST, 'tmpDir', prob, averageConn, rcts, cats, foodList, maxlength) timeAnalysisVector.append(time() - timeAnalysis) #print timeAnalysisVector # If RAFs are present, the presence of possible SCCs in RAF is assessed if len(netouts[0][2]) > 0: raffound += 1 rctsRAF = rcts[np.any(rcts[:, 0] == np.expand_dims(netouts[0][2],1), 0), :] scc_in_raf = network.return_scc_in_raf(rctsRAF, netouts[0][0], cats) if scc_in_raf[1] > 0: sccinraffound += 1 if scc_in_raf[2] > 0: self_sccinraffound += 1 if netouts[1][4] > 0: scctotfound += 1 if netouts[1][1] > 0: sccfound += 1 if netouts[1][2] > 0: sccselffound += 1
# Analysis of the initial structures conf = readfiles.readConfFile(totDirName) # Configuration file upload # System type recognition if (conf[6] == 0) & (conf[7] > 0): sysType = _PROTO_ elif (conf[6] > 0) & (conf[7] == 0): sysType = _CSTR_ elif (conf[6] == 0) & (conf[7] == 0): sysType = _CLOSE_ foodList = dm.generateFluxList(totDirName, sysType) # Initial Analysis are turned ON (RAF ANALYSIS) if args.initanal == 1: print " |- LOADING init structures..." rcts = readfiles.loadAllData(totDirName,'_acsreactions.csv') # reaction file upload cats = readfiles.loadAllData(totDirName,'_acscatalysis.csv') # catalysis file upload # REAL RAF COMPUTATION (!!!!!! 1 is average connectivity) network.net_analysis_of_static_graphs(fid_initRafRes, fid_initRafResALL, fid_initRafResLIST, tmpDir, conf[9], 1, rcts, cats, foodList, args.maxDim, debug=args.debug) os.chdir(resDirPath) print " \-Outcomes Folder ", resDirPath # Find the number of generations numberOfGen = len(glob.glob(os.path.join(resDirPath,'times_*'))) # For each generation os.chdir(resDirPath) # Analysis of the dynamics if args.exhaustive | (args.decay > 0): print "\t|- Analysis of the dynamics..." for ngen in range(1,numberOfGen+1): print "\t|-Generation ", ngen strZeros = readfiles.zeroBeforeStrNum(ngen, numberOfGen) # IF CATALYIS