scout-browser 4.103.2__py3-none-any.whl → 4.103.3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
scout/server/app.py CHANGED
@@ -311,20 +311,31 @@ def register_filters(app):
311
311
 
312
312
  @app.template_filter()
313
313
  def format_variant_canonical_transcripts(variant: dict) -> List[str]:
314
- """Formats canonical transcripts for all genes in a variant."""
315
-
316
314
  lines = set()
317
315
  genes = variant.get("genes") or []
318
316
 
319
317
  for gene in genes:
318
+ gene_symbol = gene.get("hgnc_symbol", "")
319
+ hgvs = gene.get("hgvs_identifier")
320
320
  transcripts = gene.get("transcripts") or []
321
+
322
+ canonical_tx = None
323
+ primary_tx = None
324
+ tx_id = None
325
+
326
+ protein = None
327
+
321
328
  for tx in transcripts:
329
+ tx_id = tx.get("transcript_id")
322
330
  if not tx.get("is_canonical"):
331
+ if tx.get("is_primary"):
332
+ primary_tx = tx_id
323
333
  continue
324
- canonical_tx = tx.get("transcript_id")
334
+ canonical_tx = tx_id
325
335
  protein = tx.get("protein_sequence_name")
326
- line_components = [f"{canonical_tx} ({gene.get('hgnc_symbol', '')})"]
327
- hgvs = gene.get("hgvs_identifier")
336
+ break
337
+
338
+ line_components = [f"{canonical_tx or primary_tx or tx_id} ({gene_symbol})"]
328
339
  if hgvs:
329
340
  line_components.append(hgvs)
330
341
  if protein:
@@ -145,7 +145,9 @@ def gene_variants(institute_id):
145
145
 
146
146
  institute_choices = [
147
147
  (inst["_id"], f"{inst['display_name']} ({inst['_id']})")
148
- for inst in user_institutes(store, current_user)
148
+ for inst in sorted(
149
+ user_institutes(store, current_user), key=lambda i: i["display_name"].lower()
150
+ )
149
151
  ]
150
152
  form = GeneVariantFiltersForm()
151
153
  form.institute.choices = institute_choices
@@ -1023,7 +1023,7 @@ def download_str_variants(case_obj, variant_objs):
1023
1023
  variant_line.append(str(variant.get("variant_rank", ""))) # index
1024
1024
  variant_line.append(variant.get("str_repid", variant.get("str_trid", ""))) # Repeat locus
1025
1025
  variant_line.append(
1026
- variant.get("str_display_ru", variant.get("str_ru", ""))
1026
+ variant.get("str_display_ru", variant.get("str_ru", variant.get("str_motifs", "")))
1027
1027
  ) # Reference repeat unit
1028
1028
  variant_line.append(str(get_str_mc(variant) or ".")) # Estimated size
1029
1029
  variant_line.append(str(variant.get("str_ref", ""))) # Reference size
@@ -241,8 +241,12 @@
241
241
  {% endfor %}
242
242
  {%endif%}
243
243
  </div>"
244
- title="">{% if variant.str_repid %} {{ variant.str_repid }} {% elif variant.str_trid %} {{ variant.str_trid }} {% else %}
245
- {% for gene in variant.genes %} {{ gene.symbol }} {% endfor %} {% endif %}
244
+ title="">{% if variant.str_repid %} {{ variant.str_repid }}
245
+ {% elif variant.genes %}
246
+ {% for gene in variant.genes %} {{ gene.symbol or gene.hgnc_symbol }} {% endfor %}
247
+ {% else %}
248
+ {{ variant.str_trid }}
249
+ {% endif %}
246
250
  </a>
247
251
  {% for gene in variant.genes %}
248
252
  {% if variant.str_disease %}
@@ -230,6 +230,7 @@ def str_variants(institute_id, case_name):
230
230
  case_obj["_id"], category=category, query=query, build=genome_build
