diff --git a/backend/metagenedb/apps/catalog/urls.py b/backend/metagenedb/apps/catalog/urls.py index 7f65d9dc93bba92c0341ace3215ab7767d7ec51e..7a71ee349f2e7544c8644e1ea77f583adc2ec641 100644 --- a/backend/metagenedb/apps/catalog/urls.py +++ b/backend/metagenedb/apps/catalog/urls.py @@ -2,6 +2,7 @@ from django.urls import re_path from . import views + urlpatterns = [ re_path(r'^api/genes/$', views.gene_list, name='genes'), re_path(r'^api/genes/(?P<gene_id>.*)$', views.gene_detail), diff --git a/backend/metagenedb/apps/catalog/views/statistics.py b/backend/metagenedb/apps/catalog/views/statistics.py index 36ca58aa858161517b8443a1d32fb82ab4e03278..0152f316ce633b2920bcd55bb6e2e9de4eb7b6f2 100644 --- a/backend/metagenedb/apps/catalog/views/statistics.py +++ b/backend/metagenedb/apps/catalog/views/statistics.py @@ -36,8 +36,10 @@ def _count_windows(df, window_col, window_size=10000): @api_view(['GET']) -def gene_length(request): +def gene_length(request, window_size=10000): + if 'window_size' in request.query_params: + window_size = int(request.query_params.get('window_size')) df = pd.DataFrame(list(Gene.objects.all().values(GENE_LENGTH_COL))) return Response({ - 'data': _count_windows(df, GENE_LENGTH_COL) + 'data': _count_windows(df, GENE_LENGTH_COL, window_size) }) diff --git a/backend/requirements_dev.txt b/backend/requirements_dev.txt index 1beca5f7cdf8073cc30198081d00cf741efdbf09..fb65183a2ee28baa29ad8c5db388e2c1c0927cfc 100644 --- a/backend/requirements_dev.txt +++ b/backend/requirements_dev.txt @@ -15,7 +15,9 @@ importlib-metadata==0.18 kiwisolver==1.1.0 mccabe==0.6.1 more-itertools==7.0.0 +numpy==1.16.4 packaging==19.0 +pandas==0.24.2 pluggy==0.12.0 psycopg2==2.8.2 py==1.8.0