From 542e61b735b6d3653f30c6b17df0f62565128413 Mon Sep 17 00:00:00 2001
From: Martijn Vermaat <martijn@vermaat.name>
Date: Wed, 8 Oct 2014 15:39:44 +0200
Subject: [PATCH] Fix GRCm38 chromosome accession number versions

---
 extras/assemblies/GRCm38.json                 | 42 ++++++-------
 ...fix_grcm38_chromosome_accession_number_.py | 59 +++++++++++++++++++
 2 files changed, 80 insertions(+), 21 deletions(-)
 create mode 100644 migrations/versions/402ff01b0d5d_fix_grcm38_chromosome_accession_number_.py

diff --git a/extras/assemblies/GRCm38.json b/extras/assemblies/GRCm38.json
index 73806e81..534e37de 100644
--- a/extras/assemblies/GRCm38.json
+++ b/extras/assemblies/GRCm38.json
@@ -7,107 +7,107 @@
     {
       "organelle": "nucleus",
       "name": "chr1",
-      "accession": "NC_000067.65"
+      "accession": "NC_000067.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr2",
-      "accession": "NC_000068.70"
+      "accession": "NC_000068.7"
     },
     {
       "organelle": "nucleus",
       "name": "chr3",
-      "accession": "NC_000069.60"
+      "accession": "NC_000069.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr4",
-      "accession": "NC_000070.66"
+      "accession": "NC_000070.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr5",
-      "accession": "NC_000071.65"
+      "accession": "NC_000071.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr6",
-      "accession": "NC_000072.60"
+      "accession": "NC_000072.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr7",
-      "accession": "NC_000073.61"
+      "accession": "NC_000073.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr8",
-      "accession": "NC_000074.60"
+      "accession": "NC_000074.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr9",
-      "accession": "NC_000075.60"
+      "accession": "NC_000075.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr10",
-      "accession": "NC_000076.60"
+      "accession": "NC_000076.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr11",
-      "accession": "NC_000077.60"
+      "accession": "NC_000077.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr12",
-      "accession": "NC_000078.60"
+      "accession": "NC_000078.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr13",
-      "accession": "NC_000079.60"
+      "accession": "NC_000079.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr14",
-      "accession": "NC_000080.60"
+      "accession": "NC_000080.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr15",
-      "accession": "NC_000081.60"
+      "accession": "NC_000081.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr16",
-      "accession": "NC_000082.60"
+      "accession": "NC_000082.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr17",
-      "accession": "NC_000083.60"
+      "accession": "NC_000083.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr18",
-      "accession": "NC_000084.60"
+      "accession": "NC_000084.6"
     },
     {
       "organelle": "nucleus",
       "name": "chr19",
-      "accession": "NC_000085.60"
+      "accession": "NC_000085.6"
     },
     {
       "organelle": "nucleus",
       "name": "chrX",
-      "accession": "NC_000086.71"
+      "accession": "NC_000086.7"
     },
     {
       "organelle": "nucleus",
       "name": "chrY",
-      "accession": "NC_000087.74"
+      "accession": "NC_000087.7"
     },
     {
       "organelle": "mitochondrion",
diff --git a/migrations/versions/402ff01b0d5d_fix_grcm38_chromosome_accession_number_.py b/migrations/versions/402ff01b0d5d_fix_grcm38_chromosome_accession_number_.py
new file mode 100644
index 00000000..ca664e56
--- /dev/null
+++ b/migrations/versions/402ff01b0d5d_fix_grcm38_chromosome_accession_number_.py
@@ -0,0 +1,59 @@
+"""Fix GRCm38 chromosome accession number versions
+
+Revision ID: 402ff01b0d5d
+Revises: ea660b66f26
+Create Date: 2014-10-08 15:10:21.522551
+
+"""
+
+# revision identifiers, used by Alembic.
+revision = '402ff01b0d5d'
+down_revision = 'ea660b66f26'
+
+from alembic import op
+from sqlalchemy import sql
+import sqlalchemy as sa
+
+
+# These accidentally got an extra trailing digit.
+ACCESSIONS = ['NC_000067.65',
+              'NC_000068.70',
+              'NC_000069.60',
+              'NC_000070.66',
+              'NC_000071.65',
+              'NC_000072.60',
+              'NC_000073.61',
+              'NC_000074.60',
+              'NC_000075.60',
+              'NC_000076.60',
+              'NC_000077.60',
+              'NC_000078.60',
+              'NC_000079.60',
+              'NC_000080.60',
+              'NC_000081.60',
+              'NC_000082.60',
+              'NC_000083.60',
+              'NC_000084.60',
+              'NC_000085.60',
+              'NC_000086.71',
+              'NC_000087.74']
+
+
+def upgrade():
+    ### commands auto generated by Alembic - please adjust! ###
+    chromosomes = sql.table('chromosomes',
+                            sql.column('accession', sa.String(30)))
+    for accession in ACCESSIONS:
+        # https://alembic.readthedocs.org/en/latest/ops.html#alembic.operations.Operations.execute
+        op.execute(chromosomes.update().where(chromosomes.c.accession == op.inline_literal(accession)).values({'accession': op.inline_literal(accession[:-1])}))
+    ### end Alembic commands ###
+
+
+def downgrade():
+    ### commands auto generated by Alembic - please adjust! ###
+    chromosomes = sql.table('chromosomes',
+                            sql.column('accession', sa.String(30)))
+    for accession in ACCESSIONS:
+        # https://alembic.readthedocs.org/en/latest/ops.html#alembic.operations.Operations.execute
+        op.execute(chromosomes.update().where(chromosomes.c.accession == op.inline_literal(accession[:-1])).values({'accession': op.inline_literal(accession)}))
+    ### end Alembic commands ###
-- 
GitLab