Skip to content

Commit bc06144

Browse files
authored
Merge branch 'release-2025.2.0' into improve/estelle/350/surfaceValidationErrors
2 parents 633dcf5 + ce029be commit bc06144

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+4731
-959
lines changed

.github/workflows/run-tests-on-push.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ env:
77

88
jobs:
99
run-tests-3_9-core-dependencies:
10-
runs-on: ubuntu-20.04
11-
name: Pytest on Core Dependencies-- Python 3.9 / Ubuntu 20.04
10+
runs-on: ubuntu-latest
11+
name: Pytest on Core Dependencies-- Python 3.9
1212
steps:
1313
- uses: actions/checkout@v4
1414
- uses: actions/setup-python@v5
@@ -21,8 +21,8 @@ jobs:
2121
- run: poetry run pytest tests/
2222

2323
run-tests-3_9:
24-
runs-on: ubuntu-20.04
25-
name: Pytest on Optional Dependencies-- Python 3.9 / Ubuntu 20.04
24+
runs-on: ubuntu-latest
25+
name: Pytest on Optional Dependencies-- Python 3.9
2626
steps:
2727
- uses: actions/checkout@v4
2828
- uses: actions/setup-python@v5
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
"""clinvar variant table
2+
3+
Revision ID: 34026092c7f8
4+
Revises: e8a3b5d8f885
5+
Create Date: 2025-01-28 21:48:42.532346
6+
7+
"""
8+
9+
from alembic import op
10+
import sqlalchemy as sa
11+
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "34026092c7f8"
15+
down_revision = "e8a3b5d8f885"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade():
21+
# ### commands auto generated by Alembic - please adjust! ###
22+
op.create_table(
23+
"clinvar_variants",
24+
sa.Column("id", sa.Integer(), nullable=False),
25+
sa.Column("allele_id", sa.Integer(), nullable=False),
26+
sa.Column("gene_symbol", sa.String(), nullable=False),
27+
sa.Column("clinical_significance", sa.String(), nullable=False),
28+
sa.Column("clinical_review_status", sa.String(), nullable=False),
29+
sa.Column("clinvar_db_version", sa.String(), nullable=False),
30+
sa.Column("creation_date", sa.Date(), nullable=False),
31+
sa.Column("modification_date", sa.Date(), nullable=False),
32+
sa.PrimaryKeyConstraint("id"),
33+
)
34+
op.create_index(op.f("ix_clinvar_variants_allele_id"), "clinvar_variants", ["allele_id"], unique=False)
35+
op.add_column("mapped_variants", sa.Column("clinvar_variant_id", sa.Integer(), nullable=True))
36+
op.create_index(
37+
op.f("ix_mapped_variants_clinvar_variant_id"), "mapped_variants", ["clinvar_variant_id"], unique=False
38+
)
39+
op.create_foreign_key(
40+
"mapped_variant_clinvar_variant_id_foreign_key_constraint",
41+
"mapped_variants",
42+
"clinvar_variants",
43+
["clinvar_variant_id"],
44+
["id"],
45+
)
46+
# ### end Alembic commands ###
47+
48+
49+
def downgrade():
50+
# ### commands auto generated by Alembic - please adjust! ###
51+
op.drop_constraint(
52+
"mapped_variant_clinvar_variant_id_foreign_key_constraint", "mapped_variants", type_="foreignkey"
53+
)
54+
op.drop_index(op.f("ix_mapped_variants_clinvar_variant_id"), table_name="mapped_variants")
55+
op.drop_column("mapped_variants", "clinvar_variant_id")
56+
op.drop_index(op.f("ix_clinvar_variants_allele_id"), table_name="clinvar_variants")
57+
op.drop_table("clinvar_variants")
58+
# ### end Alembic commands ###
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
"""genericize clinvar variants table
2+
3+
Revision ID: 695b73abe581
4+
Revises: 34026092c7f8
5+
Create Date: 2025-02-18 11:54:15.243078
6+
7+
"""
8+
9+
from alembic import op
10+
import sqlalchemy as sa
11+
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "695b73abe581"
15+
down_revision = "34026092c7f8"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade():
21+
op.rename_table("clinvar_variants", "clinical_controls")
22+
op.execute("ALTER SEQUENCE clinvar_variants_id_seq RENAME TO clinical_controls_id_seq")
23+
op.execute("ALTER INDEX clinvar_variants_pkey RENAME TO clinical_controls_pkey")
24+
25+
op.alter_column("clinical_controls", "clinvar_db_version", nullable=False, new_column_name="db_version")
26+
op.alter_column("clinical_controls", "allele_id", nullable=False, new_column_name="db_identifier")
27+
op.add_column("clinical_controls", sa.Column("db_name", sa.String(), nullable=True))
28+
29+
op.create_index("ix_clinical_controls_gene_symbol", "clinical_controls", ["gene_symbol"])
30+
op.create_index("ix_clinical_controls_db_name", "clinical_controls", ["db_name"])
31+
op.create_index("ix_clinical_controls_db_identifier", "clinical_controls", ["db_identifier"])
32+
op.create_index("ix_clinical_controls_db_version", "clinical_controls", ["db_version"])
33+
34+
op.create_table(
35+
"mapped_variants_clinical_controls",
36+
sa.Column("mapped_variant_id", sa.Integer(), nullable=False),
37+
sa.Column("clinical_control_id", sa.Integer(), nullable=False),
38+
sa.ForeignKeyConstraint(
39+
["mapped_variant_id"],
40+
["mapped_variants.id"],
41+
),
42+
sa.ForeignKeyConstraint(
43+
["clinical_control_id"],
44+
["clinical_controls.id"],
45+
),
46+
sa.PrimaryKeyConstraint("mapped_variant_id", "clinical_control_id"),
47+
)
48+
49+
# Convert any existing ClinVar variants into clinical control variants. Since
50+
# this table is being update from a clinvar specific table, we assume all existing
51+
# controls are from ClinVar.
52+
op.execute(
53+
"""
54+
INSERT INTO mapped_variants_clinical_controls (
55+
mapped_variant_id,
56+
clinical_control_id
57+
)
58+
SELECT id, clinvar_variant_id
59+
FROM mapped_variants
60+
WHERE clinvar_variant_id IS NOT NULL
61+
"""
62+
)
63+
64+
op.execute("UPDATE clinical_controls SET db_name='ClinVar'")
65+
op.alter_column("clinical_controls", "db_name", nullable=False)
66+
67+
op.drop_index("ix_mapped_variants_clinvar_variant_id", "mapped_variants")
68+
op.drop_column("mapped_variants", "clinvar_variant_id")
69+
70+
71+
def downgrade():
72+
op.rename_table("clinical_controls", "clinvar_variants")
73+
op.execute("ALTER SEQUENCE clinical_controls_id_seq RENAME TO clinvar_variants_id_seq")
74+
op.execute("ALTER INDEX clinical_controls_pkey RENAME TO clinvar_variants_pkey")
75+
76+
op.drop_index("ix_clinical_controls_gene_symbol", "clinical_controls")
77+
op.drop_index("ix_clinical_controls_db_name", "clinical_controls")
78+
op.drop_index("ix_clinical_controls_db_identifier", "clinical_controls")
79+
op.drop_index("ix_clinical_controls_db_version", "clinical_controls")
80+
81+
op.alter_column("clinvar_variants", "db_version", nullable=False, new_column_name="clinvar_db_version")
82+
op.alter_column("clinvar_variants", "db_identifier", nullable=False, new_column_name="allele_id")
83+
op.drop_column("clinvar_variants", "db_name")
84+
85+
op.add_column(
86+
"mapped_variants",
87+
sa.Column("clinvar_variant_id", sa.Integer(), sa.ForeignKey("clinvar_variants.id"), nullable=True),
88+
)
89+
90+
# Downgrades a many-to-many relationship to a one to many. This will result in data loss.
91+
op.execute(
92+
"""
93+
UPDATE mapped_variants
94+
SET clinvar_variant_id=mapped_variants_clinical_controls.clinical_control_id
95+
FROM mapped_variants_clinical_controls
96+
WHERE mapped_variants_clinical_controls.mapped_variant_id=mapped_variants.id
97+
"""
98+
)
99+
100+
op.create_index("ix_mapped_variants_clinvar_variant_id", "mapped_variants", ["clinvar_variant_id"])
101+
op.drop_table("mapped_variants_clinical_controls")
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
"""move clingen allele id to mapped variants table
2+
3+
Revision ID: d6e5a9fde3c9
4+
Revises: 695b73abe581
5+
Create Date: 2025-02-19 10:51:07.319962
6+
7+
"""
8+
9+
from alembic import op
10+
import sqlalchemy as sa
11+
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "d6e5a9fde3c9"
15+
down_revision = "695b73abe581"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade():
21+
# ### commands auto generated by Alembic - please adjust! ###
22+
op.drop_index("ix_variants_clingen_allele_id", table_name="variants")
23+
op.add_column("mapped_variants", sa.Column("clingen_allele_id", sa.String(), nullable=True))
24+
op.execute(
25+
"""
26+
UPDATE mapped_variants
27+
SET clingen_allele_id=variants.clingen_allele_id
28+
FROM variants
29+
WHERE variants.id=mapped_variants.variant_id
30+
"""
31+
)
32+
op.drop_column("variants", "clingen_allele_id")
33+
op.create_index(
34+
op.f("ix_mapped_variants_clingen_allele_id"), "mapped_variants", ["clingen_allele_id"], unique=False
35+
)
36+
# ### end Alembic commands ###
37+
38+
39+
def downgrade():
40+
# ### commands auto generated by Alembic - please adjust! ###
41+
op.drop_index(op.f("ix_mapped_variants_clingen_allele_id"), table_name="mapped_variants")
42+
op.add_column("variants", sa.Column("clingen_allele_id", sa.String(), nullable=True))
43+
op.execute(
44+
"""
45+
UPDATE variants
46+
SET clingen_allele_id=mapped_variants.clingen_allele_id
47+
FROM mapped_variants
48+
WHERE variants.id=mapped_variants.variant_id
49+
"""
50+
)
51+
op.drop_column("mapped_variants", "clingen_allele_id")
52+
op.create_index("ix_variants_clingen_allele_id", "variants", ["clingen_allele_id"], unique=False)
53+
# ### end Alembic commands ###
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""Add ClinGen allele IDs
2+
3+
Revision ID: e8a3b5d8f885
4+
Revises: 4726e4dddde8
5+
Create Date: 2025-01-27 18:55:09.283855
6+
7+
"""
8+
9+
from alembic import op
10+
import sqlalchemy as sa
11+
12+
13+
# revision identifiers, used by Alembic.
14+
revision = "e8a3b5d8f885"
15+
down_revision = "4726e4dddde8"
16+
branch_labels = None
17+
depends_on = None
18+
19+
20+
def upgrade():
21+
op.add_column("variants", sa.Column("clingen_allele_id", sa.String(), nullable=True))
22+
op.create_index(op.f("ix_variants_clingen_allele_id"), "variants", ["clingen_allele_id"], unique=False)
23+
24+
25+
def downgrade():
26+
op.drop_index(op.f("ix_variants_clingen_allele_id"), table_name="variants")
27+
op.drop_column("variants", "clingen_allele_id")

alembic/versions/f69b4049bc3b_add_is_base_editor_column_to_target_.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Add is_base_editor column to target_accessions
22
33
Revision ID: f69b4049bc3b
4-
Revises: c404b6719110
4+
Revises: d6e5a9fde3c9
55
Create Date: 2025-03-02 14:06:52.217554
66
77
"""
@@ -12,7 +12,7 @@
1212

1313
# revision identifiers, used by Alembic.
1414
revision = "f69b4049bc3b"
15-
down_revision = "c404b6719110"
15+
down_revision = "d6e5a9fde3c9"
1616
branch_labels = None
1717
depends_on = None
1818

0 commit comments

Comments
 (0)