Skip to content

Commit

Permalink
fix: import fails with error 'intron_variant' (#2203)
Browse files Browse the repository at this point in the history
  • Loading branch information
stolpeo committed Feb 18, 2025
1 parent 515343a commit 64d6534
Show file tree
Hide file tree
Showing 11 changed files with 179 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ class Command(BaseCommand):

def add_arguments(self, parser):
"""Add the command's argument to the ``parser``."""
parser.add_argument("--async", help="Run the rebuild asynchronously.", action="store_false")
parser.add_argument("--async", help="Run the rebuild asynchronously.", action="store_true")

@transaction.atomic
def handle(self, *args, **options):
"""Perform rebuilding the statistics."""
if options["async"]:
models.refresh_variants_smallvariantsummary()
msg = "Done rebuilding variant summary."
else:
refresh_variants_smallvariantsummary.delay()
msg = "Pushed rebuilding variant summary to background."
else:
models.refresh_variants_smallvariantsummary()
msg = "Done rebuilding variant summary."
self.stdout.write(self.style.SUCCESS(msg))
10 changes: 10 additions & 0 deletions backend/variants/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,16 @@
"effect_3_prime_UTR_intron_variant": "3_prime_UTR_intron_variant",
"effect_transcript_ablation": "transcript_ablation",
"effect_upstream_gene_variant": "upstream_gene_variant",
# new mehari effects
"effect_coding_sequence_variant": "coding_sequence_variant",
"effect_conservative_inframe_deletion": "conservative_inframe_deletion",
"effect_conservative_inframe_insertion": "conservative_inframe_insertion",
"effect_intron_variant": "intron_variant",
"effect_splice_donor_5th_base_variant": "splice_donor_5th_base_variant",
"effect_splice_donor_region_variant": "splice_donor_region_variant",
"effect_splice_polypyrimidine_tract_variant": "splice_polypyrimidine_tract_variant",
"effect_start_retained_variant": "start_retained_variant",
"effect_transcript_amplification": "transcript_amplification",
}

FILTER_FORM_TRANSLATE_INHERITANCE = {
Expand Down
39 changes: 39 additions & 0 deletions backend/variants/query_presets.py
Original file line number Diff line number Diff line change
Expand Up @@ -571,6 +571,8 @@ class _ImpactPresets:
"stop_lost",
"structural_variant",
"transcript_ablation",
# new mehari effects
"transcript_amplification",
],
}
#: Presets for "amino acid change and splicing" impact
Expand Down Expand Up @@ -604,6 +606,13 @@ class _ImpactPresets:
"stop_lost",
"structural_variant",
"transcript_ablation",
# new mehari effects
"convervative_inframe_insertion",
"conservative_inframe_deletion",
"splice_donor_5th_base_variant",
"splice_donor_region_variant",
"splice_polypyrimidine_tract_variant",
"transcript_amplification",
],
}
#: Presets for "all coding and deep intronic" impact
Expand Down Expand Up @@ -639,6 +648,16 @@ class _ImpactPresets:
"structural_variant",
"synonymous_variant",
"transcript_ablation",
# new mehari effects
"coding_sequence_variant",
"conservative_inframe_insertion",
"conservative_inframe_deletion",
"intron_variant",
"splice_donor_5th_base_variant",
"splice_donor_region_variant",
"splice_polypyrimidine_tract_variant",
"start_retained_variant",
"transcript_amplification",
],
}
#: Presets for "whole transcript" impact
Expand Down Expand Up @@ -683,6 +702,16 @@ class _ImpactPresets:
"synonymous_variant",
"transcript_ablation",
"upstream_gene_variant",
# new mehari effects
"coding_sequence_variant",
"conservative_inframe_insertion",
"conservative_inframe_deletion",
"intron_variant",
"splice_donor_5th_base_variant",
"splice_donor_region_variant",
"splice_polypyrimidine_tract_variant",
"start_retained_variant",
"transcript_amplification",
],
}
#: Presets for "any" impact
Expand Down Expand Up @@ -728,6 +757,16 @@ class _ImpactPresets:
"synonymous_variant",
"transcript_ablation",
"upstream_gene_variant",
# new mehari effects
"coding_sequence_variant",
"conservative_inframe_insertion",
"conservative_inframe_deletion",
"intron_variant",
"splice_donor_5th_base_variant",
"splice_donor_region_variant",
"splice_polypyrimidine_tract_variant",
"start_retained_variant",
"transcript_amplification",
],
}

