def driveSelector(DRIVE, TYPE): # Split Drive ############################################################# if DRIVE == 'SD': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary( ["WA", "H", "R", "B", "C", "WB"], gsd.SD_ECO) yRange = 12500 * 2 colors = COLEN elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(["H*", "O-", "Total"], gsd.SD_HLT) yRange = 12500 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(["C*", "O-", "Total"], gsd.SD_TRS) yRange = 12500 colors = COLTN elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(["O-", "W*", "Total"], gsd.SD_WLD) yRange = 12500 colors = COLWN # Return values ########################################################### return {'gDict': aggD, 'yRange': yRange, 'colors': colors}
def driveSelector(DRIVE, HEALTH, pathRoot): if DRIVE == 1: (pathExt, pathO) = ("SplitDrive/2019_10_12_GARBAGE/", 'SD') if HEALTH is True: aggregationDictionary = monet.generateAggregationDictionary( ["H", "Other", "Total"], [[4, 5, 6, 11, 14, 15, 16, 21, 24, 25, 26], [ 0, 1, 2, 3, 7, 8, 9, 10, 12, 13, 17, 18, 19, 20, 22, 23, 27, 28, 29 ], [ 4, 5, 6, 11, 14, 15, 16, 21, 24, 25, 26, 0, 1, 2, 3, 7, 8, 9, 10, 12, 13, 17, 18, 19, 20, 22, 23, 27, 28, 29 ]]) else: aggregationDictionary = monet.generateAggregationDictionary( ["H", "B", "R", "W", "C", "Total"], [[1, 4, 4, 5, 6, 11, 14, 14, 15, 16, 21, 24, 24, 25, 26], [3, 6, 8, 9, 9, 13, 16, 18, 19, 19, 23, 26, 28, 29, 29], [2, 5, 7, 7, 8, 12, 15, 17, 17, 18, 22, 25, 27, 27, 28], [ 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21, 22, 23 ], [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29 ], [ 1, 4, 4, 5, 6, 11, 14, 14, 15, 16, 21, 24, 24, 25, 26, 3, 6, 8, 9, 9, 13, 16, 18, 19, 19, 23, 26, 28, 29, 29, 2, 5, 7, 7, 8, 12, 15, 17, 17, 18, 22, 25, 27, 27, 28, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21, 22, 23, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29 ]]) if HEALTH is True: prepend = "H" else: prepend = "E" if pathRoot != '': pathsRoot = monet.listDirectoriesWithPathWithinAPath(pathRoot + pathExt) else: pathsRoot = '' return [pathsRoot, aggregationDictionary, prepend, pathO]
def driveParameters(TYPE, popSize): if TYPE == 'ECO': aggD = monet.generateAggregationDictionary(*ASD_ECO) yRange = popSize elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(*ASD_HLT) yRange = popSize / 2 elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(*ASD_TRS) yRange = popSize / 2 elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(*ASD_WLD) yRange = popSize return (aggD, yRange, 'autosomal')
def driveParameters(TYPE, popSize): if TYPE == 'ECO': aggD = monet.generateAggregationDictionary(*YXS_ECO) yRange = popSize elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(*YXS_HLT) yRange = popSize / 2 elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(*YXS_TRS) yRange = popSize / 2 elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(*YXS_WLD) yRange = popSize return (aggD, yRange, 'yLinked')
def driveParameters(TYPE, popSize): if TYPE == 'ECO': aggD = monet.generateAggregationDictionary(*CRS_ECO) yRange = popSize elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(*CRS_HLT) yRange = popSize / 4 elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(*CRS_TRS) yRange = popSize elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(*CRS_WLD) yRange = popSize return (aggD, yRange, 'SplitDrive-YG')
def driveParameters(TYPE, popSize): if TYPE == 'ECO': aggD = monet.generateAggregationDictionary(*FMS_ECO) yRange = popSize * 4 elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(*FMS_HLT) yRange = popSize elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(*FMS_TRS) yRange = popSize / 2 elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(*FMS_WLD) yRange = popSize / 2 return (aggD, yRange, 'ifegenia_5')
def driveParameters(TYPE, popSize): if TYPE == 'ECO': aggD = monet.generateAggregationDictionary(*LDR_ECO) yRange = popSize*2 elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(*LDR_HLT) yRange = popSize/2 elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(*LDR_TRS) yRange = popSize/2 elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(*LDR_WLD) yRange = popSize/2 return (aggD, yRange, 'LDR')
def driveSelector(DRIVE): if DRIVE == 1: id = "CLEAVR" aggregationDictionary = monet.generateAggregationDictionary( ["W1", "W2", "H1", "B1", "B2", "R1"], [[0, 6, 12, 0, 1, 2, 6, 7, 8, 12, 13, 14], [0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], [1, 3, 7, 9, 13, 15, 3, 4, 9, 10, 15, 16], [2, 4, 5, 8, 10, 11, 14, 16, 17, 5, 11, 17], [ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 12, 13, 14, 15, 16, 17 ], []]) elif DRIVE == 2: id = "CLEAVRX" aggregationDictionary = monet.generateAggregationDictionary( ["W1", "W2", "H1", "B1", "B2", "R1"], [[0, 6, 12, 18, 21, 24, 0, 1, 2, 6, 7, 8, 12, 13, 14, 18, 21, 24], [ 0, 1, 2, 3, 4, 5, 18, 19, 20, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19, 20, 21, 22, 23 ], [1, 3, 7, 9, 13, 15, 19, 22, 25, 3, 4, 9, 10, 15, 16, 19, 22, 25], [ 2, 4, 5, 8, 10, 11, 14, 16, 17, 20, 23, 26, 5, 11, 17, 20, 23, 26 ], [ 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 26, 12, 13, 14, 15, 16, 17, 24, 25, 26 ], []]) elif DRIVE == 3: id = "CRISPR" aggregationDictionary = monet.generateAggregationDictionary( ["W1", "W2", "H1", "B1", "B2", "R1"], [[0, 1, 2, 3, 0], [], [4, 5, 6, 1, 4], [9, 3, 6, 8, 9], [], [7, 8, 2, 5, 7]]) elif DRIVE == 4: id = "CRISPRX" aggregationDictionary = monet.generateAggregationDictionary( ["W1", "W2", "H1", "B1", "B2", "R1"], [[0, 1, 2, 3, 0, 4], [], [4, 5, 6, 1, 4, 8], [9, 3, 6, 8, 9, 13], [], [7, 8, 2, 5, 7, 11]]) return [id, aggregationDictionary]
def driveSelectorVideo(DRIVE, HEALTH, pathRoot): if DRIVE == 1: (pathExt, pathO) = ("SplitDrive/2019_10_12_GARBAGE/", 'SD') if HEALTH is True: aggregationDictionary = monet.generateAggregationDictionary( ["H", "Other"], [[4, 5, 6, 11, 14, 15, 16, 21, 24, 25, 26], [ 0, 1, 2, 3, 7, 8, 9, 10, 12, 13, 17, 18, 19, 20, 22, 23, 27, 28, 29 ]]) colors = ["#f20060A0", "#b0a9fc00"] else: aggregationDictionary = monet.generateAggregationDictionary( ["H", "B", "R", "W", "C"], [[1, 4, 4, 5, 6, 11, 14, 14, 15, 16, 21, 24, 24, 25, 26], [3, 6, 8, 9, 9, 13, 16, 18, 19, 19, 23, 26, 28, 29, 29], [2, 5, 7, 7, 8, 12, 15, 17, 17, 18, 22, 25, 27, 27, 28], [ 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21, 22, 23 ], [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29 ]]) colors = [ "#09044620", "#f2006020", "#c6d8ff20", "#7692ff20", "#29339b20", "#7fff3a20" ] if HEALTH is True: prepend = "H" else: prepend = "E" if pathRoot != '': pathsRoot = monet.listDirectoriesWithPathWithinAPath(pathRoot + pathExt) else: pathsRoot = '' return [pathsRoot, aggregationDictionary, colors, pathO]
import numpy as np #import temporaryFunctionsDefinitions as tempFun import plotly import plotly.graph_objs as go import plotly.offline as offline offline.init_notebook_mode(connected=True) ############################################################################### # Factorial Experiment Example ############################################################################### dataType = float filename = "2018_10_10_ANALYZED" path = "/Users/sanchez.hmsc/Desktop/" + filename + "/" wildsList = [1, 1, 2, 2, 3, 3, 4, 5, 6, 1, 1, 2, 4, 4, 5, 7, 7, 8] homingList = [4, 5, 6, 7, 7, 8, 8, 9, 9, 2, 3, 3, 5, 6, 6, 8, 9, 9] aggregationDictionary = monet.generateAggregationDictionary( ["W", "H"], [[x - 1 for x in wildsList], [x - 1 for x in homingList]]) ratiosDictionary = {"numerator": [1], "denominator": [0, 1]} ############################################################################### # Export Individual CSVs for Factorial Slots ############################################################################### # Running in single-thread # experimentFolders=fac.listDirectoriesInPath(path) # for folder in experimentFolders: # fac.loadFolderAndWriteFactorialCSV( # folder, # path, # aggregationDictionary, # ratiosDictionary # )
import MoNeT_MGDrivE as monet import numpy as np # ----------------------------------------------------------------------------- # Loading Data # ----------------------------------------------------------------------------- # Define the experiment's path, aggregation dictionary, and read filenames type = float experimentString = "0001" path = "/Users/Biyonka/Desktop/Output/1clustering_analysis/drive_output/eta20001_iter1/ANALYZED/" aggregationDictionary = monet.generateAggregationDictionary( ["W", "H", "R", "B"], [[0, 0, 1, 2, 3], [1, 4, 4, 5, 6], [2, 5, 7, 7, 8], [3, 6, 8, 9, 9]]) filenames = monet.readExperimentFilenames(path + experimentString) # To analyze a single node ................................................... # Load a single node (auxiliary function just for demonstration) nodeIndex = 0 nodeData = monet.loadNodeData(filenames.get("male")[nodeIndex], filenames.get("female")[nodeIndex], dataType=float) # To analyze the sum of the whole landscape .................................. # Sum landscape into one array ("in place" memory-wise) landscapeSumData = monet.sumLandscapePopulationsFromFiles(filenames, male=True, female=True, dataType=float) # Aggregate genotypes (node or landscape) .................................... aggData = monet.aggregateGenotypesInNode(landscapeSumData, aggregationDictionary)
def driveParameters(TYPE, popSize=360000): if TYPE == 'HUM': aggD = monet.generateAggregationDictionary(*HUM_HLT) yRange = popSize return (aggD, yRange, 'HUM')
INT_DICTIONARY = monet.generateAggregationDictionary( ["R1","R2,""R1+R2", "All"], [ [ 13, 13, 14, 14, 18, 18, 19, 19, 32, 32, 33, 33, 37, 37, 38, 38, 50, 50, 51, 51, 55, 55, 56, 56, 64, 64, 65, 65, 66, 66, 67, 68, 69, 69, 70, 70, 71, 71, 72, 73, 80, 80, 81, 81, 82, 82, 83, 84, 85, 85, 86, 86, 87, 87, 88, 89, 98, 98, 99, 99, 103, 103, 104, 104, 112, 112, 113, 113, 117, 117, 118, 118, 125, 125, 126, 126, 130, 130, 131, 131, 134, 134, 135, 135, 136, 136, 137, 138, 139, 139, 140, 140, 141, 141, 142, 143, 145, 145, 146, 146, 147, 147, 148, 149, 150, 150, 151, 151, 152, 152, 153, 154, 158, 159, 163, 164, 167, 168, 172, 173, 175, 176, 180, 181, 184, 185, 186, 190, 191, 192, 198, 199, 202, 203, 205, 206, 223, 223, 224, 224, 228, 228, 229, 229 ], [ 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31, 32, 32, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43, 44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47, 48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 51, 51, 52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, 64, 64, 65, 65, 66, 66, 67, 68, 69, 69, 70, 70, 71, 71, 72, 73, 74, 74, 74, 74, 75, 75, 75, 75, 76, 76, 76, 76, 77, 77, 77, 77, 78, 78, 78, 78, 79, 79, 79, 79, 80, 80, 81, 81, 82, 82, 83, 84, 85, 85, 86, 86, 87, 87, 88, 89, 90, 90, 90, 90, 91, 91, 91, 91, 92, 92, 92, 92, 93, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95, 96, 96, 96, 96, 97, 97, 97, 97, 98, 98, 99, 99, 100, 100, 100, 100, 101, 101, 101, 101, 102, 102, 102, 102, 103, 103, 104, 104, 105, 105, 105, 105, 106, 106, 106, 106, 107, 107, 107, 107, 108, 108, 108, 108, 109, 109, 109, 109, 110, 110, 110, 110, 111, 111, 111, 111, 112, 112, 113, 113, 114, 114, 114, 114, 115, 115, 115, 115, 116, 116, 116, 116, 117, 117, 118, 118, 119, 119, 119, 119, 120, 120, 120, 120, 121, 121, 121, 121, 122, 122, 122, 122, 123, 123, 123, 123, 124, 124, 124, 124, 125, 125, 126, 126, 127, 127, 127, 127, 128, 128, 128, 128, 129, 129, 129, 129, 130, 130, 131, 131, 132, 132, 132, 132, 133, 133, 133, 133, 134, 134, 135, 135, 136, 136, 137, 138, 139, 139, 140, 140, 141, 141, 142, 143, 144, 144, 144, 144, 145, 145, 146, 146, 147, 147, 148, 149, 150, 150, 151, 151, 152, 152, 153, 154, 155, 155, 155, 155, 156, 156, 156, 156, 157, 157, 157, 157, 158, 159, 160, 160, 160, 160, 161, 161, 161, 161, 162, 162, 162, 162, 163, 164, 165, 165, 165, 165, 166, 166, 166, 166, 167, 168, 169, 169, 169, 169, 170, 170, 170, 170, 171, 171, 171, 171, 172, 173, 174, 174, 174, 174, 175, 176, 177, 177, 177, 177, 178, 178, 178, 178, 179, 179, 179, 179, 180, 181, 184, 185, 186, 190, 191, 192, 195, 195, 195, 195, 196, 196, 196, 196, 197, 197, 197, 197, 198, 199, 200, 200, 200, 200, 201, 201, 201, 201, 202, 203, 204, 204, 204, 204, 205, 206, 210, 210, 210, 210, 211, 211, 211, 211, 212, 212, 212, 212, 213, 213, 213, 213, 214, 214, 214, 214, 215, 215, 215, 215, 216, 216, 216, 216, 217, 217, 217, 217, 218, 218, 218, 218, 219, 219, 219, 219, 220, 220, 220, 220, 221, 221, 221, 221, 222, 222, 222, 222, 223, 223, 224, 224, 225, 225, 225, 225, 226, 226, 226, 226, 227, 227, 227, 227, 228, 228, 229, 229 ] ] )
] COLEO = [i[:-2]+'FF' for i in COLEN] COLEM = monet.generateAlphaColorMapFromColorArray(COLEO) ############################################################################### # Gene-Dictionaries ############################################################################### # Linked Drive Replacement ---------------------------------------------------- # 0: WW, 1: WH, 2: WR, 3: WB, 4: HH, # 5: HR, 6: HB, 7: RR, 8: RB, 9: BB drive_LDR = { 'id': 'Replacement', 'folder': 'LDR', 'loc': 1, 'HLT': { 'gDict': monet.generateAggregationDictionary( ["H", "Other", "Total"], [ [1, 4, 5, 6], [0, 2, 3, 7, 8, 9], [1, 4, 5, 6, 0, 2, 3, 7, 8, 9] ] ), 'color': [COLHN, COLHO, COLHM] }, 'ECO': { 'gDict': monet.generateAggregationDictionary( ["H", "B", "R", "W", "Total"], [ [1, 4, 4, 5, 6], [3, 6, 8, 9, 9], [2, 5, 7, 7, 8], [0, 0, 1, 2, 3], [ 0, 0, 1, 1, 2, 2, 3, 3, 4, 4,
############################################################################### # MCR Construct ############################################################################### # ----------------------------------------------------------------------------- # Data Handling # ----------------------------------------------------------------------------- # Define the experiment's path, aggregation dictionary, and read filenames type = float experimentString = "E_095_075_006_015" path = "/Users/sanchez.hmsc/odrive/[email protected]/GMLandscape/ParserDataset/" aggregationDictionary = monet.generateAggregationDictionary( ["W", "H", "R", "B"], [ [0, 0, 1, 2, 3], # Wild [1, 4, 4, 5, 6], # Homing [2, 5, 7, 7, 8], # Resistant [3, 6, 8, 9, 9] # Broken ]) filenames = monet.readExperimentFilenames(path + experimentString) # To analyze a single node ................................................... # Load a single node (auxiliary function just for demonstration) # nodeIndex = 0 # nodeData = monet.loadNodeData( # filenames.get("male")[nodeIndex], # filenames.get("female")[nodeIndex], # dataType=float # ) # To analyze the sum of the whole landscape ..................................
return drive_yShred ############################################################################### # CRISPR ############################################################################### drive_CRISPR = { 'id': 'CRISPR', 'folder': 'CRISPR', 'loc': 1, 'HLT': monet.generateAggregationDictionary( ["H", "Other", "Total"], [[1, 4, 5, 6], [0, 2, 3, 7, 8, 9], [1, 4, 5, 6, 0, 2, 3, 7, 8, 9]]), 'ECO': monet.generateAggregationDictionary( ["H", "B", "R", "W", "Total"], [[1, 4, 4, 5, 6], [3, 6, 8, 9, 9], [2, 5, 7, 7, 8], [0, 0, 1, 2, 3], [1, 4, 4, 5, 6, 3, 6, 8, 9, 9, 2, 5, 7, 7, 8, 0, 0, 1, 2, 3]]) } drive_CRISPRI = { 'id': 'CRISPRI', 'folder': 'CRISPRIdeal', 'loc': 1, 'HLT':
def driveSelector(DRIVE, pathRoot): if DRIVE == 1: pathExt = "CRISPR/" aggregationDictionary = monet.generateAggregationDictionary( ["W", "H", "R", "B", "G"], [ [0, 0, 1, 2, 3], [1, 4, 4, 5, 6], [2, 5, 7, 7, 8], [3, 6, 8, 9, 9], [] ] ) yRange = 11000 if DRIVE == 2: pathExt = "CRISPRX/" aggregationDictionary = monet.generateAggregationDictionary( ["W", "H", "R", "B", "Y"], [ [0, 0, 1, 2, 3, 4, 4, 8, 11, 13], [1, 5, 5, 6, 7, 8], [2, 6, 9, 9, 10, 11], [3, 7, 10, 12, 12, 13], [] ] ) yRange = 11000 if DRIVE == 3: pathExt = "tGD/" aggregationDictionary = monet.generateAggregationDictionary( ["WA+WB", "H", "RA", "RB", "G"], [ [ 0, 5, 10, 15, 90, 95, 100, 155, 160, 195, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 29, 34, 42, 47, 52, 59, 64, 69, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 109, 114, 122, 127, 134, 139, 145, 150, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 169, 177, 184, 190, 195, 196, 197, 198, 199, 0, 1, 2, 3, 4, 20, 21, 22, 23, 24, 27, 29, 32, 34, 37, 39, 40, 41, 42, 43, 45, 47, 48, 50, 52, 53, 55, 57, 58, 59, 64, 69, 74, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 39, 40, 41, 44, 46, 49, 51, 54, 56, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 79, 84, 89 ], [ 1, 6, 11, 16, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 37, 60, 65, 70, 91, 96, 101, 105, 107, 109, 110, 112, 114, 115, 117, 135, 140, 156, 161, 165, 167, 169, 170, 172, 185, 196, 200, 202, 20, 21, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 43, 48, 53, 76, 81, 86, 105, 106, 108, 110, 111, 113, 115, 116, 118, 123, 128, 146, 151, 165, 166, 168, 170, 171, 173, 178, 191, 200, 201, 203, 2, 7, 12, 17, 21, 26, 31, 36, 39, 40, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 61, 66, 71, 92, 97, 102, 106, 111, 116, 119, 120, 122, 123, 124, 125, 127, 128, 129, 130, 136, 141, 157, 162, 166, 171, 174, 175, 177, 178, 179, 180, 186, 197, 201, 204, 205, 39, 41, 44, 46, 49, 51, 54, 56, 77, 82, 87, 119, 121, 124, 126, 129, 131, 147, 152, 174, 176, 179, 181, 192, 204, 206 ], [ 3, 8, 13, 18, 57, 59, 62, 64, 67, 69, 72, 93, 98, 103, 132, 134, 137, 139, 142, 158, 163, 182, 184, 187, 198, 207, 22, 27, 32, 37, 40, 45, 50, 55, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 78, 83, 88, 107, 112, 117, 120, 125, 130, 132, 133, 135, 136, 137, 138, 140, 141, 142, 143, 148, 153, 167, 172, 175, 180, 182, 183, 185, 186, 187, 188, 193, 202, 205, 207, 208, 4, 9, 14, 19, 23, 28, 33, 38, 41, 46, 51, 56, 58, 63, 68, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 94, 99, 104, 108, 113, 118, 121, 126, 131, 133, 138, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 159, 164, 168, 173, 176, 181, 183, 188, 189, 190, 191, 192, 193, 194, 199, 203, 206, 208, 209, 74, 79, 84, 89, 144, 149, 154, 189, 194, 209 ], [ 10, 11, 12, 13, 14, 30, 31, 33, 49, 51, 65, 66, 67, 68, 84, 96, 97, 98, 99, 111, 113, 126, 135, 136, 138, 155, 156, 157, 158, 159, 165, 166, 167, 168, 169, 172, 174, 175, 176, 177, 178, 180, 182, 183, 184, 189, 190, 191, 192, 193, 29, 32, 47, 48, 50, 64, 80, 81, 82, 83, 95, 109, 110, 112, 122, 123, 124, 125, 134, 137, 145, 146, 147, 148, 149, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 179, 181, 182, 183, 185, 186, 187, 188, 189, 194, 15, 16, 17, 18, 19, 35, 36, 38, 54, 56, 70, 71, 72, 73, 89, 100, 101, 102, 103, 104, 115, 116, 118, 129, 131, 140, 141, 142, 143, 154, 160, 161, 162, 163, 164, 170, 171, 173, 179, 181, 185, 186, 187, 188, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 34, 37, 52, 53, 55, 69, 85, 86, 87, 88, 114, 117, 127, 128, 130, 139, 150, 151, 152, 153, 169, 172, 177, 178, 180, 184, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209 ], [ 5, 6, 7, 8, 9, 25, 26, 28, 44, 46, 60, 61, 62, 63, 79, 90, 91, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 112, 114, 117, 119, 120, 121, 122, 123, 124, 125, 127, 128, 130, 132, 133, 134, 137, 139, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 24, 27, 42, 43, 45, 59, 75, 76, 77, 78, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 111, 113, 115, 116, 118, 119, 120, 121, 126, 129, 131, 132, 133, 135, 136, 138, 140, 141, 142, 143, 144, 154 ] ] ) yRange = 11000 if DRIVE == 4: pathExt = "tGDX/" aggregationDictionary = monet.generateAggregationDictionary( ["WA+WB", "H", "RA", "RB", "G"], [ [ 0, 5, 10, 15, 90, 95, 100, 155, 160, 195, 210, 215, 220, 225, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 29, 34, 42, 47, 52, 59, 64, 69, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 109, 114, 122, 127, 134, 139, 145, 150, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 169, 177, 184, 190, 195, 196, 197, 198, 199, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 0, 1, 2, 3, 4, 20, 21, 22, 23, 24, 27, 29, 32, 34, 37, 39, 40, 41, 42, 43, 45, 47, 48, 50, 52, 53, 55, 57, 58, 59, 64, 69, 74, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 210, 211, 212, 213, 214, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 39, 40, 41, 44, 46, 49, 51, 54, 56, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 79, 84, 89, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229 ], [ 1, 6, 11, 16, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 37, 60, 65, 70, 91, 96, 101, 105, 107, 109, 110, 112, 114, 115, 117, 135, 140, 156, 161, 165, 167, 169, 170, 172, 185, 196, 200, 202, 211, 216, 221, 226, 20, 21, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 43, 48, 53, 76, 81, 86, 105, 106, 108, 110, 111, 113, 115, 116, 118, 123, 128, 146, 151, 165, 166, 168, 170, 171, 173, 178, 191, 200, 201, 203, 2, 7, 12, 17, 21, 26, 31, 36, 39, 40, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 61, 66, 71, 92, 97, 102, 106, 111, 116, 119, 120, 122, 123, 124, 125, 127, 128, 129, 130, 136, 141, 157, 162, 166, 171, 174, 175, 177, 178, 179, 180, 186, 197, 201, 204, 205, 212, 217, 222, 227, 39, 41, 44, 46, 49, 51, 54, 56, 77, 82, 87, 119, 121, 124, 126, 129, 131, 147, 152, 174, 176, 179, 181, 192, 204, 206 ], [ 3, 8, 13, 18, 57, 59, 62, 64, 67, 69, 72, 93, 98, 103, 132, 134, 137, 139, 142, 158, 163, 182, 184, 187, 198, 207, 213, 218, 223, 228, 22, 27, 32, 37, 40, 45, 50, 55, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 78, 83, 88, 107, 112, 117, 120, 125, 130, 132, 133, 135, 136, 137, 138, 140, 141, 142, 143, 148, 153, 167, 172, 175, 180, 182, 183, 185, 186, 187, 188, 193, 202, 205, 207, 208, 4, 9, 14, 19, 23, 28, 33, 38, 41, 46, 51, 56, 58, 63, 68, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 94, 99, 104, 108, 113, 118, 121, 126, 131, 133, 138, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 159, 164, 168, 173, 176, 181, 183, 188, 189, 190, 191, 192, 193, 194, 199, 203, 206, 208, 209, 214, 219, 224, 229, 74, 79, 84, 89, 144, 149, 154, 189, 194, 209 ], [ 10, 11, 12, 13, 14, 30, 31, 33, 49, 51, 65, 66, 67, 68, 84, 96, 97, 98, 99, 111, 113, 126, 135, 136, 138, 155, 156, 157, 158, 159, 165, 166, 167, 168, 169, 172, 174, 175, 176, 177, 178, 180, 182, 183, 184, 189, 190, 191, 192, 193, 220, 221, 222, 223, 224, 29, 32, 47, 48, 50, 64, 80, 81, 82, 83, 95, 109, 110, 112, 122, 123, 124, 125, 134, 137, 145, 146, 147, 148, 149, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 179, 181, 182, 183, 185, 186, 187, 188, 189, 194, 15, 16, 17, 18, 19, 35, 36, 38, 54, 56, 70, 71, 72, 73, 89, 100, 101, 102, 103, 104, 115, 116, 118, 129, 131, 140, 141, 142, 143, 154, 160, 161, 162, 163, 164, 170, 171, 173, 179, 181, 185, 186, 187, 188, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 225, 226, 227, 228, 229, 34, 37, 52, 53, 55, 69, 85, 86, 87, 88, 114, 117, 127, 128, 130, 139, 150, 151, 152, 153, 169, 172, 177, 178, 180, 184, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209 ], [ 5, 6, 7, 8, 9, 25, 26, 28, 44, 46, 60, 61, 62, 63, 79, 90, 91, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 112, 114, 117, 119, 120, 121, 122, 123, 124, 125, 127, 128, 130, 132, 133, 134, 137, 139, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 215, 216, 217, 218, 219, 24, 27, 42, 43, 45, 59, 75, 76, 77, 78, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 111, 113, 115, 116, 118, 119, 120, 121, 126, 129, 131, 132, 133, 135, 136, 138, 140, 141, 142, 143, 144, 154 ] ] ) yRange = 11000 if DRIVE == 5: pathExt = "tGDCross/" aggregationDictionary = monet.generateAggregationDictionary( ["WA+WB", "H", "RA", "RB", "G"], [ [ 0, 5, 10, 15, 90, 95, 100, 155, 160, 195, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 29, 34, 42, 47, 52, 59, 64, 69, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 109, 114, 122, 127, 134, 139, 145, 150, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 169, 177, 184, 190, 195, 196, 197, 198, 199, 0, 1, 2, 3, 4, 20, 21, 22, 23, 24, 27, 29, 32, 34, 37, 39, 40, 41, 42, 43, 45, 47, 48, 50, 52, 53, 55, 57, 58, 59, 64, 69, 74, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 39, 40, 41, 44, 46, 49, 51, 54, 56, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 79, 84, 89 ], [ 1, 6, 11, 16, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 37, 60, 65, 70, 91, 96, 101, 105, 107, 109, 110, 112, 114, 115, 117, 135, 140, 156, 161, 165, 167, 169, 170, 172, 185, 196, 200, 202, 20, 21, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 43, 48, 53, 76, 81, 86, 105, 106, 108, 110, 111, 113, 115, 116, 118, 123, 128, 146, 151, 165, 166, 168, 170, 171, 173, 178, 191, 200, 201, 203, 2, 7, 12, 17, 21, 26, 31, 36, 39, 40, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 61, 66, 71, 92, 97, 102, 106, 111, 116, 119, 120, 122, 123, 124, 125, 127, 128, 129, 130, 136, 141, 157, 162, 166, 171, 174, 175, 177, 178, 179, 180, 186, 197, 201, 204, 205, 39, 41, 44, 46, 49, 51, 54, 56, 77, 82, 87, 119, 121, 124, 126, 129, 131, 147, 152, 174, 176, 179, 181, 192, 204, 206 ], [ 3, 8, 13, 18, 57, 59, 62, 64, 67, 69, 72, 93, 98, 103, 132, 134, 137, 139, 142, 158, 163, 182, 184, 187, 198, 207, 22, 27, 32, 37, 40, 45, 50, 55, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 78, 83, 88, 107, 112, 117, 120, 125, 130, 132, 133, 135, 136, 137, 138, 140, 141, 142, 143, 148, 153, 167, 172, 175, 180, 182, 183, 185, 186, 187, 188, 193, 202, 205, 207, 208, 4, 9, 14, 19, 23, 28, 33, 38, 41, 46, 51, 56, 58, 63, 68, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 94, 99, 104, 108, 113, 118, 121, 126, 131, 133, 138, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 159, 164, 168, 173, 176, 181, 183, 188, 189, 190, 191, 192, 193, 194, 199, 203, 206, 208, 209, 74, 79, 84, 89, 144, 149, 154, 189, 194, 209 ], [ 10, 11, 12, 13, 14, 30, 31, 33, 49, 51, 65, 66, 67, 68, 84, 96, 97, 98, 99, 111, 113, 126, 135, 136, 138, 155, 156, 157, 158, 159, 165, 166, 167, 168, 169, 172, 174, 175, 176, 177, 178, 180, 182, 183, 184, 189, 190, 191, 192, 193, 29, 32, 47, 48, 50, 64, 80, 81, 82, 83, 95, 109, 110, 112, 122, 123, 124, 125, 134, 137, 145, 146, 147, 148, 149, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 179, 181, 182, 183, 185, 186, 187, 188, 189, 194, 15, 16, 17, 18, 19, 35, 36, 38, 54, 56, 70, 71, 72, 73, 89, 100, 101, 102, 103, 104, 115, 116, 118, 129, 131, 140, 141, 142, 143, 154, 160, 161, 162, 163, 164, 170, 171, 173, 179, 181, 185, 186, 187, 188, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 34, 37, 52, 53, 55, 69, 85, 86, 87, 88, 114, 117, 127, 128, 130, 139, 150, 151, 152, 153, 169, 172, 177, 178, 180, 184, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209 ], [ 5, 6, 7, 8, 9, 25, 26, 28, 44, 46, 60, 61, 62, 63, 79, 90, 91, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 112, 114, 117, 119, 120, 121, 122, 123, 124, 125, 127, 128, 130, 132, 133, 134, 137, 139, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 24, 27, 42, 43, 45, 59, 75, 76, 77, 78, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 111, 113, 115, 116, 118, 119, 120, 121, 126, 129, 131, 132, 133, 135, 136, 138, 140, 141, 142, 143, 144, 154 ] ] ) yRange = 11000 if DRIVE == 6: pathExt = "tGDXCross/" aggregationDictionary = monet.generateAggregationDictionary( ["WA+WB", "H", "RA", "RB", "G"], [ [ 0, 5, 10, 15, 90, 95, 100, 155, 160, 195, 210, 215, 220, 225, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 24, 29, 34, 42, 47, 52, 59, 64, 69, 75, 80, 85, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 109, 114, 122, 127, 134, 139, 145, 150, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 169, 177, 184, 190, 195, 196, 197, 198, 199, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 0, 1, 2, 3, 4, 20, 21, 22, 23, 24, 27, 29, 32, 34, 37, 39, 40, 41, 42, 43, 45, 47, 48, 50, 52, 53, 55, 57, 58, 59, 64, 69, 74, 75, 76, 77, 78, 80, 81, 82, 83, 85, 86, 87, 88, 210, 211, 212, 213, 214, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 39, 40, 41, 44, 46, 49, 51, 54, 56, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 74, 79, 84, 89, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229 ], [ 1, 6, 11, 16, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 37, 60, 65, 70, 91, 96, 101, 105, 107, 109, 110, 112, 114, 115, 117, 135, 140, 156, 161, 165, 167, 169, 170, 172, 185, 196, 200, 202, 211, 216, 221, 226, 20, 21, 23, 25, 26, 28, 30, 31, 33, 35, 36, 38, 43, 48, 53, 76, 81, 86, 105, 106, 108, 110, 111, 113, 115, 116, 118, 123, 128, 146, 151, 165, 166, 168, 170, 171, 173, 178, 191, 200, 201, 203, 2, 7, 12, 17, 21, 26, 31, 36, 39, 40, 42, 43, 44, 45, 47, 48, 49, 50, 52, 53, 54, 55, 61, 66, 71, 92, 97, 102, 106, 111, 116, 119, 120, 122, 123, 124, 125, 127, 128, 129, 130, 136, 141, 157, 162, 166, 171, 174, 175, 177, 178, 179, 180, 186, 197, 201, 204, 205, 212, 217, 222, 227, 39, 41, 44, 46, 49, 51, 54, 56, 77, 82, 87, 119, 121, 124, 126, 129, 131, 147, 152, 174, 176, 179, 181, 192, 204, 206 ], [ 3, 8, 13, 18, 57, 59, 62, 64, 67, 69, 72, 93, 98, 103, 132, 134, 137, 139, 142, 158, 163, 182, 184, 187, 198, 207, 213, 218, 223, 228, 22, 27, 32, 37, 40, 45, 50, 55, 57, 58, 60, 61, 62, 63, 65, 66, 67, 68, 70, 71, 72, 73, 78, 83, 88, 107, 112, 117, 120, 125, 130, 132, 133, 135, 136, 137, 138, 140, 141, 142, 143, 148, 153, 167, 172, 175, 180, 182, 183, 185, 186, 187, 188, 193, 202, 205, 207, 208, 4, 9, 14, 19, 23, 28, 33, 38, 41, 46, 51, 56, 58, 63, 68, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 94, 99, 104, 108, 113, 118, 121, 126, 131, 133, 138, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 159, 164, 168, 173, 176, 181, 183, 188, 189, 190, 191, 192, 193, 194, 199, 203, 206, 208, 209, 214, 219, 224, 229, 74, 79, 84, 89, 144, 149, 154, 189, 194, 209 ], [ 10, 11, 12, 13, 14, 30, 31, 33, 49, 51, 65, 66, 67, 68, 84, 96, 97, 98, 99, 111, 113, 126, 135, 136, 138, 155, 156, 157, 158, 159, 165, 166, 167, 168, 169, 172, 174, 175, 176, 177, 178, 180, 182, 183, 184, 189, 190, 191, 192, 193, 220, 221, 222, 223, 224, 29, 32, 47, 48, 50, 64, 80, 81, 82, 83, 95, 109, 110, 112, 122, 123, 124, 125, 134, 137, 145, 146, 147, 148, 149, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 170, 171, 173, 174, 175, 176, 179, 181, 182, 183, 185, 186, 187, 188, 189, 194, 15, 16, 17, 18, 19, 35, 36, 38, 54, 56, 70, 71, 72, 73, 89, 100, 101, 102, 103, 104, 115, 116, 118, 129, 131, 140, 141, 142, 143, 154, 160, 161, 162, 163, 164, 170, 171, 173, 179, 181, 185, 186, 187, 188, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 225, 226, 227, 228, 229, 34, 37, 52, 53, 55, 69, 85, 86, 87, 88, 114, 117, 127, 128, 130, 139, 150, 151, 152, 153, 169, 172, 177, 178, 180, 184, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209 ], [ 5, 6, 7, 8, 9, 25, 26, 28, 44, 46, 60, 61, 62, 63, 79, 90, 91, 92, 93, 94, 95, 105, 106, 107, 108, 109, 110, 112, 114, 117, 119, 120, 121, 122, 123, 124, 125, 127, 128, 130, 132, 133, 134, 137, 139, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 215, 216, 217, 218, 219, 24, 27, 42, 43, 45, 59, 75, 76, 77, 78, 90, 91, 92, 93, 94, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 111, 113, 115, 116, 118, 119, 120, 121, 126, 129, 131, 132, 133, 135, 136, 138, 140, 141, 142, 143, 144, 154 ] ] ) yRange = 11000 return [pathExt, aggregationDictionary, yRange]
(SUM, AGG, SPA, REP, SRP) = (True, False, False, True, False) (PT_ROT, PT_PRE, PT_OUT, PT_IMG, PT_MTR) = aux.selectPath(USR) (expDirsMean, expDirsTrac) = aux.getExpPaths(PT_ROT) ############################################################################### # Genotypes ############################################################################### # Health ---------------------------------------------------------------------- genes = ('WW', 'WH', 'WR', 'WB', 'HH', 'HR', 'HB', 'RR', 'RB', 'BB') locs = { 'H': (('H', (0, 1)), ), 'O': (('W', (0, 1)), ('R', (0, 1)), ('B', (0, 1))) } hset = set(aux.aggregateGeneAppearances(genes, locs['H'])) oset = set(aux.aggregateGeneAppearances(genes, locs['O'])) healthSet = (hset, oset - hset, oset | hset) HLT = monet.generateAggregationDictionary(["H", "W", "Total"], [list(i) for i in healthSet]) # Ecology --------------------------------------------------------------------- locsE = { 'H': (('H', (0, 1)), ), 'W': (('W', (0, 1)), ), 'R': (('R', (0, 1)), ), 'B': (('B', (0, 1)), ) } hlst = aux.aggregateGeneAppearances(genes, locsE['H']) wlst = aux.aggregateGeneAppearances(genes, locsE['W']) rlst = aux.aggregateGeneAppearances(genes, locsE['R']) blst = aux.aggregateGeneAppearances(genes, locsE['B']) ECO = monet.generateAggregationDictionary(["H", "W", "R", "B"], [hlst, wlst, rlst, blst]) ############################################################################### # Load folders
def driveSelector(DRIVE, TYPE): # Linked Drive -########################################################### # aggD = 0 # yRange = 0 # colors = 0 if DRIVE == 'linkedDrive': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary( ["W", "H", "R", "B"], gld.LD_ECO ) yRange = 11000 colors = COLEN elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary( ["H*", "O-", "Total"], gld.LD_HLT ) yRange = 11000/2 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary( ["H*", "O-", "Total"], gld.LD_HLT ) yRange = 11000/2 colors = COLTN # Split Drive ############################################################# if DRIVE == 'splitDrive': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary( ["WA", "H", "R", "B", "C", "WB"], gsd.SD_ECO ) yRange = 11000 colors = COLEN elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary( ["H*", "O-", "Total"], gsd.SD_HLT ) yRange = 11000/2 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary( ["C*", "O-", "Total"], gsd.SD_TRS ) yRange = 11000/2 colors = COLTN # tGD Drive ############################################################### if DRIVE == 'tGD': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary( ["WA", "H", "RA", "RB", "G", "WB"], gtgd.TGD_ECO ) yRange = 11000 colors = COLEN elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary( ["H*", "O-", "Total"], gtgd.TGD_HLT ) yRange = 11000/2 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary( ["G*", "O-", "Total"], gtgd.TGD_TRS ) yRange = 11000/2 colors = COLTN # Return values ########################################################### return {'gDict': aggD, 'yRange': yRange, 'colors': colors}
############################################################################## # Notes ############################################################################## STACK = False TRACES = True FACTORIAL = False nameExp = "" pathRoot = "/Volumes/marshallShare/pgSIT/" pathExperiments = "CRISPR_SIT/" pathPlots = pathRoot + "images/" ############################################################################## RELEASE_DAY = 25 colors = ["#f20060", "#29339b", "#c6d8ff", "#7fff3a", "#7692ff", "#29339b"] cmaps = monet.generateAlphaColorMapFromColorArray(colors) aggregationDictionary = monet.generateAggregationDictionary( ["W", "R"], [[0, 0, 1], [1, 2, 2]]) styleS = { "width": 0, "alpha": .9, "dpi": 1024, "legend": False, "aspect": .00175, "colors": colors, "xRange": [0, 600], "yRange": [0, 8 * 11000] } styleT = { "width": .075, "alpha": .1, "dpi": 1024, "legend": False,
def driveParameters(TYPE, popSize=750): if TYPE == 'INC': aggD = monet.generateAggregationDictionary(*HUM_INC) yRange = popSize return (aggD, yRange, 'INC')
# dependent variables for styling ############################################################################## if EXP == 0: pathRoot = '/Volumes/marshallShare/ThresholdResub/factorialSweep/GV/Wolbachia_1_05/ANALYZED/' style['yRange'] = [0, 125000] (probeRatios, expHead) = ([.49, .66, .68, .79, .81, .9], 'E_04_05_0010_') else: pathRoot = '/Volumes/marshallShare/ThresholdResub/factorialSweep/YK/Wolbachia_1_05/ANALYZED/' style['yRange'] = [0, 40000] (probeRatios, expHead) = ([.76, .88, .98], 'E_02_05_0010_') style['aspect'] = .2 * (style['xRange'][1] / style['yRange'][1]) ############################################################################## # Drive variables for aggregation and steady-state calculations ############################################################################## firstRelease = 20 aggregationDictionary = monet.generateAggregationDictionary(['W', 'H'], [[1], [0]]) ############################################################################## # Loops through experiment folders ############################################################################## for i in range(0, 1050, 50): experimentString = expHead + str(i).rjust(4, '0') expsPath = pathRoot + experimentString + '/' print(expsPath) ########################################################################### # Stacked population plots (sums the whole landscape into a single # population count over time) ########################################################################### if STACK: # Parses the paths of all CSV files starting with 'F_' and/or 'M_' filenames = monet.readExperimentFilenames(expsPath) # Loads all the files provided and sums them into one array of dims:
def driveSelector(DRIVE, TYPE): # Linked Drive -########################################################### if DRIVE == 'linkedDrive': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary(["W", "H", "R", "B"], gld.LD_ECO) yRange = 11000 * 2 colors = COLEN elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(["H*", "O-", "Total"], gld.LD_HLT) yRange = 11000 / 2 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(["H*", "O-", "Total"], gld.LD_TRS) yRange = 11000 colors = COLTN elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(["O-", "W*", "Total"], gld.LD_WLD) yRange = 11000 colors = COLWN elif TYPE == 'CST': aggD = monet.generateAggregationDictionary(["O-", "W*", "Total"], gld.LD_CST) yRange = 11000 colors = COLCN # Split Drive ############################################################# if DRIVE == 'splitDrive': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary( ["WA", "H", "R", "B", "C", "WB"], gsd.SD_ECO) yRange = 11000 * 2 colors = COLEN elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(["H*", "O-", "Total"], gsd.SD_HLT) yRange = 11000 / 2 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(["C*", "O-", "Total"], gsd.SD_TRS) yRange = 11000 colors = COLTN elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(["O-", "W*", "Total"], gsd.SD_WLD) yRange = 11000 colors = COLWN elif TYPE == 'CST': aggD = monet.generateAggregationDictionary(["O-", "W*", "Total"], gsd.SD_CST) yRange = 11000 colors = COLCN # tGD Drive ############################################################### if DRIVE == 'tGD': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary( ["WA", "H", "RA", "RB", "G", "WB"], gtgd.TGD_ECO) yRange = 11000 * 2 colors = COLEN elif TYPE == 'CAS': aggD = monet.generateAggregationDictionary( ["W", "H", "R", "B", "Total"], gtgd.TGD_CAS) yRange = 11000 colors = [ '#8338ec1A', '#45d40c1A', '#1888e31A', '#bc10971A', '#0C48871A' ] elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(["H*", "O-", "Total"], gtgd.TGD_HLT) yRange = 11000 / 2 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(["G*", "O-", "Total"], gtgd.TGD_TRS) yRange = 11000 colors = COLTN elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(["O-", "W*", "Total"], gtgd.TGD_WLD) yRange = 11000 colors = COLWN elif TYPE == 'CST': aggD = monet.generateAggregationDictionary(["C", "G", "Total"], gtgd.TGD_CST) yRange = 11000 colors = COLCN # ClvR Drive ############################################################### if DRIVE == 'ClvR': if TYPE == 'ECO': aggD = monet.generateAggregationDictionary( ["WA", "H", "RA", "RB", "G", "WB"], clv.TGD_ECO) yRange = 11000 * 2 colors = COLEN elif TYPE == 'HLT': aggD = monet.generateAggregationDictionary(["H*", "O-", "Total"], clv.TGD_HLT) yRange = 11000 / 2 colors = COLHN elif TYPE == 'TRS': aggD = monet.generateAggregationDictionary(["G*", "O-", "Total"], clv.TGD_TRS) yRange = 11000 colors = COLTN elif TYPE == 'WLD': aggD = monet.generateAggregationDictionary(["O-", "W*", "Total"], clv.TGD_WLD) yRange = 11000 colors = COLWN elif TYPE == 'CST': aggD = monet.generateAggregationDictionary(["C", "G", "Total"], clv.TGD_CST) yRange = 11000 colors = COLCN # Return values ########################################################### return {'gDict': aggD, 'yRange': yRange, 'colors': colors}