diff --git a/CHANGES.rst b/CHANGES.rst index e938eed49c1290971145ab0b059fdb84eac9025a..e5ed45f84621664076ed89d0e52792c11558a3f1 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -19,6 +19,8 @@ Release date to be decided. <https://git.lumc.nl/mutalyzer/mutalyzer/issues/30>`_). - Fix importing transcript mappings from UCSC database (`GitLab#9 <https://git.lumc.nl/mutalyzer/mutalyzer/issues/9>`_). +- Rename GRCh36 to NCBI36 (`GitLab#8 + <https://git.lumc.nl/mutalyzer/mutalyzer/issues/8>`_). Version 2.0.3 diff --git a/extras/assemblies/GRCh36.json b/extras/assemblies/NCBI36.json similarity index 99% rename from extras/assemblies/GRCh36.json rename to extras/assemblies/NCBI36.json index ca0459f631fa01b74b7cf8aa211f04f99bf9824b..1b9adb971fb3b90708cad5aa589ff88bf5a335ab 100644 --- a/extras/assemblies/GRCh36.json +++ b/extras/assemblies/NCBI36.json @@ -1,5 +1,5 @@ { - "name": "GRCh36", + "name": "NCBI36", "alias": "hg18", "taxonomy_id": 9606, "taxonomy_common_name": "Homo sapiens", diff --git a/migrations/versions/2e062969eb54_rename_grch36_assembly_to_ncbi36.py b/migrations/versions/2e062969eb54_rename_grch36_assembly_to_ncbi36.py new file mode 100644 index 0000000000000000000000000000000000000000..279e8d62d26e604e718c86be0fb30825d1ec8694 --- /dev/null +++ b/migrations/versions/2e062969eb54_rename_grch36_assembly_to_ncbi36.py @@ -0,0 +1,35 @@ +"""Rename GRCh36 assembly to NCBI36 + +Revision ID: 2e062969eb54 +Revises: 402ff01b0d5d +Create Date: 2014-10-22 13:09:17.336650 + +""" + +from __future__ import unicode_literals + +# revision identifiers, used by Alembic. +revision = '2e062969eb54' +down_revision = u'402ff01b0d5d' + +from alembic import op +from sqlalchemy import sql +import sqlalchemy as sa + + +def upgrade(): + ### commands auto generated by Alembic - please adjust! ### + assemblies = sql.table('assemblies', + sql.column('name', sa.String(30))) + # https://alembic.readthedocs.org/en/latest/ops.html#alembic.operations.Operations.execute + op.execute(assemblies.update().where(assemblies.c.name == op.inline_literal('GRCh36')).values({'name': op.inline_literal('NCBI36')})) + ### end Alembic commands ### + + +def downgrade(): + ### commands auto generated by Alembic - please adjust! ### + assemblies = sql.table('assemblies', + sql.column('name', sa.String(30))) + # https://alembic.readthedocs.org/en/latest/ops.html#alembic.operations.Operations.execute + op.execute(assemblies.update().where(assemblies.c.name == op.inline_literal('NCBI36')).values({'name': op.inline_literal('GRCh36')})) + ### end Alembic commands ### diff --git a/mutalyzer/db/models.py b/mutalyzer/db/models.py index faa0754c519549f71d78fbadcceb4c10586d43bf..309fbc554bb84b9f82610d3a795647ce3c4f9cea 100644 --- a/mutalyzer/db/models.py +++ b/mutalyzer/db/models.py @@ -267,6 +267,9 @@ class Assembly(db.Base): #: NCBI taxonomy name (e.g., ``Homo sapiens``, ``Mus musculus``). taxonomy_common_name = Column(String(50), nullable=False) + #: Criteria to order assemblies by in user-visible lists. + order_by_criteria = taxonomy_common_name.asc(), alias.asc() + def __init__(self, name, taxonomy_id, taxonomy_common_name, alias=None): self.name = name self.taxonomy_id = taxonomy_id diff --git a/mutalyzer/entrypoints/admin.py b/mutalyzer/entrypoints/admin.py index e7c74178ea0560a133ce39e4d04c8ee1e647d58d..c4308b232810ea16c1a7b523b3e39a243efc33fa 100644 --- a/mutalyzer/entrypoints/admin.py +++ b/mutalyzer/entrypoints/admin.py @@ -77,8 +77,7 @@ def list_assemblies(): List genome assemblies. """ assemblies = Assembly.query \ - .order_by(Assembly.taxonomy_common_name.asc(), - Assembly.name.asc()) \ + .order_by(*Assembly.order_by_criteria) \ .all() for assembly in assemblies: diff --git a/mutalyzer/website/views.py b/mutalyzer/website/views.py index 84b5cf857b424bb6e42b6c2f41d97877459df588..a84aaf135649026bf3b739f99290a01b2b07d35d 100644 --- a/mutalyzer/website/views.py +++ b/mutalyzer/website/views.py @@ -397,8 +397,7 @@ def position_converter(): code=301) assemblies = Assembly.query \ - .order_by(Assembly.taxonomy_common_name.asc(), - Assembly.name.asc()) \ + .order_by(*Assembly.order_by_criteria) \ .all() assembly_name_or_alias = request.args.get('assembly_name_or_alias', @@ -518,8 +517,7 @@ def reference_loader(): Reference sequence loader form. """ assemblies = Assembly.query \ - .order_by(Assembly.taxonomy_common_name.asc(), - Assembly.name.asc()) \ + .order_by(*Assembly.order_by_criteria) \ .all() return render_template('reference-loader.html', @@ -580,8 +578,7 @@ def reference_loader_submit(): % (method, unicode(request.form), request.remote_addr)) assemblies = Assembly.query \ - .order_by(Assembly.taxonomy_common_name.asc(), - Assembly.name.asc()) \ + .order_by(*Assembly.order_by_criteria) \ .all() retriever = Retriever.GenBankRetriever(output) @@ -749,8 +746,7 @@ def batch_jobs(): job_type = request.args.get('job_type', 'name-checker') assemblies = Assembly.query \ - .order_by(Assembly.taxonomy_common_name.asc(), - Assembly.name.asc()) \ + .order_by(*Assembly.order_by_criteria) \ .all() assembly_name_or_alias = request.args.get('assembly_name_or_alias', settings.DEFAULT_ASSEMBLY) @@ -776,8 +772,7 @@ def batch_jobs_submit(): batch_file = request.files.get('file') assemblies = Assembly.query \ - .order_by(Assembly.taxonomy_common_name.asc(), - Assembly.name.asc()) \ + .order_by(*Assembly.order_by_criteria) \ .all() assembly_name_or_alias = request.form.get('assembly_name_or_alias', settings.DEFAULT_ASSEMBLY)