def Main(): while True: usrInput = None if sys.version_info < (3,0): usrInput = raw_input("Input: ").lower() else: usrInput = input("Input: ").lower() if (usrInput == ""): break exp = ParseInput.ParseInput(usrInput) print("--------------") variable = None for var in exp.variables: if var.variable == 'x': variable = var break if variable == None: if len(exp.variables) >0: variable = exp.variables[0] else: variable = Expression.VariableElement('x') print("f("+str(variable)+") = "+ParseInput.blockToStr(exp,"")) derivative = Derivative.differentiate(exp,variable,makeNice=True) print("f'("+str(variable)+") = "+ ParseInput.blockToStr(derivative, ""))
def makeReport(inputFileName, outputDir, projectDir): print '\n Processing input file ' + inputFileName, 'Time:', time.asctime() #try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder, projectDir) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the statistics values and build the charts StatValues.computeValues(subFolder, statData) orgSize = len(statData) if orgSize < 8: print '\nNo graph data!' BuildTex.SimplifyResult(subFolder) else: try: # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) except Exception as e: print e.message # Create PDF if orgSize > 37: BuildTex.insertTables(subFolder, orgSize) BuildTex.splitTables(subFolder, orgSize) BuildTex.CreatePdf(outputDir, subFolder, inputId, inputFileName)
def makeReport(inputFileName, outputDir): print '\n Processing input file ' + inputFileName try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the values StatValues.computeValues(subFolder, statData) # Process the input data to create charts, graphs, Tex and then PDF # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) # Create charts and histograms for the reports BuildCharts.BuildAllCharts(subFolder, statData) # Create PDF BuildTex.CreatePdf(outputDir, subFolder, inputId, inputFileName) except Exception as e: print e.message print 'Creating PDF failed for ', inputId print '\n', '*'*70, '\n', '-'*70, '\n'
def makeReport(inputFileName, outputDir, projectDir): print '\n Processing input file ' + inputFileName, 'Time:', time.asctime() #try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder, projectDir) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the statistics values and build the charts StatValues.computeValues(subFolder, statData) orgSize = len(statData) if orgSize < 8 : print '\nNo graph data!' BuildTex.SimplifyResult(subFolder) else : try : # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) except Exception as e: print e.message # Create PDF if orgSize > 37 : BuildTex.insertTables(subFolder, orgSize) BuildTex.splitTables(subFolder, orgSize) BuildTex.CreatePdf(outputDir, subFolder, inputId, inputFileName)
def computeParticipatedManWomen(subFolder, statData) : values = ParseInput.extractAnswers(statData, [9]) men = values.count('14') women = values.count('15') BuildTexts.addMacro(subFolder, 'nParticipated', str(men+women)) BuildTexts.addMacro(subFolder, 'numMen', str(men)) BuildTexts.addMacro(subFolder, 'numWomen', str(women))
def computeAllBossTeacher(subFolder, statData) : values = ParseInput.extractAnswers(statData, [8]) boss = values.count('201') + values.count('202') teacher = values.count('203') BuildTexts.addMacro(subFolder, 'nTotal', str(len(statData))) BuildTexts.addMacro(subFolder, 'numBoss', str(boss)) BuildTexts.addMacro(subFolder, 'numTeacher', str(teacher))
def differentiate(self, variable): #f = Tools.IsFunction(self.derivative) #if (f!=False): # return p # raise Exception("feels bad") import ParseInput deriv = ParseInput.ParseString(self.derivative) # print("part deriv "+self.name+" has quotientblock before replacing vars: "+str(hasBlockType(deriv))) deriv = replaceBlockWithExpr(deriv, self.dev_variable, variable, ExpressionBlock) #print("part deriv "+self.name+" has quotientblock after replacing vars: "+str(hasBlockType(deriv))) return deriv
def compute22a(subFolder, statData): # aggregate print '\nComputing values for slide 2.2.1.' values = ParseInput.extractAnswers(statData, [28,29,46,47]) values = StatValues.joinLists(values) yesNum = values.count('83') + values.count('84') noNum = values.count('85') + values.count('86') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valBBAyesNumP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valBBAnoNumP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie221.svg', yesNumP, noNumP)
def compute21a(subFolder, statData): # aggregate print '\nComputing values for slide 2.1.1.' values = ParseInput.extractAnswers(statData, [38,39]) values = StatValues.joinLists(values) yesNum = values.count('87') + values.count('88') noNum = values.count('89') + values.count('90') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valBAAyesNumP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valBAAnoNumP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie211.svg', yesNumP, noNumP)
def compute23d(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.4.' values = ParseInput.extractAnswers(statData, [30]) yesNum = values.count('83') + values.count('84') noNum = values.count('85') + values.count('86') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valBCDyesNum', str(yesNum)) BuildTexts.addMacro(subFolder, 'valBCDnoNum', str(noNum)) BuildTexts.addMacro(subFolder, 'valBCDyesNP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valBCDnoNP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie234.svg', yesNumP, noNumP)
def compute31a(subFolder, statData): # aggregate print '\nComputing values for slide 3.1.1.' values = ParseInput.extractAnswers(statData, [43]) yesNum = values.count('103') + values.count('104') noNum = values.count('105') + values.count('106') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valCAAyesNum', str(yesNum)) BuildTexts.addMacro(subFolder, 'valCAAnoNum', str(noNum)) BuildTexts.addMacro(subFolder, 'valCAAyesNP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valCAAnoNP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie311.svg', yesNumP, noNumP)
def compute23b(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.2.' values = ParseInput.extractAnswers(statData, [52]) yesNum = values.count('99') + values.count('100') noNum = values.count('101') + values.count('102') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valBCByesNum', str(yesNum)) BuildTexts.addMacro(subFolder, 'valBCBnoNum', str(noNum)) BuildTexts.addMacro(subFolder, 'valBCByesNP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valBCBnoNP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie232.svg', yesNumP, noNumP)
def compute23a(subFolder, statData): # aggregate print '\nComputing values for slide 2.3.1.' values = ParseInput.extractAnswers(statData, [23]) yesNum = values.count('61') noNum = values.count('62') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valBCAyesNum', str(yesNum)) BuildTexts.addMacro(subFolder, 'valBCAnoNum', str(noNum)) BuildTexts.addMacro(subFolder, 'valBCAyesNP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valBCAnoNP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie231.svg', yesNumP, noNumP)
def compute42c(subFolder, statData): # one question print '\nComputing values for slide 4.2.c.' values = ParseInput.extractAnswers(statData, [54]) yesNum = values.count('87') + values.count('88') noNum = values.count('89') + values.count('90') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valDBCyesNum', str(yesNum)) BuildTexts.addMacro(subFolder, 'valDBCnoNum', str(noNum)) BuildTexts.addMacro(subFolder, 'valDBCyesNP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valDBCnoNP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder,'pie423.svg', yesNumP, noNumP)
def computeEducation(subFolder, statData) : values = ParseInput.extractAnswers(statData, [15]) eduValues = [] for v in values : v = v.replace('{','').replace('}','') eduList = v.split('=') for e in eduList : if len(e) > 1 : eduValues.append(e) keys = [str(i+16) for i in range(7)] eduStat = [eduValues.count(key) for key in keys] print 'Education values:', eduValues, eduStat BuildTexts.addMacrosList(subFolder, 'numEdu', eduStat)
def compute32a(subFolder, statData): # aggregate print '\nComputing values for slide 3.2.1.' values = ParseInput.extractAnswers(statData, [40,41,42]) values = StatValues.joinLists(values) yesNum = values.count('99') + values.count('100') noNum = values.count('101') + values.count('102') [yesNumP, noNumP] = StatValues.percent([yesNum,noNum]) BuildTexts.addMacro(subFolder, 'valCBAyesNum', str(yesNum)) BuildTexts.addMacro(subFolder, 'valCBAnoNum', str(noNum)) BuildTexts.addMacro(subFolder, 'valCBAyesNP', str(yesNumP)) BuildTexts.addMacro(subFolder, 'valCBAnoNP', str(noNumP)) BuildCharts.YesNoPieSVG(subFolder, 'pie321.svg', yesNumP, noNumP)
def compute22b(subFolder, statData): # by age print '\nComputing values for slide 2.2.2.' values = ParseInput.extractAnswers(statData, [14, 28,29,46,47]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('83') + val.count('84') for val in values ] noNum = [ val.count('85') + val.count('86') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBBByesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBBBnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie222a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie222b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie222c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie222d.svg', yesNum[3], noNum[3])
def compute54(subFolder, statData): # by question print '\nComputing values for slide 5.4.' values = ParseInput.extractAnswers(statData, [56,57]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTexts.addMacro(subFolder, 'valGDyesNumA', str(yesNum[0])) BuildTexts.addMacro(subFolder, 'valGDyesNumB', str(yesNum[1])) BuildTexts.addMacro(subFolder, 'valGDnoNumA', str(noNum[0])) BuildTexts.addMacro(subFolder, 'valGDnoNumB', str(noNum[1])) BuildCharts.YesNoPieSVG(subFolder,'pie54a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder,'pie54b.svg', yesNum[1], noNum[1])
def compute22d(subFolder, statData): # by question print '\nComputing values for slide 2.2.4.' values = ParseInput.extractAnswers(statData, [28,29,46,47]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('83') + val.count('84') for val in values ] noNum = [ val.count('85') + val.count('86') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBBDyesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBBDnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie224a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie224b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie224c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie224d.svg', yesNum[3], noNum[3])
def compute21b(subFolder, statData): # by age - q14 print '\nComputing values for slide 2.1.2.' values = ParseInput.extractAnswers(statData, [14, 38,39]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBAByesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBABnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie212a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie212b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie212c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie212d.svg', yesNum[3], noNum[3])
def compute22c(subFolder, statData): # by category - q19 print '\nComputing values for slide 2.2.3.' values = ParseInput.extractAnswers(statData, [19, 28,29,46,47]) values = StatValues.joinListsByCategory(values) yesNum = [ val.count('83') + val.count('84') for val in values ] noNum = [ val.count('85') + val.count('86') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBBCyesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBBCnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie223a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie223b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie223c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie223d.svg', yesNum[3], noNum[3]) BuildCharts.YesNoPieSVG(subFolder, 'pie223e.svg', yesNum[4], noNum[4])
def compute21c(subFolder, statData): # by category - q19 print '\nComputing values for slide 2.1.3.' values = ParseInput.extractAnswers(statData, [19, 38,39]) values = StatValues.joinListsByCategory(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBACyesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBACnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie213a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie213b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie213c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie213d.svg', yesNum[3], noNum[3]) BuildCharts.YesNoPieSVG(subFolder, 'pie213e.svg', yesNum[4], noNum[4])
def compute21d(subFolder, statData): # by question print '\nComputing values for slide 2.1.4.' values = ParseInput.extractAnswers(statData, [35,38,39,50,55]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTexts.addMacrosList(subFolder, 'valBADyesNum', yesNum) BuildTexts.addMacrosList(subFolder, 'valBADnoNum', noNum) BuildCharts.YesNoPieSVG(subFolder, 'pie214a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie214b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie214c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie214d.svg', yesNum[3], noNum[3]) BuildCharts.YesNoPieSVG(subFolder, 'pie214e.svg', yesNum[4], noNum[4])
def compute23c(subFolder, statData): # aggregate (1 question) print '\nComputing values for slide 2.3.3.' values = ParseInput.extractAnswers(statData, [53]) ansA = values.count('120') ansB = values.count('121') ansC = values.count('122') [ansAp, ansBp, ansCp] = StatValues.percent([ansA, ansB, ansC]) BuildTexts.addMacro(subFolder, 'valBCCansA', str(ansA)) BuildTexts.addMacro(subFolder, 'valBCCansB', str(ansB)) BuildTexts.addMacro(subFolder, 'valBCCansC', str(ansC)) BuildTexts.addMacro(subFolder, 'valBCCanAp', str(ansAp)) BuildTexts.addMacro(subFolder, 'valBCCanBp', str(ansBp)) BuildTexts.addMacro(subFolder, 'valBCCanCp', str(ansCp)) BuildCharts.Pie(subFolder, 'pie233.svg', [ansAp, ansBp, ansCp])
def compute32d(subFolder, statData): # by question print '\nComputing values for slide 3.2.4.' values = ParseInput.extractAnswers(statData, [40,41,42]) values = StatValues.joinListsByQuestion(values) yesNum = [ val.count('99') + val.count('100') for val in values ] noNum = [ val.count('101') + val.count('102') for val in values ] BuildTexts.addMacro(subFolder, 'valCBDyesNumA', str(yesNum[0])) BuildTexts.addMacro(subFolder, 'valCBDyesNumB', str(yesNum[1])) BuildTexts.addMacro(subFolder, 'valCBDyesNumC', str(yesNum[2])) BuildTexts.addMacro(subFolder, 'valCBDnoNumA', str(noNum[0])) BuildTexts.addMacro(subFolder, 'valCBDnoNumB', str(noNum[1])) BuildTexts.addMacro(subFolder, 'valCBDnoNumC', str(noNum[2])) BuildCharts.YesNoPieSVG(subFolder, 'pie324a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie324b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie324c.svg', yesNum[2], noNum[2])
def computeWorkHereYears(subFolder, statData): values = ParseInput.extractAnswers(statData, [17]) years = map(StatValues.toNumber, values) print '\nExperience:', values, years [expA, expB, expC, expD] = [0,0,0,0] for y in years : if y<0 : expA = expA elif y < 5 : expA += 1 elif y < 11 : expB += 1 elif y < 21 : expC += 1 elif y>=21 and y<100: expD += 1 res = [expA, expB, expC, expD] BuildTexts.addMacrosList(subFolder, 'numExpHere', res)
def makeReport(inputFileName, outputDir, projectDir): print '\n Processing input file ', inputFileName, 'Time:', time.asctime() #try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder, projectDir) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the statistics values and build the charts # StatValues.computeValues(subFolder, statData) try: # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) except Exception as e: print e.message # get socio numbers fsocio = open(projectDir + '\\socio_table.txt', 'a') ftex = open(subFolder + '\\commands.tex', 'r') data = statData[0].split('\t') schoolInfo = [data[i].split('=')[1] for i in range(7)] fsocio.write(inputId + '\t' + '\t'.join(schoolInfo)) for i1 in range(7): ftex.readline() for line in ftex.readlines(): res = line.split('}') res[0] = res[0].replace('\\newcommand{\\links', '') res[1] = res[1].replace('{', '') print 'Socio numbers', res fsocio.write('\t' + res[1]) fsocio.write('\n') ftex.close() fsocio.close()
def compute42a(subFolder, statData): # one question print '\nComputing values for slide 4.2.a' values = ParseInput.extractAnswers(statData, [37]) ansA = values.count('95') ansB = values.count('96') ansC = values.count('97') ansD = values.count('98') [ansAp, ansBp, ansCp, ansDp] = StatValues.percent([ansA, ansB, ansC, ansD]) BuildTexts.addMacro(subFolder, 'valDBAansAv', str(ansA)) BuildTexts.addMacro(subFolder, 'valDBAansBv', str(ansB)) BuildTexts.addMacro(subFolder, 'valDBAansCv', str(ansC)) BuildTexts.addMacro(subFolder, 'valDBAansDv', str(ansD)) BuildTexts.addMacro(subFolder, 'valDBAansAp', str(ansAp)) BuildTexts.addMacro(subFolder, 'valDBAansBp', str(ansBp)) BuildTexts.addMacro(subFolder, 'valDBAansCp', str(ansCp)) BuildTexts.addMacro(subFolder, 'valDBAansDp', str(ansDp)) BuildCharts.Pie(subFolder,'pie421.svg', [ansAp, ansBp, ansCp, ansDp])
def makeReport(inputFileName, outputDir, projectDir): print '\n Processing input file ', inputFileName, 'Time:', time.asctime() #try : # For each input file create a separate subfolder for all the related files [inputId, subFolder] = CheckFolders.MakeSubfolder(inputFileName, outputDir) # Move the prefilled Tex files into the subfolder BuildTex.MoveFiles(subFolder, projectDir) # Parse the input file [graphData, statData] = ParseInput.dataFromFile(inputFileName, inputId, outputDir, subFolder) # Compute the statistics values and build the charts # StatValues.computeValues(subFolder, statData) try : # Create graphs for the reports graphObject = BuildGraphs.makeGraphObject(graphData) BuildGraphs.BuildAllGraphs(inputId, subFolder, graphObject) except Exception as e: print e.message # get socio numbers fsocio = open (projectDir + '\\socio_table.txt','a') ftex = open(subFolder + '\\commands.tex', 'r') data = statData[0].split('\t') schoolInfo = [data[i].split('=')[1] for i in range(7) ] fsocio.write(inputId + '\t' + '\t'.join(schoolInfo)) for i1 in range(7) : ftex.readline() for line in ftex.readlines() : res = line.split('}') res[0] = res[0].replace('\\newcommand{\\links','') res[1] = res[1].replace('{','') print 'Socio numbers', res fsocio.write('\t' + res[1]) fsocio.write('\n') ftex.close() fsocio.close()
def computeAge(subFolder, statData) : values = ParseInput.extractAnswers(statData, [14]) years = map(StatValues.toNumber, values) print '\nYears:', years ages = [(2014 - y) for y in years] print 'Ages:', ages [young, mid, senior, old] = [0,0,0,0] for age in ages : if age < 25 and age > 12: young += 1 elif age < 36 : mid += 1 elif age < 56 : senior += 1 elif age >= 56 and age < 120: old += 1 BuildTexts.addMacro(subFolder, 'numYoung', str(young)) BuildTexts.addMacro(subFolder, 'numMidAge', str(mid)) BuildTexts.addMacro(subFolder, 'numSenior', str(senior)) BuildTexts.addMacro(subFolder, 'numOld', str(old))
def compute22e(subFolder, statData): # aggregate (1 question) print '\nComputing values for slide 2.2.5.' values = ParseInput.extractAnswers(statData, [49]) ansA = values.count('115') ansB = values.count('116') ansC = values.count('117') ansD = values.count('118') [ansAp, ansBp, ansCp, ansDp] = StatValues.percent([ansA, ansB, ansC, ansD]) BuildTexts.addMacro(subFolder, 'valBBEansA', str(ansA)) BuildTexts.addMacro(subFolder, 'valBBEansB', str(ansB)) BuildTexts.addMacro(subFolder, 'valBBEansC', str(ansC)) BuildTexts.addMacro(subFolder, 'valBBEansD', str(ansD)) BuildTexts.addMacro(subFolder, 'valBBEansAp', str(ansAp)) BuildTexts.addMacro(subFolder, 'valBBEansBp', str(ansBp)) BuildTexts.addMacro(subFolder, 'valBBEansCp', str(ansCp)) BuildTexts.addMacro(subFolder, 'valBBEansDp', str(ansDp)) BuildCharts.Pie(subFolder, 'pie225.svg', [ansAp, ansBp, ansCp, ansDp])
def compute31b(subFolder, statData): # by age - q14 print '\nComputing values for slide 3.1.2.' values = ParseInput.extractAnswers(statData, [14, 43]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('103') + val.count('104') for val in values ] noNum = [ val.count('105') + val.count('106') for val in values ] BuildTexts.addMacro(subFolder, 'valCAByesNumA', str(yesNum[0])) BuildTexts.addMacro(subFolder, 'valCAByesNumB', str(yesNum[1])) BuildTexts.addMacro(subFolder, 'valCAByesNumC', str(yesNum[2])) BuildTexts.addMacro(subFolder, 'valCAByesNumD', str(yesNum[3])) BuildTexts.addMacro(subFolder, 'valCABnoNumA', str(noNum[0])) BuildTexts.addMacro(subFolder, 'valCABnoNumB', str(noNum[1])) BuildTexts.addMacro(subFolder, 'valCABnoNumC', str(noNum[2])) BuildTexts.addMacro(subFolder, 'valCABnoNumD', str(noNum[3])) BuildCharts.YesNoPieSVG(subFolder, 'pie312a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder, 'pie312b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder, 'pie312c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder, 'pie312d.svg', yesNum[3], noNum[3])
def compute52(subFolder, statData): # by age - q14 print '\nComputing values for slide 5.2.' values = ParseInput.extractAnswers(statData, [14, 56,57]) values = StatValues.joinListsByAge(values) yesNum = [ val.count('87') + val.count('88') for val in values ] noNum = [ val.count('89') + val.count('90') for val in values ] BuildTexts.addMacro(subFolder, 'valGByesNumA', str(yesNum[0])) BuildTexts.addMacro(subFolder, 'valGByesNumB', str(yesNum[1])) BuildTexts.addMacro(subFolder, 'valGByesNumC', str(yesNum[2])) BuildTexts.addMacro(subFolder, 'valGByesNumD', str(yesNum[3])) BuildTexts.addMacro(subFolder, 'valGBnoNumA', str(noNum[0])) BuildTexts.addMacro(subFolder, 'valGBnoNumB', str(noNum[1])) BuildTexts.addMacro(subFolder, 'valGBnoNumC', str(noNum[2])) BuildTexts.addMacro(subFolder, 'valGBnoNumD', str(noNum[3])) BuildCharts.YesNoPieSVG(subFolder,'pie52a.svg', yesNum[0], noNum[0]) BuildCharts.YesNoPieSVG(subFolder,'pie52b.svg', yesNum[1], noNum[1]) BuildCharts.YesNoPieSVG(subFolder,'pie52c.svg', yesNum[2], noNum[2]) BuildCharts.YesNoPieSVG(subFolder,'pie52d.svg', yesNum[3], noNum[3])
def compute42b(subFolder, statData): # one question print '\nComputing values for slide 4.2.b.' values = ParseInput.extractAnswers(statData, [45]) ansA = values.count('107') ansB = values.count('108') ansC = values.count('109') ansD = values.count('110') ansE = values.count('111') [ansAp, ansBp, ansCp, ansDp, ansEp] = StatValues.percent([ansA, ansB, ansC, ansD, ansE]) BuildTexts.addMacro(subFolder, 'valDBBansAv', str(ansA)) BuildTexts.addMacro(subFolder, 'valDBBansBv', str(ansB)) BuildTexts.addMacro(subFolder, 'valDBBansCv', str(ansC)) BuildTexts.addMacro(subFolder, 'valDBBansDv', str(ansD)) BuildTexts.addMacro(subFolder, 'valDBBansEv', str(ansE)) BuildTexts.addMacro(subFolder, 'valDBBansAp', str(ansAp)) BuildTexts.addMacro(subFolder, 'valDBBansBp', str(ansBp)) BuildTexts.addMacro(subFolder, 'valDBBansCp', str(ansCp)) BuildTexts.addMacro(subFolder, 'valDBBansDp', str(ansDp)) BuildTexts.addMacro(subFolder, 'valDBBansEp', str(ansEp)) BuildCharts.Pie(subFolder,'pie422.svg', [ansAp, ansBp, ansCp, ansDp, ansEp])
city = sys.argv[1] #city = 'bristol' eps = 0.01 mins = 3 LIMIT_num = 0 outroot = '../ProcessedData/' + city + '/' infile = outroot + '/user_homes/centroids_filtered/' + city + '_user_homes_dbscan_' + str(eps) + '_' + str(mins) + '_' + str(LIMIT_num) + '_filtered.dat' create_folder(outroot + 'networks') create_folder(outroot + 'networks/gephi') create_folder(outroot + 'figures/network_data') inputs = ParseInput.get_inputs() bbox = inputs[city] #do_all_the_networks(city, outroot, infile, bbox) if len(sys.argv) == 3: if sys.argv[2] == 'friend': print 'FRIENDS: Create friendship network' G_friends = get_user_user_friendship_network_igraph(city, outroot, infile) print 'FRIENDS: Creating gephi files...' get_gephi_new(G_friends, outroot, city + '_friendship')
#Script for parsing command line arguments and running ilastik prep functions #Joshua Hess import ParseInput import IlastikPrepOME #Parse the command line arguments args = ParseInput.ParseInputOME() #Run the MultiIlastikOMEPrep function IlastikPrepOME.MultiIlastikOMEPrep(**args)
if Opts['Verb'] > 2: print print_dict(Opts) # # Parse Input Files # inigeo1 = None inigeo2 = None fingeo1 = None fingeo2 = None # Get geometries in dimer if Opts['FinGeo1File']: at1, fingeo1 = PI.read_geo(Opts['FinGeo1File']) if Opts['FinGeo2File']: at2, fingeo2 = PI.read_geo(Opts['FinGeo2File']) if Opts['Coup'] == 'chgs': # Monomer 1 if Opts['IniGeo1File']: dum1, inigeo1 = PI.read_geo(Opts['IniGeo1File']) chgs1 = PI.read_chg(Opts['Chgs1File']) # Monomer 2 if Opts['IniGeo2File']: dum2, inigeo2 = PI.read_geo(Opts['IniGeo2File'])
#Script for parsing command line arguments and running single-cell #data extraction functions #Joshua Hess import ParseInput import SingleCellDataExtraction #Parse the command line arguments args = ParseInput.ParseInputDataExtract() #Run the MultiExtractSingleCells function SingleCellDataExtraction.MultiExtractSingleCells(**args)