Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -35,19 +35,25 @@ public class ClinicalEvidenceReview {
private List<ClinicalAcmg> acmg;
private ClinicalProperty.ClinicalSignificance clinicalSignificance;
private ClinicalDiscussion discussion;
private List<String> tags;
private double score;

public ClinicalEvidenceReview() {
this.select = false;
this.acmg = new ArrayList<>();
this.tags = new ArrayList<>();
}

public ClinicalEvidenceReview(boolean select, String tier, List<ClinicalAcmg> acmg,
ClinicalSignificance clinicalSignificance, ClinicalDiscussion discussion) {
ClinicalSignificance clinicalSignificance, ClinicalDiscussion discussion,
List<String> tags, double score) {
this.select = select;
this.tier = tier;
this.acmg = acmg;
this.clinicalSignificance = clinicalSignificance;
this.discussion = discussion;
this.tags = tags;
this.score = score;
}

@Override
Expand All @@ -58,6 +64,8 @@ public String toString() {
sb.append(", acmg=").append(acmg);
sb.append(", clinicalSignificance=").append(clinicalSignificance);
sb.append(", discussion='").append(discussion).append('\'');
sb.append(", tags=").append(tags);
sb.append(", score=").append(score);
sb.append('}');
return sb.toString();
}
Expand Down Expand Up @@ -106,4 +114,22 @@ public ClinicalEvidenceReview setDiscussion(ClinicalDiscussion discussion) {
this.discussion = discussion;
return this;
}

public List<String> getTags() {
return tags;
}

public ClinicalEvidenceReview setTags(List<String> tags) {
this.tags = tags;
return this;
}

public double getScore() {
return score;
}

public ClinicalEvidenceReview setScore(double score) {
this.score = score;
return this;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,39 +19,45 @@

package org.opencb.biodata.models.clinical.interpretation;

import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.collections4.MapUtils;
import org.opencb.biodata.models.clinical.ClinicalComment;
import org.opencb.biodata.models.clinical.ClinicalDiscussion;
import org.opencb.biodata.models.clinical.ClinicalProperty;
import org.opencb.biodata.models.clinical.interpretation.stats.ClinicalVariantSummaryStats;
import org.opencb.biodata.models.variant.Variant;
import org.opencb.biodata.models.variant.avro.VariantAvro;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;

public class ClinicalVariant extends Variant {

private List<ClinicalVariantEvidence> evidences;
private List<ClinicalComment> comments;
private Map<String, Object> filters;
private ClinicalVariantFilter filter;
private List<ClinicalProperty.ModeOfInheritance> modesOfInheritance; // all compatible MoIs
private String recommendation;
private List<MiniPubmed> references;
private ClinicalDiscussion discussion;
private ClinicalVariantConfidence confidence;
private List<String> tags;
private List<String> images;

private List<ClinicalVariantSummaryStats> stats;

private Status status;
private int version;

// TODO maybe this parameter should be in Variant
private Map<String, Object> attributes;

public enum Status {
NOT_REVIEWED,
REVIEW_REQUESTED,
UNDER_CONSIDERATION,
CANDIDATE,
REVIEWED,
VALIDATION_REQUESTED,
VALIDATED,
DISCARDED,
REPORTED,
ARTIFACT
Expand All @@ -62,81 +68,44 @@ public ClinicalVariant() {
}

public ClinicalVariant(VariantAvro avro) {
this(avro, new ArrayList<>(), new ArrayList<>(), new HashMap<>(), new ClinicalDiscussion(), null,
Status.NOT_REVIEWED, new ArrayList<>(), new HashMap<>());
this(avro, new ArrayList<>(), new ArrayList<>(), new ClinicalVariantFilter(), Collections.emptyList(), "", Collections.emptyList(),
new ClinicalDiscussion(), new ClinicalVariantConfidence(), Collections.emptyList(), Status.NOT_REVIEWED,
Collections.emptyList(), Collections.emptyList(), new HashMap<>());
}

@Deprecated
public ClinicalVariant(VariantAvro avro, List<ClinicalVariantEvidence> evidences, List<ClinicalComment> comments,
Map<String, Object> filters, ClinicalDiscussion discussion, Status status, List<String> tags,
Map<String, Object> attributes) {
super(avro);

this.evidences = evidences;
this.comments = comments;
this.filters = filters;
this.discussion = discussion;
this.status = status;
this.tags = tags;
this.attributes = attributes;
}

@Deprecated
public ClinicalVariant(VariantAvro avro, List<ClinicalVariantEvidence> evidences, List<ClinicalComment> comments,
Map<String, Object> filters, ClinicalDiscussion discussion,
ClinicalVariantConfidence confidence, Status status, List<String> tags,
Map<String, Object> attributes) {
super(avro);

this.evidences = evidences;
this.comments = comments;
this.filters = filters;
this.discussion = discussion;
this.status = status;
this.tags = tags;
this.confidence = confidence;
this.attributes = attributes;
}

@Deprecated
public ClinicalVariant(VariantAvro avro, List<ClinicalVariantEvidence> evidences, List<ClinicalComment> comments,
Map<String, Object> filters, String recommendation, List<MiniPubmed> references,
ClinicalDiscussion discussion, ClinicalVariantConfidence confidence, Status status,
List<String> tags, Map<String, Object> attributes) {
super(avro);

this.evidences = evidences;
this.comments = comments;
this.filters = filters;
this.recommendation = recommendation;
this.references = references;
this.discussion = discussion;
this.status = status;
this.tags = tags;
this.confidence = confidence;
this.attributes = attributes;
ClinicalVariantFilter filter, List<ClinicalProperty.ModeOfInheritance> modesOfInheritance, String recommendation,
List<MiniPubmed> references,
ClinicalDiscussion discussion, ClinicalVariantConfidence confidence, List<ClinicalVariantSummaryStats> stats,
Status status, List<String> tags, List<String> images, Map<String, Object> attributes) {
this(avro, evidences, comments, filter, modesOfInheritance, recommendation, references, discussion, confidence, stats,
status, tags, images, 1, attributes);
}

public ClinicalVariant(VariantAvro avro, List<ClinicalVariantEvidence> evidences, List<ClinicalComment> comments,
Map<String, Object> filters, String recommendation, List<MiniPubmed> references,
ClinicalVariantFilter filter, List<ClinicalProperty.ModeOfInheritance> modesOfInheritance, String recommendation,
List<MiniPubmed> references,
ClinicalDiscussion discussion, ClinicalVariantConfidence confidence, List<ClinicalVariantSummaryStats> stats,
Status status, List<String> tags, Map<String, Object> attributes) {
Status status, List<String> tags, List<String> images, int version, Map<String, Object> attributes) {
super(avro);

this.evidences = evidences;
this.comments = comments;
this.filters = filters;
this.filter = filter;
this.modesOfInheritance = modesOfInheritance;
this.recommendation = recommendation;
this.references = references;
this.discussion = discussion;
this.stats = stats;
this.status = status;
this.tags = tags;
this.images = images;
this.confidence = confidence;
this.version = version;
this.attributes = attributes;
}


@Override
public String toString() {
return super.toString();
Expand All @@ -160,12 +129,21 @@ public ClinicalVariant setComments(List<ClinicalComment> comments) {
return this;
}

public Map<String, Object> getFilters() {
return filters;
public ClinicalVariantFilter getFilter() {
return filter;
}

public ClinicalVariant setFilter(ClinicalVariantFilter filter) {
this.filter = filter;
return this;
}

public List<ClinicalProperty.ModeOfInheritance> getModesOfInheritance() {
return modesOfInheritance;
}

public ClinicalVariant setFilters(Map<String, Object> filters) {
this.filters = filters;
public ClinicalVariant setModesOfInheritance(List<ClinicalProperty.ModeOfInheritance> modesOfInheritance) {
this.modesOfInheritance = modesOfInheritance;
return this;
}

Expand Down Expand Up @@ -232,6 +210,24 @@ public ClinicalVariant setTags(List<String> tags) {
return this;
}

public List<String> getImages() {
return images;
}

public ClinicalVariant setImages(List<String> images) {
this.images = images;
return this;
}

public int getVersion() {
return version;
}

public ClinicalVariant setVersion(int version) {
this.version = version;
return this;
}

public Map<String, Object> getAttributes() {
return attributes;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package org.opencb.biodata.models.clinical.interpretation;

import java.util.Map;

public class ClinicalVariantFilter {

private Map<String, Object> query;
private String opencgaVersion;
private String cellbaseVersion;

public ClinicalVariantFilter() {
}

public ClinicalVariantFilter(Map<String, Object> query, String opencgaVersion, String cellbaseVersion) {
this.query = query;
this.opencgaVersion = opencgaVersion;
this.cellbaseVersion = cellbaseVersion;
}

@Override
public String toString() {
final StringBuilder sb = new StringBuilder("ClinicalVariantFilter{");
sb.append("query=").append(query);
sb.append(", opencgaVersion='").append(opencgaVersion).append('\'');
sb.append(", cellbaseVersion='").append(cellbaseVersion).append('\'');
sb.append('}');
return sb.toString();
}

public Map<String, Object> getQuery() {
return query;
}

public ClinicalVariantFilter setQuery(Map<String, Object> query) {
this.query = query;
return this;
}

public String getOpencgaVersion() {
return opencgaVersion;
}

public ClinicalVariantFilter setOpencgaVersion(String opencgaVersion) {
this.opencgaVersion = opencgaVersion;
return this;
}

public String getCellbaseVersion() {
return cellbaseVersion;
}

public ClinicalVariantFilter setCellbaseVersion(String cellbaseVersion) {
this.cellbaseVersion = cellbaseVersion;
return this;
}
}
Loading