-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change for issue #502 - downgrade PM2 - PM2_Supporting for variants l…
…acking frequency information. Update Acgs2020Classifier and Acmg2015Classifier to allow for PVS1 and PM2_Supporting are sufficient to trigger LIKELY_PATHOGENIC Change for issue #514 update AcmgEvidence to fit a Bayesian points-based system Add new Acmg2020PointsBasedClassifier to classify AcmgEvidence based on points
- Loading branch information
1 parent
37c5f7b
commit 2cda8f5
Showing
13 changed files
with
390 additions
and
35 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
...org/monarchinitiative/exomiser/core/analysis/util/acmg/Acmg2020PointsBasedClassifier.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package org.monarchinitiative.exomiser.core.analysis.util.acmg; | ||
|
||
/** | ||
* This is recommended by the ClinGen <a href = "https://clinicalgenome.org/working-groups/sequence-variant-interpretation/">Sequence Variant Interpretation (SVI)</a> group | ||
* <p> | ||
* Fitting a naturally scaled point system to the ACMG/AMP variant classification guidelines - Tavtigian et al. 2020, | ||
* (DOI:10.1002/humu.24088). | ||
* </p> | ||
*/ | ||
public class Acmg2020PointsBasedClassifier implements AcmgEvidenceClassifier { | ||
|
||
@Override | ||
public AcmgClassification classify(AcmgEvidence acmgEvidence) { | ||
|
||
if (acmgEvidence.ba() == 1) { | ||
return AcmgClassification.BENIGN; | ||
} | ||
|
||
return classification(acmgEvidence.points()); | ||
} | ||
|
||
protected AcmgClassification classification(double points) { | ||
if (points >= 10) { | ||
return AcmgClassification.PATHOGENIC; | ||
} | ||
if (points >= 6 && points <= 9) { | ||
return AcmgClassification.LIKELY_PATHOGENIC; | ||
} | ||
if (points >= 0 && points <= 5) { | ||
return AcmgClassification.UNCERTAIN_SIGNIFICANCE; | ||
} | ||
if (points >= -6 && points <= -1) { | ||
return AcmgClassification.LIKELY_BENIGN; | ||
} | ||
// points <= -7 | ||
return AcmgClassification.BENIGN; | ||
} | ||
|
||
public double score(AcmgEvidence acmgEvidence) { | ||
if (acmgEvidence.ba() == 1) { | ||
return 0; | ||
} | ||
int maxPath = Math.min(scorePaths(acmgEvidence), 10); | ||
int minBenign = Math.max(scoreBenign(acmgEvidence), -4); | ||
|
||
double score = ((maxPath - minBenign) - -4) / (double) (10 - -4); | ||
return Math.max(Math.min(score, 1.0), 0.0); | ||
} | ||
|
||
private int scorePaths(AcmgEvidence acmgEvidence) { | ||
return acmgEvidence.pp() + (acmgEvidence.pm() * 2) + (acmgEvidence.ps() * 4) + (acmgEvidence.pvs() * 8); | ||
} | ||
|
||
private int scoreBenign(AcmgEvidence acmgEvidence) { | ||
return acmgEvidence.bp() + (acmgEvidence.bs() * 4); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.