scout-browser 4.82.2__py3-none-any.whl → 4.83__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.
Files changed (57) hide show
  1. scout/__version__.py +1 -1
  2. scout/adapter/client.py +1 -0
  3. scout/adapter/mongo/base.py +0 -1
  4. scout/adapter/mongo/case.py +15 -37
  5. scout/adapter/mongo/case_events.py +98 -2
  6. scout/adapter/mongo/hgnc.py +39 -22
  7. scout/adapter/mongo/institute.py +3 -9
  8. scout/adapter/mongo/panel.py +2 -1
  9. scout/adapter/mongo/variant.py +3 -2
  10. scout/adapter/mongo/variant_loader.py +92 -79
  11. scout/commands/base.py +1 -0
  12. scout/commands/update/case.py +10 -10
  13. scout/commands/update/individual.py +6 -1
  14. scout/constants/file_types.py +4 -0
  15. scout/load/__init__.py +0 -1
  16. scout/load/all.py +3 -4
  17. scout/load/panel.py +8 -4
  18. scout/load/setup.py +1 -0
  19. scout/models/case/case_loading_models.py +6 -16
  20. scout/parse/case.py +0 -1
  21. scout/parse/disease_terms.py +1 -0
  22. scout/parse/omim.py +1 -0
  23. scout/parse/panel.py +40 -15
  24. scout/resources/__init__.py +3 -0
  25. scout/server/app.py +4 -50
  26. scout/server/blueprints/alignviewers/controllers.py +15 -17
  27. scout/server/blueprints/alignviewers/templates/alignviewers/igv_viewer.html +13 -3
  28. scout/server/blueprints/alignviewers/views.py +10 -15
  29. scout/server/blueprints/cases/controllers.py +70 -73
  30. scout/server/blueprints/cases/templates/cases/case.html +37 -21
  31. scout/server/blueprints/cases/templates/cases/collapsible_actionbar.html +1 -1
  32. scout/server/blueprints/cases/templates/cases/phenotype.html +8 -6
  33. scout/server/blueprints/cases/templates/cases/utils.html +3 -3
  34. scout/server/blueprints/cases/views.py +8 -6
  35. scout/server/blueprints/variant/controllers.py +5 -5
  36. scout/server/blueprints/variant/templates/variant/acmg.html +25 -16
  37. scout/server/blueprints/variant/templates/variant/components.html +11 -6
  38. scout/server/blueprints/variant/views.py +5 -2
  39. scout/server/blueprints/variants/controllers.py +1 -1
  40. scout/server/blueprints/variants/views.py +1 -1
  41. scout/server/config.py +16 -4
  42. scout/server/extensions/__init__.py +4 -2
  43. scout/server/extensions/beacon_extension.py +1 -0
  44. scout/server/extensions/chanjo_extension.py +58 -0
  45. scout/server/extensions/phenopacket_extension.py +1 -0
  46. scout/server/static/bs_styles.css +18 -0
  47. scout/server/utils.py +16 -2
  48. scout/utils/acmg.py +33 -20
  49. scout/utils/track_resources.py +70 -0
  50. {scout_browser-4.82.2.dist-info → scout_browser-4.83.dist-info}/METADATA +1 -1
  51. {scout_browser-4.82.2.dist-info → scout_browser-4.83.dist-info}/RECORD +55 -55
  52. scout/load/case.py +0 -36
  53. scout/utils/cloud_resources.py +0 -61
  54. {scout_browser-4.82.2.dist-info → scout_browser-4.83.dist-info}/LICENSE +0 -0
  55. {scout_browser-4.82.2.dist-info → scout_browser-4.83.dist-info}/WHEEL +0 -0
  56. {scout_browser-4.82.2.dist-info → scout_browser-4.83.dist-info}/entry_points.txt +0 -0
  57. {scout_browser-4.82.2.dist-info → scout_browser-4.83.dist-info}/top_level.txt +0 -0
scout/server/config.py CHANGED
@@ -75,10 +75,9 @@ ACCREDITATION_BADGE = "swedac-1926-iso17025.png"
75
75
  # Connection details for Scout REViewer service
76
76
  # SCOUT_REVIEWER_URL = "http://127.0.0.1:8000/reviewer"
77
77
 
78
- #
79
- # Cloud IGV tracks can be configured here to allow users to enable them on their IGV views.
80
- # A number of publicly-available tracks can be found here: https://trackhubregistry.org/
81
- # CLOUD_IGV_TRACKS = [
78
+ # Custom IGV tracks can be configured here to allow users to enable them on their IGV views.
79
+ # A number of publicly-available tracks can be found here: https://trackhubregistry.org/ or downloaded from
80
+ # CUSTOM_IGV_TRACKS = [
82
81
  # {
83
82
  # "name": "public_tracks",
84
83
  # "access": "public",
@@ -99,6 +98,19 @@ ACCREDITATION_BADGE = "swedac-1926-iso17025.png"
99
98
  # },
100
99
  # ],
101
100
  # },
101
+ # {
102
+ # "name": "local_tracks",
103
+ # "access": "public",
104
+ # "tracks": [
105
+ # {
106
+ # "name": "MANE",
107
+ # "type": "annotation",
108
+ # "format": "bigbed",
109
+ # "build": "38",
110
+ # "url": "scout/resources/custom_igv_tracks/mane.bb",
111
+ # },
112
+ # ],
113
+ # },
102
114
  # ]
103
115
 
104
116
  # Chanjo-Report
@@ -6,10 +6,11 @@ from flask_login import LoginManager
6
6
  from flask_mail import Mail
7
7
 
8
8
  from scout.adapter import MongoAdapter
9
- from scout.utils.cloud_resources import AlignTrackHandler
9
+ from scout.utils.track_resources import AlignTrackHandler
10
10
 
11
11
  from .beacon_extension import Beacon
12
12
  from .bionano_extension import BioNanoAccessAPI
13
+ from .chanjo_extension import ChanjoReport
13
14
  from .clinvar_extension import ClinVarApi
14
15
  from .gens_extension import GensViewer
15
16
  from .ldap_extension import LdapManager
@@ -33,5 +34,6 @@ phenopacketapi = PhenopacketAPI()
33
34
  rerunner = RerunnerService()
34
35
  matchmaker = MatchMaker()
35
36
  beacon = Beacon()
36
- cloud_tracks = AlignTrackHandler()
37
+ config_igv_tracks = AlignTrackHandler()
37
38
  bionano_access = BioNanoAccessAPI()
39
+ chanjo_report = ChanjoReport()
@@ -1,6 +1,7 @@
1
1
  """Scout supports integration with the Clinical Genomics SciLifeLab Beacon
2
2
  cgbeacon2: https://github.com/Clinical-Genomics/cgbeacon2
3
3
  """
4
+
4
5
  import datetime
5
6
  import logging
6
7
 
