diff --git a/server/app/graphql/types/queries/typeahead_queries.rb b/server/app/graphql/types/queries/typeahead_queries.rb index c972266a0..22b665443 100644 --- a/server/app/graphql/types/queries/typeahead_queries.rb +++ b/server/app/graphql/types/queries/typeahead_queries.rb @@ -80,14 +80,13 @@ def variants_typeahead(query_term:, feature_id: nil) def disease_typeahead(query_term:) base_query = Disease.where(deprecated: false) results = base_query.where("diseases.name ILIKE ?", "%#{query_term}%") - .or(base_query.where("diseases.doid ILIKE ?", "#{query_term}%")) + .or(base_query.where("diseases.doid ILIKE ?", "#{query_term.gsub(/DOID:/i, "")}%")) .order("LENGTH(diseases.name) ASC") .limit(10) if results.size < 10 secondary_results = base_query.eager_load(:disease_aliases) .where("disease_aliases.name ILIKE ?", "%#{query_term}%") .where.not(id: results.select('id')) - .order("LENGTH(diseases.name) ASC") .distinct .limit(10-results.size) return results + secondary_results @@ -110,7 +109,6 @@ def therapy_typeahead(query_term:) tertiary_results = base_query.eager_load(:therapy_aliases) .where("therapy_aliases.name ILIKE ?", "%#{query_term}%") .where.not(id: results.select('id') + secondary_results.select('id')) - .order("LENGTH(therapies.name) ASC") .distinct .limit(10-results.size) diff --git a/server/app/jobs/populate_fusion_coordinates.rb b/server/app/jobs/populate_fusion_coordinates.rb index 1bdfd5a65..cbc20f80c 100644 --- a/server/app/jobs/populate_fusion_coordinates.rb +++ b/server/app/jobs/populate_fusion_coordinates.rb @@ -5,10 +5,19 @@ def perform(variant) end if variant.fusion.five_prime_partner_status == 'known' + if variant.five_prime_end_exon_coordinates.representative_transcript.blank? + return + end + populate_coords(variant.five_prime_end_exon_coordinates, variant.five_prime_start_exon_coordinates) populate_representative_coordinates(variant.five_prime_coordinates, variant.five_prime_start_exon_coordinates, variant.five_prime_end_exon_coordinates) end + if variant.fusion.three_prime_partner_status == 'known' + if variant.three_prime_start_exon_coordinates.representative_transcript.blank? + return + end + populate_coords(variant.three_prime_start_exon_coordinates, variant.three_prime_end_exon_coordinates) populate_representative_coordinates(variant.three_prime_coordinates, variant.three_prime_start_exon_coordinates, variant.three_prime_end_exon_coordinates) end diff --git a/server/app/models/variants/fusion_variant.rb b/server/app/models/variants/fusion_variant.rb index 8df15a2a4..f6e57f73a 100644 --- a/server/app/models/variants/fusion_variant.rb +++ b/server/app/models/variants/fusion_variant.rb @@ -91,6 +91,10 @@ def forbidden_fields ] end + def on_revision_accepted + PopulateFusionCoordinates.perform_later(self) + end + private def construct_five_prime_name(name_type:) construct_partner_name( @@ -157,9 +161,5 @@ def populate_coordinates PopulateFusionCoordinates.perform_later(self) end end - - def on_revision_accepted - PopulateFusionCoordinates.perform_later(self) - end end end