def update_rcParams(): font_path = util.slash( os.getenv('HOME')) + '.fonts/adobe/Adobe_Caslon_Pro_Regular.ttf' prop = font_manager.FontProperties(fname=font_path) rcParams['font.family'] = prop.get_name() #rcParams['font.family'] = 'Adobe Caslon Pro' # cursive, http://matplotlib.org/examples/pylab_examples/fonts_demo.html rcParams[ 'font.serif'] = 'Helvetica' #['Bitstream Vera Sans', 'DejaVu Sans', 'Lucida Grande', 'Verdana', 'Geneva', 'Lucid', 'Arial', 'Helvetica', 'Avant Garde', 'sans-serif'] rcParams['axes.labelsize'] = 16 rcParams['axes.titlesize'] = 20 rcParams['grid.alpha'] = 0.1 rcParams['axes.grid'] = True rcParams['savefig.pad_inches'] = .001 rcParams['grid.color'] = 'grey' rcParams[ 'xtick.color'] = 'black' # ax.tick_params(axis='x', colors='red'). This will set both the tick and ticklabel to this color. To change labels' color, use: for t in ax.xaxis.get_ticklabels(): t.set_color('red') rcParams[ 'xtick.direction'] = 'out' # ax.get_yaxis().set_tick_params(which='both', direction='out') rcParams['xtick.labelsize'] = 12 rcParams['xtick.major.pad'] = 1.0 rcParams['xtick.major.size'] = 6 # how long the tick is rcParams['xtick.major.width'] = 1 rcParams['xtick.minor.pad'] = 1.0 rcParams['xtick.minor.size'] = 2.5 rcParams['xtick.minor.width'] = 0.5 rcParams['xtick.minor.visible'] = False rcParams['ytick.color'] = 'black' # ax.tick_params(axis='x', colors='red') rcParams[ 'ytick.direction'] = 'out' # ax.get_xaxis().set_tick_params(which='both', direction='out') rcParams['ytick.labelsize'] = 12 rcParams['ytick.major.pad'] = 2 rcParams['ytick.major.size'] = 6 rcParams['ytick.major.width'] = 1 rcParams['ytick.minor.pad'] = 2.0 rcParams['ytick.minor.size'] = 2.5 rcParams['ytick.minor.width'] = 0.5 rcParams['ytick.minor.visible'] = False return prop
import os, sys sys.path.insert(0, os.getenv('lib')) import utilv4 as util for root, dirs, files in os.walk(sys.argv[1]): for d in dirs: for r2, ds2, fs2 in os.walk(os.path.join(root, d)): CSVs = [ f.replace('_EXECSTATS', '') for f in fs2 if f.split('.')[-1] == 'csv' ] if len(CSVs) > 1 and d == 'data_points': # we may be in a data_points dir # RN_Bacteria-RegulonDB_RAW_INSTANCES_p100.0_t050.0_V4NU_DPSOLVER_1X_BOTH_REVERSE_alpha0.2.June-18-2017-h17m49s43.csv PTs = [(csv.split('_')[-8], csv.split('_')[-7]) for csv in CSVs] for pt in set(PTs): if PTs.count(pt) > 1: #print ('\n'.join(CSVs)) #sys.exit(1) print( util.slash(os.path.join(root, d)) + '*' + pt[0] + '_' + pt[1] + '*')
source, target = random.SystemRandom().choice( M.edges()) # pick a random edge M.remove_edge(source, target) i = 0 while i < number_of_edges_to_swap: source = random.SystemRandom().choice( M.nodes()) # pick a random source target = random.SystemRandom().choice( M.nodes()) # pick a random target sign = random.SystemRandom().choice( ['+', '-']) # do we wanna randomize the sign? yes if (source, target) not in M.edges(): M.add_edge(source, target, sign=sign) i += 1 savepath = util.slash('/'.join( edge_file.split('/')[0:-1])) + 'RN_' + edge_file.split('/')[-1] writer = open(savepath, 'w') writer.write('source target sign') for source, target in M.edges(): sign = str(M[source][target]['sign']) if sign != '+' and sign != '-': if int(sign) == 1: sign = '+' elif int(sign) == -1: sign = '-' else: print("FATAL: I don't recognize this sign " + str(sign) + '\nExiting....') sys.exit(1)
break Edges = [] for L in Leafs: Edges += adjacents(M, L) # edges Edges = list(set(Edges)) swap(M, Edges, Hubs, quite=quite) writeout(M, savename) ######################################################## ######################################################## if __name__ == '__main__': networks = getCommandLineArgs() analogs = zip([ util.slash('/'.join(n.split('/')[0:-1])) + 'NH_' + n.split('/')[-1] for n in networks ], [ util.slash('/'.join(n.split('/')[0:-1])) + 'NL_' + n.split('/')[-1] for n in networks ]) for (netpath, savename) in zip(networks, analogs): M = init.load_network({ 'network_file': netpath, 'biased': False }, undirected=False, quite=False) stats = {'before': {}, 'after': {}} crunch_stats(M, stats['before'])
import sys, os sys.path.insert(0, os.getenv('lib')) import init, utilv4 as util sys.path.insert(0, util.slash(os.getenv('util'))+'collect_files_by_name_pattern') import collector_by_ANDin_patterns as collect ######################################################################## def getCommandLineArgs(): if len(sys.argv) < 2: sys.stdout.write ("Usage: python3 max_BD.py [/path/to/scratch/dir/]\nExiting..\n") sys.exit() return str(sys.argv[1]) ######################################################################## def print_title(patterns,root_dir): sys.stdout.write("\n inspecting csv files in "+str(root_dir)+" that meet the patterns "+str(patterns)+"\n") sys.stdout.write("\n "+"="*70) sys.stdout.write ("\n | "+"Network"+" "*7+" "*11+"configs"+" "*14+"max(B)".ljust(7,' ')+"max(D)".ljust(7,' ')+' |') sys.stdout.write("\n "+"="*70) sys.stdout.flush() ######################################################################## patterns = ['RAW','INSTANCES', 'p100.0', 't100.0', 'csv'] root_dir = getCommandLineArgs().strip() MATCHES = collect.get_matches(patterns, root_dir) print_title(patterns,root_dir) #$scratches/IntAct/AN_IntAct/v4_alpha0.2/v4eb_minknap_4X_target_scramble/02_raw_instances_simulation/data_points/AN_IntAct_RAW_INSTANCES_p000.1_t005.0_V4EB_MINKNAP_4X_TARGET_SCRAMBLE_alpha0.2.November-08-2016-h06m07s37.csv STAMPS = [] for file_path in MATCHES: if not os.path.isfile(file_path): sys.stdout.write ("\nnot a file, skipping: "+file_path) continue