def test_genecounts_multiple_records_and_stages_no_gaps(self): rec1 = self.makeIndexRecord(1) self.makeIndexStage(rec1, 10, 'Prot-sxn', 100, '18.5') self.makeIndexStage(rec1, 10, 'Prot-sxn', 200, 'E') self.makeIndexStage(rec1, 20, 'RT-PCR', 100, '18.5') self.makeIndexStage(rec1, 20, 'RT-PCR', 200, 'E') rec2 = self.makeIndexRecord(1) self.makeIndexStage(rec2, 20, 'RT-PCR', 100, '18.5') self.makeIndexStage(rec2, 20, 'RT-PCR', 200, 'E') rec3 = self.makeIndexRecord(1) self.makeIndexStage(rec3, 10, 'Prot-sxn', 100, '18.5') self.makeIndexStage(rec3, 20, 'RT-PCR', 100, '18.5') recs = [rec1, rec2, rec3] summary = gxdindex_aggregator.aggregateGenesByAssayAndStage(recs) expected = { 'stages': ['18.5', 'E'], 'assays': [{ 'indexassay': 'Prot-sxn', 'stages': [2, 1] }, { 'indexassay': 'RT-PCR', 'stages': [3, 2] }] } self.assertEqual(expected, summary)
def test_genecounts_multiple_records_and_stages_no_gaps(self): rec1 = self.makeIndexRecord(1) self.makeIndexStage(rec1, 10, 'Prot-sxn', 100, '18.5') self.makeIndexStage(rec1, 10, 'Prot-sxn', 200, 'E') self.makeIndexStage(rec1, 20, 'RT-PCR', 100, '18.5') self.makeIndexStage(rec1, 20, 'RT-PCR', 200, 'E') rec2 = self.makeIndexRecord(1) self.makeIndexStage(rec2, 20, 'RT-PCR', 100, '18.5') self.makeIndexStage(rec2, 20, 'RT-PCR', 200, 'E') rec3 = self.makeIndexRecord(1) self.makeIndexStage(rec3, 10, 'Prot-sxn', 100, '18.5') self.makeIndexStage(rec3, 20, 'RT-PCR', 100, '18.5') recs = [rec1, rec2, rec3] summary = gxdindex_aggregator.aggregateGenesByAssayAndStage(recs) expected = {'stages':['18.5','E'], 'assays':[{'indexassay':'Prot-sxn', 'stages':[2,1]}, {'indexassay':'RT-PCR', 'stages':[3,2]}] } self.assertEqual(expected, summary)
def test_genecounts_manyassays_onestage(self): rec1 = self.makeIndexRecord(1) self.makeIndexStage(rec1, 10, 'Prot-sxn', 100, '18.5') self.makeIndexStage(rec1, 20, 'RT-PCR', 100, '18.5') self.makeIndexStage(rec1, 30, 'RT-PCR2', 100, '18.5') recs = [rec1] summary = gxdindex_aggregator.aggregateGenesByAssayAndStage(recs) expected = { 'stages': ['18.5'], 'assays': [{ 'indexassay': 'Prot-sxn', 'stages': [1] }, { 'indexassay': 'RT-PCR', 'stages': [1] }, { 'indexassay': 'RT-PCR2', 'stages': [1] }] } self.assertEqual(expected, summary)
def test_genecounts_onerecord(self): rec1 = self.makeIndexRecord(1) self.makeIndexStage(rec1, 10, 'Prot-sxn', 100, '13.5') recs = [rec1] summary = gxdindex_aggregator.aggregateGenesByAssayAndStage(recs) expected = {'stages':['13.5'], 'assays':[{'indexassay':'Prot-sxn', 'stages':[1]}] } self.assertEqual(expected, summary)
def renderIndexSummary(form): # default return values reference = None refSortedIndexRecords = None marker = None template = "gxdindex_summary" # gather index records from the DB indexRecords = form.queryIndexRecords() # check for truncation by default limits resultsTruncated = form.index_limit.data and \ (len(indexRecords) >= form.index_limit.data) # generate age/assay count table countSummary = gxdindex_aggregator.aggregateGenesByAssayAndStage(indexRecords) # send to lit-index by reference, if passed a ref ID if form.refs_id.data: reference = reference_service.get_by_jnum_id(form.refs_id.data) template = "gxdindex_summary_by_ref" # send to lit-index by marker, if passed a marker ID if form.marker_id.data: # re-order indexRecords - this page has specific sort indexRecords.sort(key=lambda r: r.reference.short_citation) marker = marker_hunter.getMarkerByMGIID(form.marker_id.data) template = "gxdindex_summary_by_marker" # send to lit-index by age / assay, if passed age and assay_type if form.age.data and form.assay_type.data: template = "gxdindex_summary_by_age_assay" return render_template("summary/gxdindex/%s.html" % template, indexRecords=indexRecords, resultsTruncated=resultsTruncated, countSummary=countSummary, reference=reference, marker=marker, form=form, queryString=form.argString())
def test_genecounts_manystages_oneassay(self): rec1 = self.makeIndexRecord(1) self.makeIndexStage(rec1, 10, 'Prot-sxn', 100, '13.5') self.makeIndexStage(rec1, 10, 'Prot-sxn', 200, '15.5') self.makeIndexStage(rec1, 10, 'Prot-sxn', 300, 'A') recs = [rec1] summary = gxdindex_aggregator.aggregateGenesByAssayAndStage(recs) expected = { 'stages': ['13.5', '15.5', 'A'], 'assays': [{ 'indexassay': 'Prot-sxn', 'stages': [1, 1, 1] }] } self.assertEqual(expected, summary)
def test_genecounts_empty(self): summary = gxdindex_aggregator.aggregateGenesByAssayAndStage([]) self.assertEqual({'stages':[], 'assays':[]}, summary)
def test_genecounts_empty(self): summary = gxdindex_aggregator.aggregateGenesByAssayAndStage([]) self.assertEqual({'stages': [], 'assays': []}, summary)