diff --git a/src/common/functions.py b/src/common/functions.py
index bbff77c1..8325049c 100644
--- a/src/common/functions.py
+++ b/src/common/functions.py
@@ -651,7 +651,7 @@ def order_classes( classes):
def sort_classes(a, b):
# sort by ensembl/refseq
- class_sequence = ['1', '2', '3-', '3', '3+', '4', '5', 'M']
+ class_sequence = ['1', '2', '3-', '3', '3+', '4M', '4', '5']
a_importance = class_sequence.index(a)
b_importance = class_sequence.index(b)
diff --git a/src/common/models.py b/src/common/models.py
index 9136539b..39f1c3f7 100644
--- a/src/common/models.py
+++ b/src/common/models.py
@@ -424,10 +424,12 @@ def class_to_text(self, classification = None):
return 'Likely pathogenic'
if classification == '5':
return 'Pathogenic'
- #if classification == '3-':
- # return 'Uncertain with tendency to benign'
- #if classification == '3+':
- # return 'Uncertain with tendency to pathogenic'
+ if classification == '3-':
+ return 'Uncertain significance'
+ if classification == '3+':
+ return 'Uncertain significance'
+ if classification == 'M':
+ return 'Likely pathogenic, low penetrance'
def get_header(self, simple = False):
if not simple:
diff --git a/src/frontend_celery/config.py b/src/frontend_celery/config.py
index 47e932b3..fb2c3d9a 100644
--- a/src/frontend_celery/config.py
+++ b/src/frontend_celery/config.py
@@ -88,6 +88,9 @@ class ProdConfig(Config):
CLIENTSECRET = os.environ.get('CLIENT_SECRET')
DISCOVERYURL = f'{ISSUER}/.well-known/openid-configuration'
+ # clinvar
+ CLINVAR_API_ENDPOINT = "https://submit.ncbi.nlm.nih.gov/api/v1/submissions" # production endpoint
+
class DevConfig(Config):
diff --git a/src/frontend_celery/webapp/static/css/colors.css b/src/frontend_celery/webapp/static/css/colors.css
index 1261948f..2964d3e0 100644
--- a/src/frontend_celery/webapp/static/css/colors.css
+++ b/src/frontend_celery/webapp/static/css/colors.css
@@ -190,6 +190,10 @@ input.invalid {
color:rgba(29, 181, 207, 1);
}
+.classification_4M_col {
+ color:rgba(255,142,61,1);
+}
+
.classification_4_col {
color:rgba(255,142,61,1);
}
@@ -202,9 +206,7 @@ input.invalid {
color:rgb(164, 164, 164);
}
-.classification_M_col {
- color:rgb(218, 113, 218);
-}
+
.classification-gradient {
diff --git a/src/frontend_celery/webapp/static/css/styles.css b/src/frontend_celery/webapp/static/css/styles.css
index 779e9a84..9112a570 100644
--- a/src/frontend_celery/webapp/static/css/styles.css
+++ b/src/frontend_celery/webapp/static/css/styles.css
@@ -440,5 +440,5 @@ footer {
}
.classM_text {
white-space: pre;
- font-size: 7px;
+ font-size: 5px;
}
\ No newline at end of file
diff --git a/src/frontend_celery/webapp/static/js/startup.js b/src/frontend_celery/webapp/static/js/startup.js
index d0281de1..b45a6977 100644
--- a/src/frontend_celery/webapp/static/js/startup.js
+++ b/src/frontend_celery/webapp/static/js/startup.js
@@ -63,7 +63,7 @@ $(document).ready(function()
// coloring of consensus classification
- const possible_classes = ["1", "2", "3-", "3", "3+", "4", "5", "M"]
+ const possible_classes = ["1", "2", "3-", "3", "3+", "4", "5", "4M"]
document.getElementsByName('class-label').forEach(function(obj) {
var consensus_classification = obj.getAttribute('classification').trim();
if (!possible_classes.includes(consensus_classification)) {
diff --git a/src/frontend_celery/webapp/tasks.py b/src/frontend_celery/webapp/tasks.py
index 96a6460a..73a0e81b 100644
--- a/src/frontend_celery/webapp/tasks.py
+++ b/src/frontend_celery/webapp/tasks.py
@@ -65,7 +65,6 @@ def fetch_consequence_task(self, variant_id):
def start_variant_import(user_id, user_roles, conn: Connection): # starts the celery task
import_request = conn.get_most_recent_import_request() # get the most recent import request
- import_request = None
min_date = None
if import_request is not None:
min_date = import_request.import_variant_list_finished_at
diff --git a/src/frontend_celery/webapp/templates/doc/changelog.html b/src/frontend_celery/webapp/templates/doc/changelog.html
index 6a5e8d27..2e5caa76 100644
--- a/src/frontend_celery/webapp/templates/doc/changelog.html
+++ b/src/frontend_celery/webapp/templates/doc/changelog.html
@@ -11,6 +11,56 @@
{% block title %} Changelog {% endblock %}
Changelog
+
+
v 1.4.1 (02.11.2023)
+
+ Bugfixes:
+
+ - Fixed a bug where the user was unable to insert classifications by the new ClinGen criteria
+
+
+
v 1.4 (27.10.2023)
+
+ General changes:
+
+ - Update landing page
+ - Moved previous changelog announcements to a new page
+ - The admin dashboard now allows reannotation of a user defined set of databases
+ - The admin dashboard now shows an overview of all annotations and annotation errors / warnings
+ - Added a contact form where unregistered people can ask a question about a variant
+ - Added suffix to criteria names if the selected strength is not the default strength
+ - Variants can now be hidden
+ - The variant list can now be sorted by chromosomal position and insertion date
+ - The page size in the variant list can now be adjusted
+ - Consensus classifications are now preselected from the most recent consensus classification for each scheme
+ - Added four new ClinGen ENIGMA schemes for specific genes: BRCA1 (v.1.0.0), BRCA2(v.1.0.0), TP53 (v.1.4.0), PALB2 (v.1.0.0)
+ - Changed SpliceAI annotations to masked ones
+ - Added variant import from HerediCare
+ - Added HerediCare number of families and heredicare number of cases annotations
+ - Improved criteria popover
+ - Added variant import history page
+ - Enabled HerediCare annotations in admin dashboard
+ - Added downloads page
+ - Added variant check page
+
+ Bugfixes:
+
+ - Variants are now not selected by default on the search variants page
+ - Abbreviations for criteria are now written with upper case letters
+ - Disabled criteria were not shown correctly
+ - Popovers now stay open when clicked and close when the user does not click inside the popover
+ - Fixed a bug where the ClinVar annotation was erroneous which happened when there were missing submissions
+ - Fixed a bug where the consequence annotation was erroneous which happened when the variant was large and spanned multiple exons / introns
+ - Fixed a bug where the user was unable to download variants which are not annotated
+ - Fixed a bug where the user could not search for class 3+
+ - The date is now inserted correctly when classifying variants. Preexisting classifications did not change (this is fixed starting from 24.10.23).
+
+ Known issues:
+
+ - COSMIC links do not work sometimes
+
+
+
v 1.3 (19.06.2023)
General changes:
diff --git a/src/frontend_celery/webapp/templates/index.html b/src/frontend_celery/webapp/templates/index.html
index 496b226d..77579a9a 100644
--- a/src/frontend_celery/webapp/templates/index.html
+++ b/src/frontend_celery/webapp/templates/index.html
@@ -111,6 +111,8 @@
Changelog
REVEL annotations are now transcript specific and show the maximal value in the overview. The details list REVEL scores for all annotations
Additional warnings added to annotation service
User classifications can now be deleted by the user that created it
+
Renamed class 4 to 4M & changed its color to orange
+
Renamed PALB2 v1.0.0 & TP53 v1.4.0 classification schemes
Bugfixes:
@@ -125,54 +127,7 @@ Changelog
Known issues:
- HerediCare Center specific classifications are not available
-
-
-
v 1.4.1 (02.11.2023)
-
- Bugfixes:
-
- - Fixed a bug where the user was unable to insert classifications by the new ClinGen criteria
-
-
-
v 1.4 (27.10.2023)
-
- General changes:
-
- - Update landing page
- - Moved previous changelog announcements to a new page
- - The admin dashboard now allows reannotation of a user defined set of databases
- - The admin dashboard now shows an overview of all annotations and annotation errors / warnings
- - Added a contact form where unregistered people can ask a question about a variant
- - Added suffix to criteria names if the selected strength is not the default strength
- - Variants can now be hidden
- - The variant list can now be sorted by chromosomal position and insertion date
- - The page size in the variant list can now be adjusted
- - Consensus classifications are now preselected from the most recent consensus classification for each scheme
- - Added four new ClinGen ENIGMA schemes for specific genes: BRCA1 (v.1.0.0), BRCA2(v.1.0.0), TP53 (v.1.4.0), PALB2 (v.1.0.0)
- - Changed SpliceAI annotations to masked ones
- - Added variant import from HerediCare
- - Added HerediCare number of families and heredicare number of cases annotations
- - Improved criteria popover
- - Added variant import history page
- - Enabled HerediCare annotations in admin dashboard
- - Added downloads page
- - Added variant check page
-
- Bugfixes:
-
- - Variants are now not selected by default on the search variants page
- - Abbreviations for criteria are now written with upper case letters
- - Disabled criteria were not shown correctly
- - Popovers now stay open when clicked and close when the user does not click inside the popover
- - Fixed a bug where the ClinVar annotation was erroneous which happened when there were missing submissions
- - Fixed a bug where the consequence annotation was erroneous which happened when the variant was large and spanned multiple exons / introns
- - Fixed a bug where the user was unable to download variants which are not annotated
- - Fixed a bug where the user could not search for class 3+
- - The date is now inserted correctly when classifying variants. Preexisting classifications did not change (this is fixed starting from 24.10.23).
-
- Known issues:
-
- - COSMIC links do not work sometimes
+ - HerediCare priors, log likelihood, segregation & cooccurance are not available
previous changelog
diff --git a/src/frontend_celery/webapp/templates/macros.html b/src/frontend_celery/webapp/templates/macros.html
index a66ca482..c7126fec 100644
--- a/src/frontend_celery/webapp/templates/macros.html
+++ b/src/frontend_celery/webapp/templates/macros.html
@@ -47,10 +47,10 @@
{% endif %}
{% else %}
- {% if class == "M" %}
+ {% if class == "4M" %}
{% else %}