diff --git a/suggestions/urls.py b/suggestions/urls.py new file mode 100644 index 0000000000000000000000000000000000000000..a3780aa2190c93ed23dd96691de9cef83decf8aa --- /dev/null +++ b/suggestions/urls.py @@ -0,0 +1,7 @@ +from django.conf.urls import url + +from . import views + +urlpatterns = [ + url(r'^$', views.index, name='index'), +] diff --git a/suggestions/views.py b/suggestions/views.py new file mode 100644 index 0000000000000000000000000000000000000000..9c81f75568e05a68ff92bd60fcfe0224fa4c991a --- /dev/null +++ b/suggestions/views.py @@ -0,0 +1,39 @@ +import urllib2 + +from django.shortcuts import render_to_response, HttpResponse + +from main.models import GeneInfo, GO, Experiment + + +def index(request): + species_name = "Arabidopsis thaliana" + experiments = Experiment.objects.filter(species__species_name=species_name) + + if request.method == 'GET': + + if request.GET.get('query') and request.GET.get('experiment_name'): + query = request.GET.get('query') + query = urllib2.unquote(query).strip() + experiment_name = request.GET.get('experiment_name') + + GOterms = list() + genes = list() + + go_results = GO.objects.raw( + "select * from main_go WHERE MATCH (name, definition) AGAINST ('%s' IN NATURAL LANGUAGE MODE)"%query) + + for GOterm in go_results: + GOterms.append(GOterm) + + gene_results = GeneInfo.objects.raw( + "select * from main_geneinfo WHERE MATCH (gene_name, description) AGAINST ('%s' IN NATURAL LANGUAGE MODE)"%query) + + for gene in gene_results: + genes.append(gene) + + return render_to_response('suggestions.html', {'Genes': genes, + 'GOterms': GOterms, + 'experiments': experiments, + 'experiment_name': experiment_name}) + + return render_to_response('suggestions.html', {'experiments': experiments}) \ No newline at end of file