@@ -0,0 +1,58 @@
1
+ """
2
+ Generate coverage reports using chanjo and chanjo-report. Documentation under -> `docs/admin-guide/chanjo_coverage_integration.md`
3
+ """
4
+
5
+ import logging
6
+
7
+ from flask import current_app, request
8
+ from flask_babel import Babel
9
+ from markupsafe import Markup
10
+
11
+ LOG = logging.getLogger(__name__)
12
+ try:
13
+ from chanjo_report.server.app import configure_template_filters
14
+ from chanjo_report.server.blueprints import report_bp
15
+ from chanjo_report.server.extensions import api as chanjo_api
16
+ except ImportError as error:
17
+ chanjo_api = None
18
+ report_bp = None
19
+ configure_template_filters = None
20
+ LOG.warning("chanjo-report is not properly installed! %s.", error)
21
+
22
+
23
+ class ChanjoReport:
24
+ """Interfaces with chanjo-report. Creates the /reports endpoints in scout domain. Use Babel to set report language."""
25
+
26
+ def init_app(self, app):
27
+ if not chanjo_api:
28
+ raise ImportError(
29
+ "An SQL db path was given, but chanjo-report could not be registered."
30
+ )
31
+
32
+ def get_locale():
33
+ """Determine locale to use for translations."""
34
+ accept_languages = current_app.config.get("ACCEPT_LANGUAGES", ["en"])
35
+
36
+ # first check request args
37
+ session_language = Markup.escape(request.args.get("lang"))
38
+ if session_language in accept_languages:
39
+ current_app.logger.info("using session language: %s", session_language)
40
+ return session_language
41
+
42
+ # language can be forced in config
43
+ user_language = current_app.config.get("REPORT_LANGUAGE")
44
+ if user_language:
45
+ return user_language
46
+
47
+ # try to guess the language from the user accept header that
48
+ # the browser transmits. We support de/fr/en in this example.
49
+ # The best match wins.
50
+ return request.accept_languages.best_match(accept_languages)
51
+
52
+ babel = Babel(app)
53
+ babel.init_app(app, locale_selector=get_locale)
54
+ chanjo_api.init_app(app)
55
+ configure_template_filters(app)
56
+ app.register_blueprint(report_bp, url_prefix="/reports")
57
+ app.config["chanjo_report"] = True
58
+ app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = True if app.debug else False
@@ -3,6 +3,7 @@ Extension to Scout for Phenopacket integration (http://phenopackets.org).
3
3
  Write and read JSON Phenopackets, and interact with phenopacket-api backend
4
4
  (https://github.com/squeezeday/phenopacket-api).
5
5
  """
6
+
6
7
  import json as json_lib
7
8
  import logging
8
9
 
@@ -351,6 +351,24 @@ body {
351
351
  }
352
352
  /* end of sidebar-related stuff */
353
353
 
354
+ /* Closed submenu icon - general case */
355
+ .text-body[aria-expanded="false"] .collapse-icon::after {
356
+ content: " \f0d7";
357
+ font-family: "Font Awesome 5 Free", ui-monospace;
358
+ font-weight: 900;
359
+ display: inline;
360
+ text-align: left;
361
+ }
362
+ /* Opened submenu icon - general case */
363
+ .text-body[aria-expanded="true"] .collapse-icon::after {
364
+ content: " \f0da";
365
+ font-family: "Font Awesome 5 Free", ui-monospace;
366
+ font-weight: 900;
367
+ display: inline;
368
+ text-align: left;
369
+ }
370
+ /* end of sidebar-related stuff */
371
+
354
372
  option {
355
373
  width: 100%;
356
374
  }
scout/server/utils.py CHANGED
@@ -206,12 +206,26 @@ def user_institutes(store, login_user):
206
206
  return institutes
207
207
 
208
208
 
209
+ def case_has_mtdna_report(case_obj: dict):
210
+ """Display mtDNA report on the case sidebar only for some specific cases."""
211
+ if case_obj.get("track", "rare") == "cancer":
212
+ return
213
+ for ind in case_obj.get("individuals", []):
214
+ if ind.get("analysis_type") == "wts":
215
+ continue
216
+ case_obj["mtdna_report"] = True
217
+ return
218
+
219
+
209
220
  def case_has_chanjo_coverage(case_obj: dict):
210
221
  """Set case_obj["chanjo_coverage"] to True if there is an instance of chanjo available and case has coverage stats in chanjo."""
211
222
 
212
- chanjo_instance: bool = bool(current_app.config.get("SQLALCHEMY_DATABASE_URI"))
223
+ chanjo_instance: bool = bool(current_app.config.get("chanjo_report"))
213
224
  if case_obj.get("track", "rare") != "cancer" and chanjo_instance:
214
- case_obj["chanjo_coverage"] = True
225
+ for ind in case_obj.get("individuals", []):
226
+ if ind.get("analysis_type") != "wts":
227
+ case_obj["chanjo_coverage"] = True
228
+ return
215
229
 
216
230
 
217
231
  def case_has_chanjo2_coverage(case_obj: dict):
scout/utils/acmg.py CHANGED
@@ -190,27 +190,40 @@ def get_acmg(acmg_terms):
190
190
  bs_terms = []
191
191
  # Collection of terms with supporting Benign evidence
192
192
  bp_terms = []
193
+
194
+ suffix_map = {
195
+ "_Strong": {"P": ps_terms, "B": bs_terms},
196
+ "_Moderate": {"P": pm_terms},
197
+ "_Supporting": {"P": pp_terms, "B": bp_terms},
198
+ }
199
+
200
+ prefix_map = {
201
+ "PS": ps_terms,
202
+ "PM": pm_terms,
203
+ "PP": pp_terms,
204
+ "BS": bs_terms,
205
+ "BP": bp_terms,
206
+ }
207
+
193
208
  for term in acmg_terms:
194
- if term.endswith("_Strong"):
195
- ps_terms.append(term)
196
- elif term.endswith("_Moderate"):
197
- pm_terms.append(term)
198
- elif term.endswith("_Supporting"):
199
- pp_terms.append(term)
200
- elif term.startswith("PVS"):
201
- pvs = True
202
- elif term.startswith("PS"):
203
- ps_terms.append(term)
204
- elif term.startswith("PM"):
205
- pm_terms.append(term)
206
- elif term.startswith("PP"):
207
- pp_terms.append(term)
208
- elif term.startswith("BA"):
209
- ba = True
210
- elif term.startswith("BS"):
211
- bs_terms.append(term)
212
- elif term.startswith("BP"):
213
- bp_terms.append(term)
209
+ for suffix, prefix_dict in suffix_map.items():
210
+ if term.endswith(suffix):
211
+ for prefix, term_list in prefix_dict.items():
212
+ if term.startswith(prefix):
213
+ term_list.append(term)
214
+ break
215
+ break
216
+ else:
217
+ # Do we match any of the two standalone terms
218
+ if term.startswith("PVS"):
219
+ pvs = True
220
+ elif term.startswith("BA"):
221
+ ba = True
222
+ else: # Check remaining prefixes if no suffix match or standalone criteria match
223
+ for prefix, term_list in prefix_map.items():
224
+ if term.startswith(prefix):
225
+ term_list.append(term)
226
+ break
214
227
 
215
228
  # We need to start by checking for Pathogenecity
216
229
  pathogenic = is_pathogenic(pvs, ps_terms, pm_terms, pp_terms)
@@ -0,0 +1,70 @@
1
+ # coding=UTF-8
2
+ import logging
3
+ import re
4
+ from os.path import abspath, exists, isabs
5
+
6
+ LOG = logging.getLogger(__name__)
7
+
8
+ REQUIRED_FIELDS = ["name", "type", "url"]
9
+ TRACK_KEYS = ["name", "type", "format", "url", "indexURL"]
10
+ URL_PATTERN = re.compile("https?://")
11
+
12
+ from typing import List
13
+
14
+
15
+ class AlignTrackHandler:
16
+ """Class collecting external IGV tracks stored in the cloud"""
17
+
18
+ def init_app(self, app):
19
+ self.tracks = self.set_custom_tracks(
20
+ app.config.get("CUSTOM_IGV_TRACKS") or app.config.get("CLOUD_IGV_TRACKS")
21
+ )
22
+
23
+ def track_template(self, track_info: dict) -> dict:
24
+ """Provides the template for a VCF track object"""
25
+ track = {}
26
+
27
+ for key in TRACK_KEYS:
28
+ if key in track_info:
29
+ track[key] = track_info[key]
30
+
31
+ # Save track only of it contains the minimal required keys
32
+ if all(track.get(key) for key in REQUIRED_FIELDS):
33
+ return track
34
+ else:
35
+ raise FileNotFoundError(
36
+ f"One or more custom tracks specified in the config file could not be used, Please provide all required keys:{REQUIRED_FIELDS}"
37
+ )
38
+
39
+ def set_local_track_path(self, path: str) -> str:
40
+ """Returns the complete path to a local igv track file"""
41
+ if exists(path) and isabs(path):
42
+ return path
43
+ elif exists(path):
44
+ return abspath(path)
45
+ else:
46
+ raise FileNotFoundError(f"Could not verify path to IGV track:{path}")
47
+
48
+ def set_custom_tracks(self, track_dictionaries: List[dict]) -> dict:
49
+ """Return a list of IGV tracks collected from the config settings
50
+
51
+ Args:
52
+ track_dictionaries: a list of cloud bucket dictionaries containing IGV tracks, can be public or private
53
+ """
54
+ custom_tracks = {"37": [], "38": []}
55
+ # Loop over the bucket list and collect all public tracks
56
+ for track_category in track_dictionaries:
57
+ for track in track_category.get("tracks", []):
58
+ build = track.get("build")
59
+ if build not in ["37", "38"]:
60
+ LOG.warning(
61
+ "One or more IGV public tracks could not be used, Please provide a genome build ('37', '38') for it."
62
+ )
63
+ continue
64
+ track_obj = self.track_template(track)
65
+
66
+ if not URL_PATTERN.search(track_obj["url"]): # It's a local file
67
+ track_obj["url"] = self.set_local_track_path(track_obj["url"])
68
+
69
+ custom_tracks[build].append(track_obj)
70
+ return custom_tracks
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scout-browser
3
- Version: 4.82.2
3
+ Version: 4.83
4
4
  Summary: Clinical DNA variant visualizer and browser.
5
5
  Home-page: https://github.com/Clinical-Genomics/scout
6
6
  Author: Måns Magnusson
@@ -1,33 +1,33 @@
1
1
  scout/__init__.py,sha256=Z4liXvmEcLkC67ElsWvYHfemPKdWgWI5O6MB6XlDM8M,232
2
- scout/__version__.py,sha256=-tAuS8cIDLp6AGxFKcTo19IOq_e24ShlFdKfJzggGj0,23
2
+ scout/__version__.py,sha256=Kv_DfPRkoZkG-PQ48-r24xj_8hLgmLZ8dm27gihcjb4,21
3
3
  scout/adapter/__init__.py,sha256=-iX_hx2NI1EMAqX0pMd5_90Nnd9uvIMxv9EbefYBzsc,86
4
- scout/adapter/client.py,sha256=0VR5LRPEqZg_bAxQte1RGMxV8BSiQordbPs57PaZTlI,1512
4
+ scout/adapter/client.py,sha256=IuajRsEwTG41ZP14X09Q1Cj94zIgmIvUtlXfcAFn0EA,1513
5
5
  scout/adapter/mongo/__init__.py,sha256=NdHYCUXWUAuX5cUS3-6HCws2hW9uoGep8i0SC-oJd3k,31
6
6
  scout/adapter/mongo/acmg.py,sha256=v2Zuw-6APVmcnBnNXa18WJEu2vj5GUhZNiKMkruJsBI,4170
7
- scout/adapter/mongo/base.py,sha256=IQ4lZw221SD0Ods51k9o-Z_W86vqQd8sDEuv4FSaOBc,4207
8
- scout/adapter/mongo/case.py,sha256=UUcPmpDCwXlbdb-evfyAkAPrUO35DBGXEZkf97kK63s,59699
9
- scout/adapter/mongo/case_events.py,sha256=jSejlOxU_qx7pphvkfQuVTpz7Zjwx4H41nFhdPav2Uo,23560
7
+ scout/adapter/mongo/base.py,sha256=6sN_KofLZS47CpxAnA0x2zhhc0k09riiKOAgaAaDzSI,4206
8
+ scout/adapter/mongo/case.py,sha256=guQ_Jd8gLDl4w7cA3dtAI7RL_F-v2nzwNohF6g-M5qo,59063
9
+ scout/adapter/mongo/case_events.py,sha256=slHR4XJF9vRuEbuInJKMMAImLF8m7tHWVfGP42fbXr0,26859
10
10
  scout/adapter/mongo/case_group.py,sha256=tG8DuO0rNYepV4k0yCGPqssODErc0HMsAypg3mfhcV0,1575
11
11
  scout/adapter/mongo/clinvar.py,sha256=tczC39O3DFDkYgjt2RDgkkG-x1Mvx_99Hw7dAbIQ5gk,19838
12
12
  scout/adapter/mongo/cytoband.py,sha256=pOWMvOn7lLATk_ShuzRWnGa3xRyILGRJRxh4VONCw7k,2082
13
13
  scout/adapter/mongo/disease_terms.py,sha256=4qcQRLuP5xn_RkB2RlNtwCrONmDuWwdlngZrj87BUEo,5637
14
14
  scout/adapter/mongo/event.py,sha256=NnURFhS5odOXk7So_gGMHmALPAJM0PWzESI4FC06azE,19842
15
15
  scout/adapter/mongo/filter.py,sha256=GoPqMDqteE1pDiVfpUP8xxT_1A8s7S4ByITCJGdesok,7570
16
- scout/adapter/mongo/hgnc.py,sha256=sQZtHEe8q42HVJ9F7uIwE2oY5dJUS_TWAQ6WUqLCxC0,15980
16
+ scout/adapter/mongo/hgnc.py,sha256=qklk7rKO8TCklh6XvjgWXiB-BZ9Vkp-SFRM1-xgfX1s,16407
17
17
  scout/adapter/mongo/hpo.py,sha256=ps2Pix3sGeea7DenboZVP5j7Vh9WAgX3-sgpbAj0Eck,6871
18
18
  scout/adapter/mongo/index.py,sha256=TZPVv6xBWsEtZpBUWp5uhjuPjQMfVss4lZZju49g1Lw,3577
19
- scout/adapter/mongo/institute.py,sha256=dTiMZSXvJYU567_goyIs-ZZVqMSZDxTtFEbwE6xE53g,7120
19
+ scout/adapter/mongo/institute.py,sha256=GQmMKb_VzsvWwadp6gXHlSSpcG5ovF1ozdTzvpTFLpA,7025
20
20
  scout/adapter/mongo/managed_variant.py,sha256=YFdnIhNVIawVhmlOxHOpe6sJyso0FCGdlXOXyhSWol8,8373
21
21
  scout/adapter/mongo/matchmaker.py,sha256=amTvFOlUbrt1RmecY_8hPY6bO3j79lc2UbmzlCQcRuk,6378
22
- scout/adapter/mongo/panel.py,sha256=KoSHKbYBPzA_-NugGKwHDzPTHO9RZuj7U4oxKvp6_LU,20916
22
+ scout/adapter/mongo/panel.py,sha256=KRerlJzlm-NZRihDMJzOiD9ECYqqsEkXxkbcLADL0mI,20921
23
23
  scout/adapter/mongo/phenomodel.py,sha256=cypSS8YRzu98Bf1kC0orfrLNn_ZQSYCK8e4mNR5PaPY,2572
24
24
  scout/adapter/mongo/query.py,sha256=Mpl8wxfmxFbue5Mixq1jCQcImCPg9D5nf6jCli2WDTM,32653
25
25
  scout/adapter/mongo/rank_model.py,sha256=wvDNI4OLf-f7ZYZ_Q_6qi0myxOJCNNJR_-2-_0u2K2M,5712
26
26
  scout/adapter/mongo/transcript.py,sha256=3U1qtyxZ1DnrzdBJm_emJXISMYFKJuX_zAKynUt8NMY,7417
27
27
  scout/adapter/mongo/user.py,sha256=QoQnRWqi_dV3ZwGzBonEU6Ap9TgMDf2x_C5UIqG0pa0,2569
28
- scout/adapter/mongo/variant.py,sha256=f3yU3Wu5ZTarDsUs314kjcM-UAFdkPfSjPjyKsrMYg8,34143
28
+ scout/adapter/mongo/variant.py,sha256=wsEwmgD6MjThBqfN4LvdET2bVesF0SQ7ENNP4AfOFEo,34191
29
29
  scout/adapter/mongo/variant_events.py,sha256=LjUtxJLo3wGBjMI55wPs7sNPeDLq9POw6fgz0dzeuFM,31842
30
- scout/adapter/mongo/variant_loader.py,sha256=hMkRq5Bnk9DLEExV_IXOSY7FUzlArkZ0PBiytRqJG4E,27587
30
+ scout/adapter/mongo/variant_loader.py,sha256=FkW5POGpgRoSfH129VpHxQqII_2OKG4ZChlc45fBcpw,28300
31
31
  scout/build/__init__.py,sha256=GUWEaXTpwsJil_KtrXBQJpZIwCQFSgo8NlK49R9IkA8,521
32
32
  scout/build/acmg.py,sha256=M21MrrP_dtEyOuu6t-jBDdaqYcHPMLcwJlt9fHG2ycE,1523
33
33
  scout/build/case.py,sha256=rSsY1ePm8Esn_heE5bU6z2LkKmPhJNiwnB1IeYzKwnU,11057
@@ -50,7 +50,7 @@ scout/build/variant/genotype.py,sha256=QDTZWFB8ix9Zd1m9UPWgT008i6rC7gT-uFzRr9Gni
50
50
  scout/build/variant/transcript.py,sha256=hf_led1kdT3hVEwtHdORhBSk6a6o_zEDJ0z4ZF8IlFA,1205
51
51
  scout/build/variant/variant.py,sha256=GJBRoAb-Ul9_tR1tUmnNpS9lpJOlLV0K4mEid98jS58,18427
52
52
  scout/commands/__init__.py,sha256=VrenBj1daCAnIsBZtvdbv1SuxmODT_TTY8YcxWItrXE,22
53
- scout/commands/base.py,sha256=2Hhig-X598AVnxQz9A2UObRQD45jFV0MtdNeUn3B7Hw,4609
53
+ scout/commands/base.py,sha256=WmUko96zsPbC3cUIezy0CAOOGKBFU-BoW-BPAhLORCE,4610
54
54
  scout/commands/convert.py,sha256=T5dkFjRKSTf7dBS9uKIW4wEmdL13vKzKTLRy4nvf6Vg,1090
55
55
  scout/commands/index_command.py,sha256=QTBU7LT2YldDBXuWCVdTH5FlQgRB6BCdiYoFrPo08NU,1149
56
56
  scout/commands/serve.py,sha256=fImJrgMBYQTD18xODjGqN6NgXjTe8seI_awd9vF04rU,1564
@@ -96,12 +96,12 @@ scout/commands/setup/__init__.py,sha256=uiuizwirbfLqp93K4__b982obk1stkzwpvXHi51O
96
96
  scout/commands/setup/setup_scout.py,sha256=Pj4Xmm-NsTykPpUkKu_cxDS42rNZOWlEdVFcnaCxDO4,9254
97
97
  scout/commands/update/__init__.py,sha256=yKNjRTVFsSTko8T7znfMqSI_HsGPN2-z1c0twkwO5uE,25
98
98
  scout/commands/update/base.py,sha256=XxxBGzn9JdFfk39jsZbU5eAZhE41MLq73WwLqa_u4Rc,1179
99
- scout/commands/update/case.py,sha256=j1NmFe4TD2Gb6LU7pWnIA_TaBwWgS1FWkYs8LbRzBO0,5782
99
+ scout/commands/update/case.py,sha256=q7gjMS4izlrV0LghfTM9GiJeXI0K4qtmO62TqfTqizw,5822
100
100
  scout/commands/update/compounds.py,sha256=vwCtb6045tGovKWHqY_uL8w1l9rZ_Hxlt0gUU0cKXUk,753
101
101
  scout/commands/update/disease.py,sha256=AajPLoEtd9YeU3jf7S7ZQRs3_o1H3GSxHsST_sVaIZQ,3846
102
102
  scout/commands/update/genes.py,sha256=ngzdPodG9qosQYOMKE9x-rMjniZU3T1d5vmuMrduKJY,7082
103
103
  scout/commands/update/hpo.py,sha256=eyCuUlUwPmyP0oLh1olXhdqInlUXDdLe8ylgTlHWi-g,1339
104
- scout/commands/update/individual.py,sha256=0qtXbrMFvoSrwPHVAJvx9asbFC6Oo-qc7mgECMNJcYk,3792
104
+ scout/commands/update/individual.py,sha256=lwVQcKCZj5VxUSO8CcBUsvVRl3ZHgJVe4AE9pcJS7ys,4007
105
105
  scout/commands/update/institute.py,sha256=ms8mmTGfCXqxeh_vSB1cdNDGrdHoSSgh9ryhB5GrJQc,1727
106
106
  scout/commands/update/omim.py,sha256=ttPivJhFtruG4jXNd6q82Wtf7ajjGsXUC8NkmdZ7q9I,2308
107
107
  scout/commands/update/panel.py,sha256=990shZ15k5pwHUkd767o8oQ5iqVIpgRA7N_9yv1_eqc,2912
@@ -129,7 +129,7 @@ scout/constants/case_tags.py,sha256=Pr9Go_I8udRnrdcRcZdu4swS0Jpdwf8hUdDVGR6d9yY,
129
129
  scout/constants/clinvar.py,sha256=TzbnbUsSBML3k1SBVIL3kQh5Hwjq5kqKhtQOOEkfHwU,5586
130
130
  scout/constants/clnsig.py,sha256=2u_avIzWO_IPJGcTOoSB7_xqgu5JBl_zZZfT8UVpY90,1359
131
131
  scout/constants/disease_parsing.py,sha256=m10iPVzdTsdx7v9ZWvdLjlBrQKR_uyMeJwPbokO9SHY,688
132
- scout/constants/file_types.py,sha256=OQ3g1uo4jvhiLlPV1MBoqctWGc4YrS2wnGS6PoflIAA,1016
132
+ scout/constants/file_types.py,sha256=kJbG1zyHb8zS0KMRbbU7XVigQLEZNzUmCLFHmI4Zk_k,1298
133
133
  scout/constants/filters.py,sha256=8nRRb7_17G4P8zMgJ7qrK4NAAuGbPLl-pU5GPP3L4eE,889
134
134
  scout/constants/gene_tags.py,sha256=tdzDh6ukJRtHiC8X5YkldijZCS0KrEeXj95sLNlqxuc,3852
135
135
  scout/constants/igv_tracks.py,sha256=3-3VzFpCTfuhbEBAitbpY2lQRYXYf-poya3DXs0g9yE,4500
@@ -359,18 +359,17 @@ scout/export/gene.py,sha256=6DTJuZUwbsBe3oyKhfov7ZmqM8DbShl5f1IAeZN736k,263
359
359
  scout/export/panel.py,sha256=sLSOiePx7QguJUXddsNNgobR-90JI1HFxMV0raZlNzo,5244
360
360
  scout/export/transcript.py,sha256=wprCSxGDo2fittTd3IkIqUPnhFj4h4oSNFuyCO9Uyis,400
361
361
  scout/export/variant.py,sha256=sxe3-tnVs9cVRtK6I01oo9-hM0DBw0w1bGgvvv2FWUs,7358
362
- scout/load/__init__.py,sha256=hLnUX8QxSUkvd3XATwPRym7eherPdJ5fSgti6asSOWU,240
363
- scout/load/all.py,sha256=ERH61iWhEYzd2J7m5TOwNsJwjklfCkeFMveDVBD95cQ,3608
364
- scout/load/case.py,sha256=2iIUj36Z2XtIPvijhCIlR-CMvYqzcjWKK_3XLTyKC5I,1066
362
+ scout/load/__init__.py,sha256=d9cGZ9jMOfnmd9wkyspRFE2m5nxJt8MnpN-8PDlu-7M,212
363
+ scout/load/all.py,sha256=BvamX_hFNb-rM6gc3APAFWvWDGni2CBhJ_ti0HkNRlI,3548
365
364
  scout/load/cytoband.py,sha256=vPU8oQm31WMcnaG9QG2le9pe_8g70O1S0q1Ljj3Ce84,1356
366
365
  scout/load/disease.py,sha256=eZ-RDTtfO6-YCk0tCHuhCWxw1FSCwHNZEemWXCC4P_w,2747
367
366
  scout/load/exon.py,sha256=ONaWJ9EfbhGV8KGXxwlq_jYCoU-JkBpv4r9zDaCjtls,2070
368
367
  scout/load/hgnc_gene.py,sha256=rn2vHuECg_LWRzTE9IE1szp6U9HzxX2P0C89kRNNJ5U,3439
369
368
  scout/load/hpo.py,sha256=ZWYjV9j6OfpI-ZZuhTQVEs_xgLa7ST2KuvYLW6ku0PY,2474
370
369
  scout/load/institute.py,sha256=etmZ0CZRHOVi3f9R-wn5BK1pZPhtZwq2QYbh2RXXxDc,625
371
- scout/load/panel.py,sha256=UrQQFAn1LtbOe-rAnOShvUMOBMU6jddaUJRvhJmBD90,9165
370
+ scout/load/panel.py,sha256=JQqkyUdpvhFnW81n8Sq-iPahDcm1hGBzLfrwUcVqt4k,9446
372
371
  scout/load/report.py,sha256=TJvblks6Dp5-UDflWRTa8b3fe-A4bT4QnWT2yZLhfLA,820
373
- scout/load/setup.py,sha256=z72iVbmGk7T5tV3NJwFp25rX_vVdCQ8LVTLP_syQNkw,8193
372
+ scout/load/setup.py,sha256=QoT5WZgzTT5c9b_lgkFUXlyRYDpHboJHzdcvEcObbds,8194
374
373
  scout/load/transcript.py,sha256=mk0Da7GWwqLVRp2xRD9mlzqaomH9R-TL2aKCJx4fEA8,4632
375
374
  scout/log/__init__.py,sha256=ezc9URKnFoELUif9ZNqG6vNzXPOccGuDyzqoBngSIZo,63
376
375
  scout/log/handlers.py,sha256=nwcSeqwtcesiIiEnpVOm7vTugDTOBodP6apm9Z1LIqk,1350
@@ -389,15 +388,15 @@ scout/models/phenotype_term.py,sha256=U07Pg5PCsOAu-g_HXbyifVy3sK1QyzDYqH3D4qfbo7
389
388
  scout/models/user.py,sha256=oercrjpf9fLomqAcN0Fv1BL_XPjOrS_vchURo0RP7es,1134
390
389
  scout/models/case/__init__.py,sha256=Sqczn7Wm9KYZtPGAHCvwX_6j9vlaK-0myJtSDlS-448,121
391
390
  scout/models/case/case.py,sha256=7r-lR5jr3hNyM0jo-KxQDY7CLjtgtzu26PHOalx1s68,5213
392
- scout/models/case/case_loading_models.py,sha256=D1WYdkezb71MV-f0UM9OVjiS53zHQuS0ArS704508rs,20187
391
+ scout/models/case/case_loading_models.py,sha256=fvTWd90_5n-630y8tbZ3nHiarWgrc9x74uvnqW-oHy4,20112
393
392
  scout/models/variant/__init__.py,sha256=H-IZ2hSTSVS28S8FZzA8j2Cyu1PHQFXyMWJFtCucPAk,40
394
393
  scout/models/variant/gene.py,sha256=98CG_JcAklGGFIrUulf1_olQalV65kXQO-gOf7VQZ0A,1095
395
394
  scout/models/variant/transcript.py,sha256=rfflEbTs7Bn4HDENqrxtGopQ_0HKnrVLLyBcrj4NpwM,1720
396
395
  scout/models/variant/variant.py,sha256=zdSOqI8GYJWlQdbucC68M_5iWS79ar29twGvBunCuOQ,4424
397
396
  scout/parse/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
398
- scout/parse/case.py,sha256=-swb-XBe6AOAzRBXob0VBQhotInZ9cg9L4sspIwS5zc,11653
397
+ scout/parse/case.py,sha256=-sGKWYWcskMagrDpEoeCIAJacwCR2feC8SwWvT0FJVw,11577
399
398
  scout/parse/cytoband.py,sha256=7flY3b_wegupHHBLRcs4KyM1ns-uzuTfVHm4CycnupE,1055
400
- scout/parse/disease_terms.py,sha256=iYX0W32C6rQhYF7guIbtiqV4M8gMZv3Abt0teK5_2O4,7436
399
+ scout/parse/disease_terms.py,sha256=-JIm4GWEvqg9nmWehK18mlIQ-N5nZhT2u5pbfDRXoxE,7437
401
400
  scout/parse/ensembl.py,sha256=nnqOVtLgWh9wbtHnzGIidnNIvRoOp2bTct5OuAFSSB0,10618
402
401
  scout/parse/exac.py,sha256=VbahYYoMl8RkffChAhKnrVOS6fzQdDKRkPMPZnKnZcQ,1972
403
402
  scout/parse/hgnc.py,sha256=dSV-gIHv6n1wwPc_zpJpuh7r3o1LZ86JVdRZGmJlewI,3189
@@ -405,9 +404,9 @@ scout/parse/hpo_mappings.py,sha256=UJY38iLmpJFnZ9FuRaNIGhNQnTx7_WASxr9mlEnhvHE,2
405
404
  scout/parse/hpo_terms.py,sha256=ZJCKFD0rV3jiCuoI8Gm1WNTiaOSRRoKOhZ1bYnqwY6I,5732
406
405
  scout/parse/matchmaker.py,sha256=5e9NCFQ2rKXNCJTW-ThXoEylEPl3H41cCfQzPATQ2QM,9524
407
406
  scout/parse/mitodel.py,sha256=3uvEXI9v9wIw97NUL7gqLLxHay0mpQpDgKaIxUbIyrE,803
408
- scout/parse/omim.py,sha256=zhrX4qWJgMupOVCs1pvS549OVSOwksHedfB8ljOTA0I,12463
407
+ scout/parse/omim.py,sha256=oFnf1CpEqX2imBvOla1A-3qM6vXpY4B_lc4cgiTSFXc,12464
409
408
  scout/parse/orpha.py,sha256=fD-d1W6Y_yUwrpsAxsIFHoUcOUafovItjev4CKw52p0,4391
410
- scout/parse/panel.py,sha256=GtBp299I17SjssE1oSsUvgxQyZLyPmCVgxPjMtQsdMU,12433
409
+ scout/parse/panel.py,sha256=4HYjokWh2sF-effLQxPf4ZzRHsf9grqF1Z9f-HAaRmk,13153
411
410
  scout/parse/peddy.py,sha256=uM49GaZMtr8waCsZDvCHDS5JDQ43JUlhdWh9C7f7ZvU,5418
412
411
  scout/parse/smn.py,sha256=iOK1N8iYm9dFigsKtWq0Y0ZCa1CH29s9zeR_tH0bPuc,1153
413
412
  scout/parse/variant/__init__.py,sha256=5yqCQlAYMqosRabdipFUXqopSMBN4X6jwpNiKiYKlsE,35
@@ -427,47 +426,47 @@ scout/parse/variant/models.py,sha256=NrqLXu7PxpIQ0NmjGRIEk4vS_y972VPiexLsZCZpOn0
427
426
  scout/parse/variant/rank_score.py,sha256=ipFxCTsQHMqObUbzLJlDAKUb3_lk_sqEYzH52myZVVk,486
428
427
  scout/parse/variant/transcript.py,sha256=h0-IPDj4Th5aNijyhR1jrwnPe_YZx5QVajqn9ttxE98,13340
429
428
  scout/parse/variant/variant.py,sha256=hKsE2b97hRuUpE948VHL5WOL81n-_RKpZBdRGOHaV1A,23759
430
- scout/resources/__init__.py,sha256=MNY3UdgbvOGoVnwGQly2HyOtMfkdPXqnN-sbe_XrOJ8,337
429
+ scout/resources/__init__.py,sha256=i9UVG651subgmOZ-Gm-JKPsXBqr5-50QUDfSpbwmwIw,443
431
430
  scout/resources/cytoBand_hg19.txt.gz,sha256=pheUD5b9NlVuvwwnbKwDc2FG80Yg70gvPxVXP-Sqd3k,6147
432
431
  scout/resources/cytoBand_hg38.txt.gz,sha256=sqSVmvPlktQ-0hTiTapJM-5UgyV6xDoYZuTF0kPuETs,6105
433
432
  scout/server/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
434
- scout/server/app.py,sha256=oM1rdghv5fQ5Wy46SRjeN9fLl2vk9ad6C3LtF58q_DA,11995
433
+ scout/server/app.py,sha256=H-0MXcqyP897No1bRzETR1m9vUq7Up1jDsVRwdTG9qU,10394
435
434
  scout/server/auto.py,sha256=8B6GwfOaUChkTLuLgYQDFMWlxGuHkEegF1argH2G2Ik,401
436
- scout/server/config.py,sha256=Ld9Vznr9cyss-PS8Av1OH4H96sDpzf8ZU3aWTNjTeqo,5228
435
+ scout/server/config.py,sha256=5dIxQ2Fowh5HUpRRmDTAnbAfzAbXrUdmKKzJ2JrccTw,5598
437
436
  scout/server/links.py,sha256=TVAyn4_vvKpiZjIEIMdbNZReNrCRgOfvV8ZHCqlgWy0,26996
438
- scout/server/utils.py,sha256=u_ZzkjPz2Hz1kzZGGjCjzQvjBJAOPtlSu_tNJFII8L0,12021
437
+ scout/server/utils.py,sha256=t9wRs2L2NojrlFeYHtxpIiebU5RljqRCjV7-sut0cT4,12505
439
438
  scout/server/blueprints/__init__.py,sha256=iwhKnzeBJLKxpRVjvzwiRE63_zNpIBfaKLITauVph-0,24
440
439
  scout/server/blueprints/alignviewers/__init__.py,sha256=XMVed2ekVUAvroqENDHSr2pwM8otqau8ZA-rbH1T2U8,59
441
- scout/server/blueprints/alignviewers/controllers.py,sha256=05_0kPA3mCN981Od-MtY3g8Jfk3nc61FSjYwNVUPP3U,12285
440
+ scout/server/blueprints/alignviewers/controllers.py,sha256=GN7QrwbG2rj3HIArTqHTw0QH4jLCY_NhNGUwrMU4D1M,12278
442
441
  scout/server/blueprints/alignviewers/partial.py,sha256=9hpI00yhvZZCcPVUHlVDp488r1j7vYU5YDXYA6OkWQM,2005
443
- scout/server/blueprints/alignviewers/views.py,sha256=cnCg3fLGMWnOt5VZuQX82s7oBDbERe2MT0ip99jG7_s,5085
442
+ scout/server/blueprints/alignviewers/views.py,sha256=IHsi7vNdBaTnqxo2IzD-kn9BNES0eqLMy5kWOeKNhRM,4733
444
443
  scout/server/blueprints/alignviewers/templates/alignviewers/igv_sashimi_viewer.html,sha256=2SCRN7lNAjdQWx3hB6avDPZ4lwfE4tgM4ksUS_SZQok,5219
445
- scout/server/blueprints/alignviewers/templates/alignviewers/igv_viewer.html,sha256=PTj6pn_f3sCdfhyJlKlrGS6Qe0UnEVj__Q31WZPsEhQ,6426
444
+ scout/server/blueprints/alignviewers/templates/alignviewers/igv_viewer.html,sha256=Wmu2EODYZXa-WGNjAMkGE4uOu7t4MrePAKXumtYSD_g,7013
446
445
  scout/server/blueprints/alignviewers/templates/alignviewers/utils.html,sha256=ni4V7PqM0KQbDv1jwE9dBCc1oqyP3frGqv_uTn33FPg,206
447
446
  scout/server/blueprints/api/__init__.py,sha256=HR6HjS7ot1K_8Lt5eQdNT154z_FCdHGSigy8r2LpNCI,26
448
447
  scout/server/blueprints/api/views.py,sha256=pbl78wfhrm1T8JmiJDYF3BbTbfFrlF-hQRbuv2GWI0s,3729
449
448
  scout/server/blueprints/cases/__init__.py,sha256=_c17kPFITFYcIVphF4V9bf0PZBer8bU3rtVWQnljKDU,52
450
- scout/server/blueprints/cases/controllers.py,sha256=om7TPqsb2ZUGTAmuicp_peplZ1ujBPMUhwu_NYL7nuQ,54180
451
- scout/server/blueprints/cases/views.py,sha256=0MikCLSJUkQBbT3vNIAWefD57_6lZ4302Zx52LMygB8,42685
449
+ scout/server/blueprints/cases/controllers.py,sha256=Hc_A59cGCByo-7mMqFuLU21U5eBVAI_ktObhpFC5PeU,54195
450
+ scout/server/blueprints/cases/views.py,sha256=ZfuDfkcOiw7PHUr68mowJyYxUb6_gQObR488mhP6l78,42841
452
451
  scout/server/blueprints/cases/static/case_images.js,sha256=pb_gG7DNQc-1lADqSII8YvjBwmHyeQWYVtuu2jyrTlU,14997
453
452
  scout/server/blueprints/cases/static/case_styles.css,sha256=2Pgc8pFf9DR5HM1sTdAjaRWhjL-bK5bsQnLpH54HZak,541
454
453
  scout/server/blueprints/cases/static/edit_pedigree.js,sha256=ntC5fie7SsOYJau8qkke1UHxjiYWY_gBzWcIkGpdJUA,2978
455
454
  scout/server/blueprints/cases/static/madeline.js,sha256=KHxKMBVlYVJODNu5QkY9hhsGkDJNoaCoCZZ0DRu0YN0,1175
456
- scout/server/blueprints/cases/templates/cases/case.html,sha256=4u3XfrgcV1cZFWxQ5vmKJdWV-gEmnCr9SdP_rrUNt6o,35110
455
+ scout/server/blueprints/cases/templates/cases/case.html,sha256=d_H1xh_3J4UlgritLCd41T9tpA32bBSfdRVtNlE6PkU,36552
457
456
  scout/server/blueprints/cases/templates/cases/case_bionano.html,sha256=PLoRv7hDJcHwxhi-0hC9fQSZc7V_aUYHBhhQqcn_2G8,5946
458
457
  scout/server/blueprints/cases/templates/cases/case_report.html,sha256=1tosH5xEl6CCZ1P6qlR5OKvWbAC5z3ewKL_JGdgPMBM,63635
459
458
  scout/server/blueprints/cases/templates/cases/case_sma.html,sha256=SAcElb4kH05mkPdEdaEbed-vbgQQGfxioCoNZsHljDc,4962
460
459
  scout/server/blueprints/cases/templates/cases/case_tabular_view.html,sha256=ko-LDUKmIoTazMZ2nFWvPEZsgObU07RwqIkDYFjokoY,4317
461
460
  scout/server/blueprints/cases/templates/cases/chanjo2_form.html,sha256=5Wmk7DM8LI3MynqzxeTzAr_EoEBwVVo31djcI5ZlTdo,2164
462
- scout/server/blueprints/cases/templates/cases/collapsible_actionbar.html,sha256=5CEHrjCXLS4VVqZSGOob0SNKxjyhg2f0oy7r2f64TK0,29252
461
+ scout/server/blueprints/cases/templates/cases/collapsible_actionbar.html,sha256=tU7vorWKg3rdcDCMDyEaIBL5gGcTv8OvmKO9XRoc2mQ,29247
463
462
  scout/server/blueprints/cases/templates/cases/diseases.html,sha256=ETTQI0Nrl_v86NoX9mFZcvWD-qM1IJoqPmHPWn__Grw,1677
464
463
  scout/server/blueprints/cases/templates/cases/gene_panel.html,sha256=fR2fCb5A_dBUTTyI4GfwARtOC6k9LeFunx8flbb6qko,12309
465
464
  scout/server/blueprints/cases/templates/cases/index.html,sha256=oUmjFyUvwP4yo21CxcWy-6eepMFI65hpznMEpSEqKfM,1207
466
465
  scout/server/blueprints/cases/templates/cases/individuals_table.html,sha256=DXE7gE0f81B5CxCV1e5bqWv27_HS-9-8nc0pcFkMoOg,11497
467
466
  scout/server/blueprints/cases/templates/cases/institutes_sidebar.html,sha256=u0oPGHJ0ipZ1LkjHkbwlWfkUWc1h6XH1nh3tkbX17z0,4546
468
467
  scout/server/blueprints/cases/templates/cases/matchmaker.html,sha256=1vwGBhM4HgvRMlO1foKBAwV-Wfvfs1MRvzteOETCZeM,13142
469
- scout/server/blueprints/cases/templates/cases/phenotype.html,sha256=38BIwPzTgv5_9BLaTi8beafU2fOrVIfnlV-s88WAx3k,15982
470
- scout/server/blueprints/cases/templates/cases/utils.html,sha256=kYctb7PKlKKjYHHJ0LpdqYsBpJf2tq_yzrwsRQ8td_w,34803
468
+ scout/server/blueprints/cases/templates/cases/phenotype.html,sha256=kBHD13SjBUGz0b79cQ2rfgdx3JPyJGDR38kscGZJai0,16120
469
+ scout/server/blueprints/cases/templates/cases/utils.html,sha256=GbcR0LXW5exdlmZa4fpJ81aEtgN505XqOO29LNJsd0A,34914
471
470
  scout/server/blueprints/clinvar/__init__.py,sha256=BV3aH2AbiA2WWrUEMbGd0H9MefFd2eTsRE9ShywbzpI,30
472
471
  scout/server/blueprints/clinvar/controllers.py,sha256=TEOdUTVYI-I_lzts0F3M_TFPMkeeweWIUxWug5HUhDw,24059
473
472
  scout/server/blueprints/clinvar/form.py,sha256=d0EBJouYsk-kIpGtAr_SfNCyLoBNchfLt25uFR9HxO0,5155
@@ -587,14 +586,14 @@ scout/server/blueprints/public/static/ideograms/chromosome-X.png,sha256=Dj7npcW_
587
586
  scout/server/blueprints/public/static/ideograms/chromosome-Y.png,sha256=KlOsBLZYFVHRvXvTioT-XE57zSWoYeIwIEXo_rzLBR0,1524
588
587
  scout/server/blueprints/public/templates/public/index.html,sha256=kl_-1s4HXRGw_PWacRFHG3cHALBBMN54GJVBnAAZ7LE,3626
589
588
  scout/server/blueprints/variant/__init__.py,sha256=SlD8-Aoj9Jq9aVTJjtFfsu-0sUVfkzpiEXcH8z9q6dI,54
590
- scout/server/blueprints/variant/controllers.py,sha256=FmpFXkc1AB7DdfH9SaYpZidZYsb_9b7hG44guUARNkw,25482
589
+ scout/server/blueprints/variant/controllers.py,sha256=xf-UEkSiQrZLPKmwLjruBlI7X2SZ01WmQHrorLoFmPY,25524
591
590
  scout/server/blueprints/variant/utils.py,sha256=3Tj2N6VCPMBcIk6gjDw8l6j2VYfoGugEW09hgxoFNY4,24042
592
591
  scout/server/blueprints/variant/verification_controllers.py,sha256=eKzP222e7xuFOaQaI9MLOrD9RWtI8uGB1cJYbcXLzF0,10972
593
- scout/server/blueprints/variant/views.py,sha256=YQ6BXshrJDbPkPXPIwt_JtEqrbgfpzZPXqR4dsSRBt4,14610
594
- scout/server/blueprints/variant/templates/variant/acmg.html,sha256=i_4LFecWHZSdStw9VWDFjgNcGuDm-XX4VLCyZEYBopY,7315
592
+ scout/server/blueprints/variant/views.py,sha256=oM5zA90_DL8eS-gSa1eDRar47xjwzJw2VFx9XCB9hdQ,14711
593
+ scout/server/blueprints/variant/templates/variant/acmg.html,sha256=ubitRnQoADLLOptwMgsPLb1AXhwZgV1YlN504VaC2lY,7754
595
594
  scout/server/blueprints/variant/templates/variant/buttons.html,sha256=Sbw4jA6xvsx9yRr9b-5ZF6bce4tqNLFQff5FuWuz9mo,6797
596
595
  scout/server/blueprints/variant/templates/variant/cancer-variant.html,sha256=1D9uLIgb06qfhcbl0wB5mRrgARVgfCJfRZhf4wEA2tc,13971
597
- scout/server/blueprints/variant/templates/variant/components.html,sha256=vFMncA2ths7ggwIWkQLfyHAp-yIK4-0L5LcLMnnYRBc,20520
596
+ scout/server/blueprints/variant/templates/variant/components.html,sha256=8sL51D-XR_XRrknZLfZLM4KWz9pHj1CpYsyR9EaAlw4,20863
598
597
  scout/server/blueprints/variant/templates/variant/gene_disease_relations.html,sha256=mvw7773Gww3AAOtASL61W5e5cYTc4uB8gJ2zr19NIXw,7283
599
598
  scout/server/blueprints/variant/templates/variant/rank_score_results.html,sha256=32RfBrpZ_J-1WYE01Bdd5IC9i1MAzXT7GF27OlElk94,2040
600
599
  scout/server/blueprints/variant/templates/variant/sanger.html,sha256=0kVnscTw3KUwjR4QOEuNJMOK9eADGEn9qGNtGx2ST7Y,4507
@@ -605,10 +604,10 @@ scout/server/blueprints/variant/templates/variant/utils.html,sha256=EPwtCxHKhtMD
605
604
  scout/server/blueprints/variant/templates/variant/variant.html,sha256=bgO3kb4u45IrgCPUJrHT4paNDOQzcKx5dw0ZYbBmCsc,18914
606
605
  scout/server/blueprints/variant/templates/variant/variant_details.html,sha256=J-pF8LRXFnCxIbNfL7klTLj172rlpWF8PznO4ie9Igc,19921
607
606
  scout/server/blueprints/variants/__init__.py,sha256=W1KCz9kEbVlNO0o3NvLitYLQoP_3JSJ5KSjhpcjlUBQ,55
608
- scout/server/blueprints/variants/controllers.py,sha256=Kg88oWq86nSJfJG8YqO4J2QxpbsLiGR_VwPW0BFMGRo,73074
607
+ scout/server/blueprints/variants/controllers.py,sha256=FbDMCbaqyCVjogBk5cxrdCPafqulDL-_GjHqmS13B6g,73075
609
608
  scout/server/blueprints/variants/forms.py,sha256=5BRl2mhiqjuOhsjWXDJjfX95im-NIMxKS-oSbeHiYuM,8944
610
609
  scout/server/blueprints/variants/utils.py,sha256=ifFBoyigx0A5KPE4iz9NSpyuUeF1bElrb4ohQLD2GlU,919
611
- scout/server/blueprints/variants/views.py,sha256=h2z5x7_eA0niXlhOAkYI4eduz3je5XGw_EUnbMenuNA,28136
610
+ scout/server/blueprints/variants/views.py,sha256=E514mSGAQwV7wGnz8WFsT65uqfztlWcgGFCt4z_lEVU,28137
612
611
  scout/server/blueprints/variants/static/form_scripts.js,sha256=o3GCboaesA9Sm1HgejS_yQwt0I-NTkvcl56jiBdLqZs,8319
613
612
  scout/server/blueprints/variants/templates/variants/cancer-sv-variants.html,sha256=Y7XQZjjrU_cJGU8EEGEF3QzTVvDfEVudFdygYExVxwI,7429
614
613
  scout/server/blueprints/variants/templates/variants/cancer-variants.html,sha256=bX9FLoufo72PBDoWp95DVLltxUrbLeuFmZQObP1oAlw,10132
@@ -620,18 +619,19 @@ scout/server/blueprints/variants/templates/variants/str-variants.html,sha256=sMM
620
619
  scout/server/blueprints/variants/templates/variants/sv-variants.html,sha256=SgAdgIPdr7pd2TDB2PJlXOmSAjX4WUslfm4eu0cjIBI,6310
621
620
  scout/server/blueprints/variants/templates/variants/utils.html,sha256=2WriO5n0IGzVw4kvt1D_hz47TAkdxhHsgAfFnfO_sww,49231
622
621
  scout/server/blueprints/variants/templates/variants/variants.html,sha256=nfSZXVGmsjjUuRC-54G9UsNBMhlNjnvBafN34uL73tY,9333
623
- scout/server/extensions/__init__.py,sha256=xeiVMoky1aB89VXz14pVDF78B9Q2r4g8iFMlYSVuIGo,1141
624
- scout/server/extensions/beacon_extension.py,sha256=sy8YPnGcYBFoasJdBBMt92gXCUidtTNT3_9S1_F7Bwg,9903
622
+ scout/server/extensions/__init__.py,sha256=tBhPKg0qc0HuZckWgj3UGexhmA7KQ-hlC50DqWx4UT4,1220
623
+ scout/server/extensions/beacon_extension.py,sha256=YDXQQl5kFcsA4OFHDMVurIKLw_3Gl6yWfcy3lYHl9RE,9904
625
624
  scout/server/extensions/bionano_extension.py,sha256=XoKnAmNauatyJWUr63_gPlWyX1JGZfEXV6ge_bZ7VTk,7128
625
+ scout/server/extensions/chanjo_extension.py,sha256=HhkbczCkWv8ATO_zuEPfC_tobjbOSmQHKVB16gXSM98,2258
626
626
  scout/server/extensions/clinvar_extension.py,sha256=e6rrpOnUs-rn3gGfiOQT4UlBRRXRLgot51G3WB44wrU,3746
627
627
  scout/server/extensions/gens_extension.py,sha256=zqfzI7vOvPqNIkIl-uULJp-bS634p-4C6T7JsMI3tQw,1002
628
628
  scout/server/extensions/ldap_extension.py,sha256=zJLWLfumJoU8w19767g014H2eqv5VJrn-VWPEVeWCj4,2706
629
629
  scout/server/extensions/loqus_extension.py,sha256=EqRUfI8QV8OIeAEFGEvVkF4N6XTqPw8N8yXRfiSh5x0,12452
630
630
  scout/server/extensions/matchmaker_extension.py,sha256=t5J0R-EIYxCiygcNrhJb1MAdV2xsigmHlQwvw3Pm2DQ,5035
631
631
  scout/server/extensions/mongo_extension.py,sha256=Rku2L8bUm3NR5xzqx8Seinsv83eB9oFAWo151UutcTo,1028
632
- scout/server/extensions/phenopacket_extension.py,sha256=9BskxYpoVofYfTsbtP_MSnaleepiXnZQB7idMdrHSQI,7294
632
+ scout/server/extensions/phenopacket_extension.py,sha256=kcEUIOSfkQAlAmUm07hQS1BeUjeN4lBc-InvaNtbFxo,7295
633
633
  scout/server/extensions/rerunner_extension.py,sha256=5DkygqZ7o1vt9ZytPdhhGqPavysOXtzAugtYN783qso,1103
634
- scout/server/static/bs_styles.css,sha256=9Y56rPzXDR4iLhYz_uv2KSzwdj4QBppUKAMCbLBl6LQ,5922
634
+ scout/server/static/bs_styles.css,sha256=UU7l0MrdA2BoAEgKvPvEGUzBX0l2nEDzGbiMHGkvpXY,6423
635
635
  scout/server/static/custom_images.js,sha256=IUVSlt6GJCXmE1RuSizSMOE89OcFAJnq-ZzA5f2o84s,753
636
636
  scout/server/static/favicon.ico,sha256=8aC2QonalUW-D62draMeiII4sZYQSp9BLGQnj-wRlt0,1469
637
637
  scout/server/static/humans.txt,sha256=UdqAR07_5LAWWfgH2Ty4RR8BhoHS1WXpx9euKtXqqhs,259
@@ -645,9 +645,8 @@ scout/server/translations/sv/LC_MESSAGES/messages.po,sha256=Wp7Mx4LoiFNtzsV1tpAo
645
645
  scout/update/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
646
646
  scout/update/panel.py,sha256=4z-vQ7GVIJXtlIub9pubFcQ-I9mLX5fRXKNPBdpuhJw,1649
647
647
  scout/utils/__init__.py,sha256=DHCMH05dxkyD7m9QSs0WXsQQPgVRFQ9XvyNeNpHjjvg,74
648
- scout/utils/acmg.py,sha256=SxTVArNwao7XcVPAWU-Rx8V_5n1VpAbJQ3S3wNyDp1Y,7197
648
+ scout/utils/acmg.py,sha256=xIxOXdzklrBeCCk6lUCqWMjzu5Hj3qmlYO7O5RUY6WA,7609
649
649
  scout/utils/algorithms.py,sha256=w--NauXbQohZis7obr39a8bS57C4NRelYXn79V7m1dU,800
650
- scout/utils/cloud_resources.py,sha256=QWPA2yYiafNZpyHAyuNorxGpRN6DkEqbQAjhLglkdpI,2278
651
650
  scout/utils/convert.py,sha256=BUt3lYKXdje9GGOvyZuI-SPhBOp_eJtYz1gfUgBY_Z8,1792
652
651
  scout/utils/coordinates.py,sha256=n8WUFn9zohXfjxgFGryyg6mzdl0zBG8uVCdyjhizSpM,609
653
652
  scout/utils/date.py,sha256=PT5iNB02rJF4aya8Kd8d6JWagyyhO59GBu2T6EQ6pT0,1333
@@ -660,9 +659,10 @@ scout/utils/hgvs.py,sha256=P5i3fIK8WZZlUnjZ8XpMDUG5KDXRCDSOs55DfK5acsc,898
660
659
  scout/utils/link.py,sha256=RuCUwnOtGDf9ACaC64_1FqWyWDaBv7dqNEGjmCq59kk,9001
661
660
  scout/utils/md5.py,sha256=KkgdxOf7xbF9AF40ZjQKCgWaxFWJ9tp9RKjd8SU6IoA,649
662
661
  scout/utils/scout_requests.py,sha256=owL_XvsrQJG4e0EUuUiY6y_hqKKep2Qljg1nMukzp8Y,12855
663
- scout_browser-4.82.2.dist-info/LICENSE,sha256=TM1Y9Cqbwk55JVfxD-_bpGLtZQAeN9RovQlqHK6eOTY,1485
664
- scout_browser-4.82.2.dist-info/METADATA,sha256=QYoeVAZXLiAZ03LhP9VPsklCcz0fasyK60PvsFE8HGs,14280
665
- scout_browser-4.82.2.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
666
- scout_browser-4.82.2.dist-info/entry_points.txt,sha256=E6vGg1OwvvKYIsXdHxmlIj7RmcTF0K77Q_PU8laImGg,46
667
- scout_browser-4.82.2.dist-info/top_level.txt,sha256=qM75h71bztMaLYsxn1up4c_n2rjc_ZnyaW6Q0K5uOXc,6
668
- scout_browser-4.82.2.dist-info/RECORD,,
662
+ scout/utils/track_resources.py,sha256=eUjSEe-Ff8BIb4BHPC_COkJocQO2PaWueiPz1GAuiwY,2614
663
+ scout_browser-4.83.dist-info/LICENSE,sha256=TM1Y9Cqbwk55JVfxD-_bpGLtZQAeN9RovQlqHK6eOTY,1485
664
+ scout_browser-4.83.dist-info/METADATA,sha256=NBrhFdyvFGWQuvC__yBWPsECY6HhzNhVUYdMK1aUsjg,14278
665
+ scout_browser-4.83.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
666
+ scout_browser-4.83.dist-info/entry_points.txt,sha256=E6vGg1OwvvKYIsXdHxmlIj7RmcTF0K77Q_PU8laImGg,46
667
+ scout_browser-4.83.dist-info/top_level.txt,sha256=qM75h71bztMaLYsxn1up4c_n2rjc_ZnyaW6Q0K5uOXc,6
668
+ scout_browser-4.83.dist-info/RECORD,,