Пример #1
0
def enrich_kegg():
	"use the input key and value to find contigs, then based on type to generate enrich_info"
	args = query_format(['key','value'])
	if args:
		t_op = 'eq' if type(args['value'])!=list else 'in_'
		ctg_set = views.contig_v().filter(args['key'],t_op,args['value'])
		res = views.contig_v(ctg_set).enrich_kegg()
		return jsonify(res)
Пример #2
0
def contig_seq():
	args = query_format(['key','value','seq_type'])
	if args:
		t_op = 'eq' if type(args['value'])!=list else 'in_'
		ctg_set = views.contig_v().filter(args['key'],t_op,args['value'])
		res = views.contig_v(ctg_set).seq_info(args.get('seq_type',None))
		if res:
			return jsonify({'seqs':res})
Пример #3
0
def contig_detail():
	"based key and value to search contig model, if value contain ',', the operator will be 'in_', not 'eq'"
	args = query_format(['key','value'])
	res={}
	if args:
		t_op = 'eq' if type(args['value'])==str else 'in_'
		t_contig = views.contig_v().filter(args['key'],t_op,args['value'])
		if t_contig.count():
			res['ids'] = [x.id for x in t_contig]
			res['seqs']=views.contig_v(t_contig).seq_info()
			res['count_info']=views.count_v([x.counts.get() for x in t_contig]).data()
			res['taxa']=views.contig_v(t_contig).lineage_info()
			return jsonify(res)
Пример #4
0
def contig_fpkm():
	args = query_format(['key','value'])
	if args:
		t_op = 'eq' if type(args['value'])==str else 'in_'
		t_contig = views.contig_v().filter(args['key'],t_op,args['value'])
		t_fpkm = [x.fpkms.get() for x in t_contig if x.fpkms.count()]
		if t_fpkm:
			return jsonify(views.fpkm_v(t_fpkm).fpkm())
Пример #5
0
def contig_search():
	"search contig by name"
	args = query_format(['name'])
	if args:
		res = views.contig_v().text_search('name',args['name'])
		return jsonify(views.contig_v(res).search_info())