231
231
  ).sort(
232
232
  [
233
+ ("genes.hgnc_symbol", pymongo.ASCENDING),
233
234
  ("str_repid", pymongo.ASCENDING),
234
235
  ("str_trid", pymongo.ASCENDING),
235
236
  ("chromosome", pymongo.ASCENDING),
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: scout-browser
3
- Version: 4.103.2
3
+ Version: 4.103.3
4
4
  Summary: Clinical DNA variant visualizer and browser
5
5
  Project-URL: Repository, https://github.com/Clinical-Genomics/scout
6
6
  Project-URL: Changelog, https://github.com/Clinical-Genomics/scout/blob/main/CHANGELOG.md
@@ -449,7 +449,7 @@ scout/resources/cytoBand_hg19.txt.gz,sha256=pheUD5b9NlVuvwwnbKwDc2FG80Yg70gvPxVX
449
449
  scout/resources/cytoBand_hg38.txt.gz,sha256=sqSVmvPlktQ-0hTiTapJM-5UgyV6xDoYZuTF0kPuETs,6105
450
450
  scout/resources/custom_igv_tracks/mane.bb,sha256=flEexDxHmbX7IwwrMM0P5DWOxcSCjmHxGNlyg_WqElQ,3519360
451
451
  scout/server/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
452
- scout/server/app.py,sha256=NB3WXI2Xa8Wdfnonkoxb0mWeEV9gYOJhqvYc_h4ajTw,14633
452
+ scout/server/app.py,sha256=7iyp2gFhCRPr1zdRRYD-z3TanSjvbnEkI_YQiTSKxD8,14879
453
453
  scout/server/auto.py,sha256=8B6GwfOaUChkTLuLgYQDFMWlxGuHkEegF1argH2G2Ik,401
454
454
  scout/server/config.py,sha256=JcT9rUDcAdm9oSk7Wwbu-Aut96-xvBQnMeQTt_-6rXs,6401
455
455
  scout/server/links.py,sha256=aFCvrtXrc1gnhNhnifapVdUZOZKEpBD2zSxWXdvQLEk,28154
@@ -519,7 +519,7 @@ scout/server/blueprints/genes/templates/genes/layout.html,sha256=cZMLe2cInq24z0s
519
519
  scout/server/blueprints/institutes/__init__.py,sha256=kGSyYrBC1QaEQBDdoMkMLfaowV7roaV5DowICi_0RSQ,65
520
520
  scout/server/blueprints/institutes/controllers.py,sha256=nYAkZ2SRBQsXYm-rfMkfyxBTWGSrpsgnvGdZ9Qqsqk0,37115
521
521
  scout/server/blueprints/institutes/forms.py,sha256=1xz_p51YIlWv-VhkCD3WS0K1z1S1oPYuWNaUNAQOchk,6858
522
- scout/server/blueprints/institutes/views.py,sha256=LG-uTAEUxbkHvvk0YDeDak2v366lAhmFjsyGYbZGI48,9354
522
+ scout/server/blueprints/institutes/views.py,sha256=jBDLXw0vdAetaXqgZF3vd0EPCOpO11g0B3MTML7iTco,9425
523
523
  scout/server/blueprints/institutes/static/form_scripts.js,sha256=8Sn7omeXeeUbiXJPfT0Qb4CaBJ_KtZZWw7N2he7EDx0,747
524
524
  scout/server/blueprints/institutes/static/select2_darktheme.css,sha256=Nq_va597W_e5y-52B4ClwSJzACq0WFbPU8SIp3DtKIo,1818
525
525
  scout/server/blueprints/institutes/static/timeline_styles.css,sha256=Vq48ffIidpQmDQhAzfW47O9mGQZEWdlbMtOE8AK-ZEU,2122
@@ -636,10 +636,10 @@ scout/server/blueprints/variant/templates/variant/utils.html,sha256=Chek9j4v8R7s
636
636
  scout/server/blueprints/variant/templates/variant/variant.html,sha256=Pn4OSSgXjbsLXUbEKOqKKhyNsny4Ay-hoBFY1xDZ-dw,20741
637
637
  scout/server/blueprints/variant/templates/variant/variant_details.html,sha256=Bs59vFzJMav7D65aNLOQZ5985t0ZK49uyE1go_h5MdQ,21960
638
638
  scout/server/blueprints/variants/__init__.py,sha256=W1KCz9kEbVlNO0o3NvLitYLQoP_3JSJ5KSjhpcjlUBQ,55
639
- scout/server/blueprints/variants/controllers.py,sha256=NbRM4tVrWsLLOVH-Jun80K0ZwJ9MObCJtQjnBXE2hjM,74730
639
+ scout/server/blueprints/variants/controllers.py,sha256=82pBTGMuqq1FCII9j0FlAsewQjD3XMZvYZ6IKJgvDd0,74757
640
640
  scout/server/blueprints/variants/forms.py,sha256=X4lw2UhSAAkaAMgpBK5yz8B8RvcirjjgjOyctN8g1xw,12599
641
641
  scout/server/blueprints/variants/utils.py,sha256=ifFBoyigx0A5KPE4iz9NSpyuUeF1bElrb4ohQLD2GlU,919
642
- scout/server/blueprints/variants/views.py,sha256=kBzO4uyI4EjaSEt5YKEkOOouwJQqTuRPatdkSFu5jkA,28472
642
+ scout/server/blueprints/variants/views.py,sha256=7dEiz0g_ZhROmIouOaDa2tCUl0S6bAbzED6E9Ady4HA,28526
643
643
  scout/server/blueprints/variants/static/form_scripts.js,sha256=o3GCboaesA9Sm1HgejS_yQwt0I-NTkvcl56jiBdLqZs,8319
644
644
  scout/server/blueprints/variants/templates/variants/cancer-sv-variants.html,sha256=MbhtOx_szaTH4wPz6SkgA1JWrFri5Vsayty4YXUky4M,7164
645
645
  scout/server/blueprints/variants/templates/variants/cancer-variants.html,sha256=Y9UsAUOHn6pIi4p2n57EApJQeaxmbxLdmds5y1ceXyw,9717
@@ -647,7 +647,7 @@ scout/server/blueprints/variants/templates/variants/components.html,sha256=Oa3MU
647
647
  scout/server/blueprints/variants/templates/variants/fusion-variants.html,sha256=XGaLgWobzeFHwyQLXr_Yq9THssf8tGU91VbFKdGOFBg,4801
648
648
  scout/server/blueprints/variants/templates/variants/indicators.html,sha256=5IPiNgEB_JmYpvD6_Mpx9wd1gmKpsVnTm-HKfuBsKXg,5081
649
649
  scout/server/blueprints/variants/templates/variants/mei-variants.html,sha256=Lb_xNjUh15UCM7s3AvRGYpKSvQmJZYZU5qU-zoRs3UU,6008
650
- scout/server/blueprints/variants/templates/variants/str-variants.html,sha256=qZMQDlHrjmMhVmwc0AmQ5YrL7Q-Q-8kPd4_Ekn8IXPw,11132
650
+ scout/server/blueprints/variants/templates/variants/str-variants.html,sha256=bMDUOB_YyZHjh3Z9LxlhlcTIG436X8rIlG1EgGrosa4,11160
651
651
  scout/server/blueprints/variants/templates/variants/sv-variants.html,sha256=jmpofUnCsXXFcvMHniuOMIJN37FV1E7dPY6phLhdDf4,6714
652
652
  scout/server/blueprints/variants/templates/variants/utils.html,sha256=VVDCG1oiRM3v0W8Ga03Ym3m1dCYkjgmy1m9PJrGuDQ0,53768
653
653
  scout/server/blueprints/variants/templates/variants/variants.html,sha256=Nhgbkf0UCYHFZNE-4ilbp7PbYckXx3irTJZcaFohH5s,8461
@@ -695,8 +695,8 @@ scout/utils/link.py,sha256=HpQvwu0hmuCrs7TcAExLmOzEGr3glWuu8iaW0ao5pEA,9011
695
695
  scout/utils/md5.py,sha256=KkgdxOf7xbF9AF40ZjQKCgWaxFWJ9tp9RKjd8SU6IoA,649
696
696
  scout/utils/scout_requests.py,sha256=6R8boknrfwlmrRQ2txD81lfVtqUK_iabywEiVyIiZfQ,12685
697
697
  scout/utils/track_resources.py,sha256=eUjSEe-Ff8BIb4BHPC_COkJocQO2PaWueiPz1GAuiwY,2614
698
- scout_browser-4.103.2.dist-info/METADATA,sha256=oshdlGBA8Vvvoq4aDmTKYG-Kg_uPjB8XnhRxS9EH_7U,15527
699
- scout_browser-4.103.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
700
- scout_browser-4.103.2.dist-info/entry_points.txt,sha256=q_mxFwbMFTwXRDDIRVcqKram2ubMVmvs3CSNvZri1nY,45
701
- scout_browser-4.103.2.dist-info/licenses/LICENSE,sha256=TM1Y9Cqbwk55JVfxD-_bpGLtZQAeN9RovQlqHK6eOTY,1485
702
- scout_browser-4.103.2.dist-info/RECORD,,
698
+ scout_browser-4.103.3.dist-info/METADATA,sha256=3hBmvP8CtVpqYAwDzR4kK6FU9WoU8u6ft-4ufmm5b5A,15527
699
+ scout_browser-4.103.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
700
+ scout_browser-4.103.3.dist-info/entry_points.txt,sha256=q_mxFwbMFTwXRDDIRVcqKram2ubMVmvs3CSNvZri1nY,45
701
+ scout_browser-4.103.3.dist-info/licenses/LICENSE,sha256=TM1Y9Cqbwk55JVfxD-_bpGLtZQAeN9RovQlqHK6eOTY,1485
702
+ scout_browser-4.103.3.dist-info/RECORD,,