diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/ClinicalVariant.java b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/ClinicalVariant.java index 50f4e2d6..648a7d31 100644 --- a/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/ClinicalVariant.java +++ b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/ClinicalVariant.java @@ -21,6 +21,7 @@ import org.opencb.biodata.models.clinical.ClinicalComment; import org.opencb.biodata.models.clinical.ClinicalDiscussion; +import org.opencb.biodata.models.clinical.interpretation.stats.ClinicalVariantSummaryStats; import org.opencb.biodata.models.variant.Variant; import org.opencb.biodata.models.variant.avro.VariantAvro; @@ -40,6 +41,8 @@ public class ClinicalVariant extends Variant { private ClinicalVariantConfidence confidence; private List tags; + private List stats; + private Status status; // TODO maybe this parameter should be in Variant @@ -95,6 +98,7 @@ public ClinicalVariant(VariantAvro avro, List evidences this.attributes = attributes; } + @Deprecated public ClinicalVariant(VariantAvro avro, List evidences, List comments, Map filters, String recommendation, List references, ClinicalDiscussion discussion, ClinicalVariantConfidence confidence, Status status, @@ -113,6 +117,26 @@ public ClinicalVariant(VariantAvro avro, List evidences this.attributes = attributes; } + public ClinicalVariant(VariantAvro avro, List evidences, List comments, + Map filters, String recommendation, List references, + ClinicalDiscussion discussion, ClinicalVariantConfidence confidence, List stats, + Status status, List tags, Map attributes) { + super(avro); + + this.evidences = evidences; + this.comments = comments; + this.filters = filters; + this.recommendation = recommendation; + this.references = references; + this.discussion = discussion; + this.stats = stats; + this.status = status; + this.tags = tags; + this.confidence = confidence; + this.attributes = attributes; + } + + @Override public String toString() { return super.toString(); @@ -181,6 +205,15 @@ public ClinicalVariant setConfidence(ClinicalVariantConfidence confidence) { return this; } + public List getStats() { + return stats; + } + + public ClinicalVariant setStats(List stats) { + this.stats = stats; + return this; + } + public Status getStatus() { return status; } diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalAnalysisStats.java b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalAnalysisStats.java new file mode 100644 index 00000000..963e1219 --- /dev/null +++ b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalAnalysisStats.java @@ -0,0 +1,79 @@ +/* + * + * + */ + +package org.opencb.biodata.models.clinical.interpretation.stats; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class ClinicalAnalysisStats { + + private Map disorders; + private Map probandPhenotypes; + private Map probandDisorders; + + public ClinicalAnalysisStats() { + this.disorders = new LinkedHashMap<>(); + this.probandPhenotypes = new LinkedHashMap<>(); + this.probandDisorders = new LinkedHashMap<>(); + } + + public ClinicalAnalysisStats(Map disorders, Map probandPhenotypes, Map probandDisorders) { + this.disorders = disorders; + this.probandPhenotypes = probandPhenotypes; + this.probandDisorders = probandDisorders; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("ClinicalAnalysisStats{"); + sb.append("disorders=").append(disorders); + sb.append(", probandPhenotypes=").append(probandPhenotypes); + sb.append(", probandDisorders=").append(probandDisorders); + sb.append('}'); + return sb.toString(); + } + + public Map getDisorders() { + return disorders; + } + + public ClinicalAnalysisStats setDisorders(Map disorders) { + this.disorders = disorders; + return this; + } + + public Map getProbandPhenotypes() { + return probandPhenotypes; + } + + public ClinicalAnalysisStats setProbandPhenotypes(Map probandPhenotypes) { + this.probandPhenotypes = probandPhenotypes; + return this; + } + + public Map getProbandDisorders() { + return probandDisorders; + } + + public ClinicalAnalysisStats setProbandDisorders(Map probandDisorders) { + this.probandDisorders = probandDisorders; + return this; + } +} diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantEvidenceStats.java b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantEvidenceStats.java new file mode 100644 index 00000000..ee177044 --- /dev/null +++ b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantEvidenceStats.java @@ -0,0 +1,160 @@ +/* + * + * + */ + +package org.opencb.biodata.models.clinical.interpretation.stats; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class ClinicalVariantEvidenceStats { + + private Map transcripts; + private Map genes; + private Map soTerms; + private Map mois; + private Map panels; + private Map reviewTiers; + private Map reviewAcmgs; + private Map reviewClinicalSignificances; + private Map acmgs; + + public ClinicalVariantEvidenceStats() { + this.transcripts = new LinkedHashMap<>(); + this.genes = new LinkedHashMap<>(); + this.soTerms = new LinkedHashMap<>(); + this.mois = new LinkedHashMap<>(); + this.panels = new LinkedHashMap<>(); + this.reviewTiers = new LinkedHashMap<>(); + this.reviewAcmgs = new LinkedHashMap<>(); + this.reviewClinicalSignificances = new LinkedHashMap<>(); + this.acmgs = new LinkedHashMap<>(); + } + + public ClinicalVariantEvidenceStats(Map transcripts, Map genes, Map soTerms, + Map mois, Map panels, Map reviewTiers, + Map reviewAcmgs, Map reviewClinicalSignificances, + Map acmgs) { + this.transcripts = transcripts; + this.genes = genes; + this.soTerms = soTerms; + this.mois = mois; + this.panels = panels; + this.reviewTiers = reviewTiers; + this.reviewAcmgs = reviewAcmgs; + this.reviewClinicalSignificances = reviewClinicalSignificances; + this.acmgs = acmgs; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("ClinicalVariantEvidenceStats{"); + sb.append("transcripts=").append(transcripts); + sb.append(", genes=").append(genes); + sb.append(", soTerms=").append(soTerms); + sb.append(", mois=").append(mois); + sb.append(", panels=").append(panels); + sb.append(", reviewTiers=").append(reviewTiers); + sb.append(", reviewAcmgs=").append(reviewAcmgs); + sb.append(", reviewClinicalSignificances=").append(reviewClinicalSignificances); + sb.append(", acmgs=").append(acmgs); + sb.append('}'); + return sb.toString(); + } + + public Map getTranscripts() { + return transcripts; + } + + public ClinicalVariantEvidenceStats setTranscripts(Map transcripts) { + this.transcripts = transcripts; + return this; + } + + public Map getGenes() { + return genes; + } + + public ClinicalVariantEvidenceStats setGenes(Map genes) { + this.genes = genes; + return this; + } + + public Map getSoTerms() { + return soTerms; + } + + public ClinicalVariantEvidenceStats setSoTerms(Map soTerms) { + this.soTerms = soTerms; + return this; + } + + public Map getMois() { + return mois; + } + + public ClinicalVariantEvidenceStats setMois(Map mois) { + this.mois = mois; + return this; + } + + public Map getPanels() { + return panels; + } + + public ClinicalVariantEvidenceStats setPanels(Map panels) { + this.panels = panels; + return this; + } + + public Map getReviewTiers() { + return reviewTiers; + } + + public ClinicalVariantEvidenceStats setReviewTiers(Map reviewTiers) { + this.reviewTiers = reviewTiers; + return this; + } + + public Map getReviewAcmgs() { + return reviewAcmgs; + } + + public ClinicalVariantEvidenceStats setReviewAcmgs(Map reviewAcmgs) { + this.reviewAcmgs = reviewAcmgs; + return this; + } + + public Map getReviewClinicalSignificances() { + return reviewClinicalSignificances; + } + + public ClinicalVariantEvidenceStats setReviewClinicalSignificances(Map reviewClinicalSignificances) { + this.reviewClinicalSignificances = reviewClinicalSignificances; + return this; + } + + public Map getAcmgs() { + return acmgs; + } + + public ClinicalVariantEvidenceStats setAcmgs(Map acmgs) { + this.acmgs = acmgs; + return this; + } +} diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantStats.java b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantStats.java new file mode 100644 index 00000000..fac54272 --- /dev/null +++ b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantStats.java @@ -0,0 +1,66 @@ +/* + * + * + */ + +package org.opencb.biodata.models.clinical.interpretation.stats; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class ClinicalVariantStats { + + private Map status; + private Map confidences; + + public ClinicalVariantStats() { + this.status = new LinkedHashMap<>(); + this.confidences = new LinkedHashMap<>(); + } + + public ClinicalVariantStats(Map status, Map confidences) { + this.status = status; + this.confidences = confidences; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("ClinicalVariantStats{"); + sb.append("status=").append(status); + sb.append(", confidences=").append(confidences); + sb.append('}'); + return sb.toString(); + } + + public Map getStatus() { + return status; + } + + public ClinicalVariantStats setStatus(Map status) { + this.status = status; + return this; + } + + public Map getConfidences() { + return confidences; + } + + public ClinicalVariantStats setConfidences(Map confidences) { + this.confidences = confidences; + return this; + } +} diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantSummaryStats.java b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantSummaryStats.java new file mode 100644 index 00000000..9263f1ba --- /dev/null +++ b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/ClinicalVariantSummaryStats.java @@ -0,0 +1,141 @@ +/* + * + * + */ + +package org.opencb.biodata.models.clinical.interpretation.stats; + +public class ClinicalVariantSummaryStats { + + private String id; + private String variantId; + private long numClinicalAnalyses; + private long numPrimaryInterpretations; + private long numSecondaryInterpretations; + + private ClinicalAnalysisStats clinicalAnalysis; + private InterpretationStats interpretation; + private ClinicalVariantStats variant; + private ClinicalVariantEvidenceStats evidence; + + public ClinicalVariantSummaryStats() { + this.numClinicalAnalyses = 0L; + this.numPrimaryInterpretations = 0L; + this.numSecondaryInterpretations = 0L; + this.clinicalAnalysis = new ClinicalAnalysisStats(); + this.interpretation = new InterpretationStats(); + this.variant = new ClinicalVariantStats(); + this.evidence = new ClinicalVariantEvidenceStats(); + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("ClinicalVariantSummaryStats{"); + sb.append("id='").append(id).append('\''); + sb.append(", variantId='").append(variantId).append('\''); + sb.append(", numClinicalAnalyses=").append(numClinicalAnalyses); + sb.append(", numPrimaryInterpretations=").append(numPrimaryInterpretations); + sb.append(", numSecondaryInterpretations=").append(numSecondaryInterpretations); + sb.append(", clinicalAnalysis=").append(clinicalAnalysis); + sb.append(", interpretation=").append(interpretation); + sb.append(", variant=").append(variant); + sb.append(", evidence=").append(evidence); + sb.append('}'); + return sb.toString(); + } + + public String getId() { + return id; + } + + public ClinicalVariantSummaryStats setId(String id) { + this.id = id; + return this; + } + + public String getVariantId() { + return variantId; + } + + public ClinicalVariantSummaryStats setVariantId(String variantId) { + this.variantId = variantId; + return this; + } + + public long getNumClinicalAnalyses() { + return numClinicalAnalyses; + } + + public ClinicalVariantSummaryStats setNumClinicalAnalyses(long numClinicalAnalyses) { + this.numClinicalAnalyses = numClinicalAnalyses; + return this; + } + + public long getNumPrimaryInterpretations() { + return numPrimaryInterpretations; + } + + public ClinicalVariantSummaryStats setNumPrimaryInterpretations(long numPrimaryInterpretations) { + this.numPrimaryInterpretations = numPrimaryInterpretations; + return this; + } + + public long getNumSecondaryInterpretations() { + return numSecondaryInterpretations; + } + + public ClinicalVariantSummaryStats setNumSecondaryInterpretations(long numSecondaryInterpretations) { + this.numSecondaryInterpretations = numSecondaryInterpretations; + return this; + } + + public ClinicalAnalysisStats getClinicalAnalysis() { + return clinicalAnalysis; + } + + public ClinicalVariantSummaryStats setClinicalAnalysis(ClinicalAnalysisStats clinicalAnalysis) { + this.clinicalAnalysis = clinicalAnalysis; + return this; + } + + public InterpretationStats getInterpretation() { + return interpretation; + } + + public ClinicalVariantSummaryStats setInterpretation(InterpretationStats interpretation) { + this.interpretation = interpretation; + return this; + } + + public ClinicalVariantStats getVariant() { + return variant; + } + + public ClinicalVariantSummaryStats setVariant(ClinicalVariantStats variant) { + this.variant = variant; + return this; + } + + public ClinicalVariantEvidenceStats getEvidence() { + return evidence; + } + + public ClinicalVariantSummaryStats setEvidence(ClinicalVariantEvidenceStats evidence) { + this.evidence = evidence; + return this; + } +} diff --git a/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/InterpretationStats.java b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/InterpretationStats.java new file mode 100644 index 00000000..0e186569 --- /dev/null +++ b/biodata-models/src/main/java/org/opencb/biodata/models/clinical/interpretation/stats/InterpretationStats.java @@ -0,0 +1,66 @@ +/* + * + * + */ + +package org.opencb.biodata.models.clinical.interpretation.stats; + +import java.util.LinkedHashMap; +import java.util.Map; + +public class InterpretationStats { + + private Map panels; + private Map methods; + + public InterpretationStats() { + this.panels = new LinkedHashMap<>(); + this.methods = new LinkedHashMap<>(); + } + + public InterpretationStats(Map panels, Map methods) { + this.panels = panels; + this.methods = methods; + } + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("InterpretationStats{"); + sb.append("panels=").append(panels); + sb.append(", methods=").append(methods); + sb.append('}'); + return sb.toString(); + } + + public Map getPanels() { + return panels; + } + + public InterpretationStats setPanels(Map panels) { + this.panels = panels; + return this; + } + + public Map getMethods() { + return methods; + } + + public InterpretationStats setMethods(Map methods) { + this.methods = methods; + return this; + } +}