예제 #1
0
	def getAnalysisMethodLs(call_method_id, phenotype_method_id):
		"""
		2009-1-30
		"""
		affiliated_table_name = model.Stock_250kDB.ResultsMethod.table.name	#alias is 's'
		extra_condition = 's.call_method_id=%s and s.phenotype_method_id=%s'%\
			(call_method_id, phenotype_method_id)
		list_info = hc.getAnalysisMethodInfo(affiliated_table_name, extra_condition=extra_condition)
		
		analysis_method_ls = []
		
		for i in range(len(list_info.id_ls)):
			id = list_info.id_ls[i]
			label = list_info.label_ls[i]
			description = list_info.description_ls[i]
			analysis_method_ls.append([id, label, description])
		return analysis_method_ls
예제 #2
0
	def getAnalysisMethodLsGivenTypeAndPhenotypeMethod(type_id, call_method_id, phenotype_method_id, extra_table_name=None):
		"""
		2009-2-22
			add argument extra_table_name
		2008-12-30
		"""
		affiliated_table_name = model.Stock_250kDB.ResultsMethod.table.name	#alias is 's'
		if not extra_table_name:
			extra_table_name = model.Stock_250kDB.CandidateGeneTopSNPTestRM.table.name
		extra_tables = ' %s c '%extra_table_name
		extra_condition = 'c.results_id=s.id and c.type_id=%s and s.call_method_id=%s and s.phenotype_method_id=%s'%\
			(type_id, call_method_id, phenotype_method_id)
		list_info = hc.getAnalysisMethodInfo(affiliated_table_name, extra_condition=extra_condition, extra_tables=extra_tables)
		
		analysis_method_ls = []
		
		for i in range(len(list_info.id_ls)):
			id = list_info.id_ls[i]
			label = list_info.label_ls[i]
			analysis_method_ls.append([id, label])
		return analysis_method_ls
예제 #3
0
	def getAnalysisMethodLsGivenTypeAndPhenotypeMethod(type_id, phenotype_method_id, extra_table_name=None):
		"""
		2009-4-13
			added results_gene2type into the condition to restrict analysis_methods
			type_id is actually used now.
		2009-3-4
		"""
		affiliated_table_name = model.Stock_250kDB.ResultsMethod.table.name	#alias is 's'
		type = ScoreRankHistogramType.get(type_id)
		call_method_id = type.call_method_id
		if not extra_table_name:
			extra_table_name = model.Stock_250kDB.ResultsGene.table.name
		extra_tables = ' %s c, %s y '%(extra_table_name, "results_gene2type")
		extra_condition = 'c.results_id=s.id and s.call_method_id=%s and s.phenotype_method_id=%s and y.score_rank_histogram_type_id=%s and y.results_gene_id=c.id'%\
			(call_method_id, phenotype_method_id, type_id)
		list_info = hc.getAnalysisMethodInfo(affiliated_table_name, extra_condition=extra_condition, extra_tables=extra_tables)
		
		analysis_method_ls = []
		
		for i in range(len(list_info.id_ls)):
			id = list_info.id_ls[i]
			label = list_info.label_ls[i]
			analysis_method_ls.append([id, label])
		return analysis_method_ls
예제 #4
0
	def call_method(self, id=None):
		if id is None:
			id = request.params.get('id', 17)
		
		MAFVsScorePlot = model.Stock_250kDB.MAFVsScorePlot
		affiliated_table_name = model.Stock_250kDB.ResultsMethod.table.name
		extra_condition = 's.call_method_id=%s and s.id=m.results_method_id'%id
		extra_tables = '%s m'%model.Stock_250kDB.MAFVsScorePlot.table.name
		c.phenotype_info  = hc.getPhenotypeInfo(affiliated_table_name, extra_condition, extra_tables)
		c.analysis_info = hc.getAnalysisMethodInfo(affiliated_table_name, extra_condition, extra_tables)
		
		rows = MAFVsScorePlot.query.filter(MAFVsScorePlot.results_method.has(call_method_id=id))
		data_matrix = numpy.zeros([len(c.phenotype_info.phenotype_method_id_ls), len(c.analysis_info.id_ls)], numpy.int)
		data_matrix[:] = -1
		counter = 0
		for row in rows:
			row_index = c.phenotype_info.phenotype_method_id2index[row.results_method.phenotype_method_id]
			col_index = c.analysis_info.id2index[row.results_method.analysis_method_id]
			data_matrix[row_index, col_index] = row.id
			counter +=1
		c.counter = counter
		c.data_matrix = data_matrix
		c.call_method_id = id
		return render('/maf_vs_score_call_method.html')