Skip to content

Commit c69f347

Browse files
committed
when revising a fusion variant, allow for optional exon coordinates
1 parent 94ceabc commit c69f347

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

client/src/app/forms/config/fusion-variant-revise/fusion-variant-revise.form.config.ts

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -88,8 +88,10 @@ function formFieldConfig(
8888
{
8989
key: 'referenceBuild',
9090
type: 'reference-build-select',
91-
props: {
92-
required: true,
91+
expressions: {
92+
'props.required': (field) =>
93+
Boolean(field.model.fivePrimeTranscript) ||
94+
Boolean(field.model.threePrimeTranscript),
9395
},
9496
},
9597
{
@@ -107,7 +109,11 @@ function formFieldConfig(
107109
label: 'Ensembl Version',
108110
description:
109111
'Enter a valid Ensembl database version (e.g. 75)',
110-
required: true,
112+
},
113+
expressions: {
114+
'props.required': (field) =>
115+
Boolean(field.model.fivePrimeTranscript) ||
116+
Boolean(field.model.threePrimeTranscript),
111117
},
112118
},
113119
],
@@ -125,11 +131,14 @@ function formFieldConfig(
125131
type: 'base-input',
126132
props: {
127133
label: "5' Transcript",
128-
required: !fivePrimeDisabled,
129134
disabled: fivePrimeDisabled,
130135
tooltip:
131136
"Specify a transcript ID, including version number (e.g. ENST00000348159.4) for the 5' exon you have selected",
132137
},
138+
expressions: {
139+
'props.required': (field) =>
140+
Boolean(field.model.fivePrimeExonEnd),
141+
},
133142
validators: {
134143
isTranscriptId: {
135144
expression: isEnsemblTranscript,
@@ -149,11 +158,14 @@ function formFieldConfig(
149158
},
150159
props: {
151160
label: "5' End Exon",
152-
required: !fivePrimeDisabled,
153161
disabled: fivePrimeDisabled,
154162
tooltip:
155163
'The exon number counted from the 5’ end of the transcript.',
156164
},
165+
expressions: {
166+
'props.required': (field) =>
167+
Boolean(field.model.fivePrimeTranscript),
168+
},
157169
},
158170
{
159171
key: 'fivePrimeOffset',
@@ -205,7 +217,6 @@ function formFieldConfig(
205217
key: 'threePrimeTranscript',
206218
type: 'base-input',
207219
props: {
208-
required: !threePrimeDisabled,
209220
disabled: threePrimeDisabled,
210221
label: "3' Transcript",
211222
tooltip:
@@ -218,6 +229,10 @@ function formFieldConfig(
218229
"3' Transcript must be a valid, human, versioned, Ensembl transcript ID",
219230
},
220231
},
232+
expressions: {
233+
'props.required': (field) =>
234+
Boolean(field.model.threePrimeExonStart),
235+
},
221236
},
222237
{
223238
key: 'threePrimeExonStart',
@@ -232,9 +247,12 @@ function formFieldConfig(
232247
label: "3' Start Exon",
233248
tooltip:
234249
'The exon number counted from the 3’ end of the transcript.',
235-
required: !threePrimeDisabled,
236250
disabled: threePrimeDisabled,
237251
},
252+
expressions: {
253+
'props.required': (field) =>
254+
Boolean(field.model.threePrimeTranscript),
255+
},
238256
},
239257
{
240258
key: 'threePrimeOffset',

server/app/graphql/mutations/suggest_fusion_variant_revision.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,11 @@ def resolve(fields:, id:, organization_id: nil, comment: nil)
8686
updated_variant.single_variant_molecular_profile_id = variant.single_variant_molecular_profile_id
8787
updated_variant.feature = variant.feature
8888
updated_variant.fusion = variant.feature.feature_instance
89-
updated_variant.name = updated_variant.generate_name
89+
if variant.name == 'Fusion'
90+
updated_variant.name = 'Fusion'
91+
else
92+
updated_variant.name = updated_variant.generate_name
93+
end
9094
updated_variant.vicc_compliant_name = updated_variant.generate_vicc_name
9195

9296
variant_revisions_obj = Activities::RevisedObjectPair.new(existing_obj: variant, updated_obj: updated_variant)

0 commit comments

Comments
 (0)