Expand Down
10 changes: 10 additions & 0 deletions backend/variants/query_schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,16 @@ class Effects(Enum):
SYNONYMOUS_VARIANT = "synonymous_variant"
TRANSCRIPT_ABLATION = "transcript_ablation"
UPSTREAM_GENE_VARIANT = "upstream_gene_variant"
# new mehari effects
CODING_SEQUENCE_VARIANT = "coding_sequence_variant"
CONSERVATIVE_INFRAME_DELETION = "conservative_inframe_deletion"
CONSERVATIVE_INFRAME_INSERTION = "conservative_inframe_insertion"
INTRON_VARIANT = "intron_variant"
SPLICE_DONOR_5TH_BASE_VARIANT = "splice_donor_5th_base_variant"
SPLICE_DONOR_REGION_VARIANT = "splice_donor_region_variant"
SPLICE_POLYPYRIMIDINE_TRACT_VARIANT = "splice_polypyrimidine_tract_variant"
START_RETAINED_VARIANT = "start_retained_variant"
TRANSCRIPT_AMPLIFICATION = "transcript_amplification"


@unique
Expand Down
11 changes: 10 additions & 1 deletion backend/variants/schemas/case-query-v1.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,16 @@
"structural_variant",
"synonymous_variant",
"transcript_ablation",
"upstream_gene_variant"
"upstream_gene_variant",
"coding_sequence_variant",
"conservative_inframe_deletion",
"conservative_inframe_insertion",
"intron_variant",
"splice_donor_5th_base_variant",
"splice_donor_region_variant",
"splice_polypyrimidine_tract_variant",
"start_retained_variant",
"transcript_amplification"
]
}
},
Expand Down
4 changes: 2 additions & 2 deletions backend/variants/tests/data/query_settings.py
Git LFS file not shown
9 changes: 9 additions & 0 deletions backend/variants/tests/factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,15 @@ class FormDataFactory(FormDataFactoryBase):
effect_3_prime_UTR_intron_variant: bool = True
effect_transcript_ablation: bool = True
effect_upstream_gene_variant: bool = True
effect_coding_sequence_variant: bool = True
effect_conservative_inframe_deletion: bool = True
effect_conservative_inframe_insertion: bool = True
effect_intron_variant: bool = True
effect_splice_donor_5th_base_variant: bool = True
effect_splice_donor_region_variant: bool = True
effect_splice_polypyrimidine_tract_variant: bool = True
effect_start_retained_variant: bool = True
effect_transcript_amplification: bool = True
gene_blocklist: str = ""
genomic_region: str = ""
gene_allowlist: str = ""
Expand Down
10 changes: 10 additions & 0 deletions backend/variants/tests/test_ui.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,4 +225,14 @@ def assert_element_exists(self, kwargs, element_id, exists):
"id_effect_structural_variant": False,
"id_effect_transcript_ablation": False,
"id_effect_complex_substitution": False,
# new mehari effects
"id_effect_coding_sequence_variant": False,
"id_effect_conservative_inframe_deletion": False,
"id_effect_conservative_inframe_insertion": False,
"id_effect_intron_variant": False,
"id_effect_splice_donor_5th_base_variant": False,
"id_effect_splice_donor_region_variant": False,
"id_effect_splice_polypyrimidine_tract_variant": False,
"id_effect_start_retained_variant": False,
"id_effect_transcript_amplification": False,
}
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,10 @@ export const CONSEQUENCE_GROUP_INFOS: ConsequenceGroupInfo[] = [
'stop_lost',
'disruptive_inframe_deletion',
'disruptive_inframe_insertion',
'coding_sequence_variant',
'conservative_inframe_insertion',
'conservative_inframe_deletion',
'missense_variant',
'coding_sequence_variant',
],
},
{
Expand All @@ -145,10 +145,13 @@ export const CONSEQUENCE_GROUP_INFOS: ConsequenceGroupInfo[] = [
'exon_loss_variant',
'frameshift_variant',
'start_lost',
'start_retained_variant',
'stop_gained',
'stop_lost',
'stop_retained_variant',
'disruptive_inframe_deletion',
'disruptive_inframe_insertion',
'coding_sequence_variant',
'conservative_inframe_insertion',
'conservative_inframe_deletion',
'missense_variant',
Expand Down
82 changes: 79 additions & 3 deletions frontend/src/variants/components/FilterForm/EffectPane.fields.js
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,41 @@ export const detailedEffectGroups = Object.freeze([
explanation:
'A tandem duplication where the individual regions are in the same orientation.',
},
{
id: 'coding_sequence_variant',
label: 'coding variant',
so: 'SO:0001580',
explanation:
'A sequence variant that changes the coding sequence.',
},
{
id: 'conservative_inframe_insertion',
label: 'conservative in-frame insertion',
so: 'SO:0001823',
explanation:
'An inframe increase in cds length that inserts bases into the coding sequence without changing the amino acid sequence.',
},
{
id: 'conservative_inframe_deletion',
label: 'conservative in-frame deletion',
so: 'SO:0001825',
explanation:
'An inframe decrease in cds length that deletes bases from the coding sequence without changing the amino acid sequence.',
},
{
id: 'start_retained_variant',
label: 'start retained',
so: 'SO:0002019',
explanation:
'A sequence variant where at least one base in the start codon is changed, but the start remains.',
},
{
id: 'transcript_amplification',
label: 'transcript amplification',
so: 'SO:0001889',
explanation:
'A feature amplification of a region containing a transcript.',
},
],
},
{
Expand Down Expand Up @@ -178,9 +213,14 @@ export const detailedEffectGroups = Object.freeze([
id: 'exon_loss_variant',
label: 'exon loss',
so: 'SO:0001572',
explanation:
'A sequence variant whereby an exon is lost from the transcript.',
explanation: 'A sequence variant whereby an exon is lost from the transcript.',
},
{
id: 'intron_variant',
label: 'intron variant',
so: 'SO:0001627',
explanation: 'A transcript variant occurring within an intron.',
}
],
},
{
Expand Down Expand Up @@ -250,6 +290,27 @@ export const detailedEffectGroups = Object.freeze([
explanation:
'A sequence variant in which a change has occurred within the region of the splice site, either within 1-3 bases of the exon or 3-8 bases of the intron.',
},
{
id: 'splice_donor_5th_base_variant',
label: 'splice donor 5th base',
so: 'SO:0001787',
explanation:
'A splice variant that changes the 5th base of the 5 base pair region at the 5\' end of an intron.',
},
{
id: 'splice_donor_region_variant',
label: 'splice donor region',
so: 'SO:0001789',
explanation:
'A sequence variant that changes the 5 base pair region at the 5\' end of an intron.',
},
{
id: 'splice_polypyrimidine_tract_variant',
label: 'splice polypyrimidine tract',
so: 'SO:0001624',
explanation:
'A variant that changes the polypyrimidine tract of a splice site.',
},
],
},
{
Expand Down Expand Up @@ -307,19 +368,34 @@ const _effectGroups = {
'stop_lost',
'structural_variant',
'transcript_ablation',
'coding_sequence_variant',
'conservative_inframe_insertion',
'conservative_inframe_deletion',
'transcript_amplification',
],
splicing: [
'splice_acceptor_variant',
'splice_donor_variant',
'splice_region_variant',
'splice_donor_5th_base_variant',
'splice_donor_region_variant',
'splice_polypyrimidine_tract_variant',
],
coding: [
'stop_retained_variant',
'synonymous_variant',
'coding_sequence_variant',
'conservative_inframe_insertion',
'conservative_inframe_deletion',
'start_retained_variant',
],
coding: ['stop_retained_variant', 'synonymous_variant'],
utr_intronic: [
'coding_transcript_intron_variant',
'5_prime_UTR_exon_variant',
'5_prime_UTR_intron_variant',
'3_prime_UTR_exon_variant',
'3_prime_UTR_intron_variant',
'intron_variant',
],
noncoding: [
'downstream_gene_variant',
Expand Down
4 changes: 2 additions & 2 deletions frontend/src/variants/components/FilterForm/EffectPane.vue
Original file line number Diff line number Diff line change
Expand Up @@ -359,13 +359,13 @@ defineExpose({
<div class="row">
<div
v-for="group in detailedEffectGroups"
class="col-xl-3 col-lg-4 pl-0 pr-0 mt-3"
class="col-xl-3 col-lg-4 mt-3"
>
<strong>{{ group.title }}</strong>
<br />
<div
v-for="field in group.fields"
class="custom-control custom-checkbox custom-control-inline"
class="d-flex custom-control custom-checkbox custom-control-inline"
:title="`${field.explanation} [${field.so}]`"
>
<input
Expand Down

0 comments on commit 64d6534

Please sign in to comment.