All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opencb.biodata.models.clinical.interpretation.ClinicalVariant Maven / Gradle / Ivy

The newest version!
/*
 * 
 *
 */

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

import org.opencb.biodata.models.clinical.ClinicalComment;
import org.opencb.biodata.models.clinical.ClinicalDiscussion;
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;

public class ClinicalVariant extends Variant {

    private List evidences;
    private List comments;
    private Map filters;
    private String recommendation;
    private List references;
    private ClinicalDiscussion discussion;
    private ClinicalVariantConfidence confidence;
    private List tags;

    private Status status;

    // TODO maybe this parameter should be in Variant
    private Map attributes;

    public enum Status {
        NOT_REVIEWED,
        REVIEW_REQUESTED,
        REVIEWED,
        DISCARDED,
        REPORTED,
        ARTIFACT
    }

    public ClinicalVariant() {
        this.status = Status.NOT_REVIEWED;
    }

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

    @Deprecated
    public ClinicalVariant(VariantAvro avro, List evidences, List comments,
                           Map filters, ClinicalDiscussion discussion, Status status, List tags,
                           Map 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 evidences, List comments,
                           Map filters, ClinicalDiscussion discussion,
                           ClinicalVariantConfidence confidence, Status status, List tags,
                           Map 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;
    }

    public ClinicalVariant(VariantAvro avro, List evidences, List comments,
                           Map filters, String recommendation, List references,
                           ClinicalDiscussion discussion, ClinicalVariantConfidence confidence, 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.status = status;
        this.tags = tags;
        this.confidence = confidence;
        this.attributes = attributes;
    }

    @Override
    public String toString() {
        return super.toString();
    }

    public List getEvidences() {
        return evidences;
    }

    public ClinicalVariant setEvidences(List evidences) {
        this.evidences = evidences;
        return this;
    }

    public List getComments() {
        return comments;
    }

    public ClinicalVariant setComments(List comments) {
        this.comments = comments;
        return this;
    }

    public Map getFilters() {
        return filters;
    }

    public ClinicalVariant setFilters(Map filters) {
        this.filters = filters;
        return this;
    }

    public String getRecommendation() {
        return recommendation;
    }

    public ClinicalVariant setRecommendation(String recommendation) {
        this.recommendation = recommendation;
        return this;
    }

    public List getReferences() {
        return references;
    }

    public ClinicalVariant setReferences(List references) {
        this.references = references;
        return this;
    }

    public ClinicalDiscussion getDiscussion() {
        return discussion;
    }

    public ClinicalVariant setDiscussion(ClinicalDiscussion discussion) {
        this.discussion = discussion;
        return this;
    }

    public ClinicalVariantConfidence getConfidence() {
        return confidence;
    }

    public ClinicalVariant setConfidence(ClinicalVariantConfidence confidence) {
        this.confidence = confidence;
        return this;
    }

    public Status getStatus() {
        return status;
    }

    public ClinicalVariant setStatus(Status status) {
        this.status = status;
        return this;
    }

    public List getTags() {
        return tags;
    }

    public ClinicalVariant setTags(List tags) {
        this.tags = tags;
        return this;
    }

    public Map getAttributes() {
        return attributes;
    }

    public ClinicalVariant setAttributes(Map attributes) {
        this.attributes = attributes;
        return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy