org.gel.models.report.avro.GuidelineBasedVariantClassification Maven / Gradle / Ivy
/**
* Autogenerated by Avro
*
* DO NOT EDIT DIRECTLY
*/
package org.gel.models.report.avro;
@SuppressWarnings("all")
/** Variant classification based on guidlines, AMP and ACMG are supported */
@org.apache.avro.specific.AvroGenerated
public class GuidelineBasedVariantClassification extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"GuidelineBasedVariantClassification\",\"namespace\":\"org.gel.models.report.avro\",\"doc\":\"Variant classification based on guidlines, AMP and ACMG are supported\",\"fields\":[{\"name\":\"acmgVariantClassification\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"AcmgVariantClassification\",\"doc\":\"Full record for the ACMG variant clasiffication, including all selectedd evidences and the final classification.\",\"fields\":[{\"name\":\"acmgEvidences\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"AcmgEvidence\",\"doc\":\"AcmgEvidence. This should be buit for each one of the evidences assing to a variants following the ACMG guidelines.\\n An AcmgEvidence, should map with one of the criteria defined, i.e, PVS1, BA1, PM1...\",\"fields\":[{\"name\":\"category\",\"type\":{\"type\":\"enum\",\"name\":\"AcmgEvidenceCategory\",\"doc\":\"Each ACMG criterion is classified in one of these categories\",\"symbols\":[\"population_data\",\"computational_and_predictive_data\",\"functional_data\",\"segregation_data\",\"de_novo_data\",\"allelic_data\",\"other_database\",\"other_data\"]},\"doc\":\"Evidence category as defined in ACMG guidelines\"},{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"AcmgEvidenceType\",\"doc\":\"Each ACMG cirterion will be classifed as benign or pathogenic\",\"symbols\":[\"benign\",\"pathogenic\"]},\"doc\":\"Evidence type: benign or pathogenic\"},{\"name\":\"weight\",\"type\":{\"type\":\"enum\",\"name\":\"AcmgEvidenceWeight\",\"doc\":\"Each ACMG criterion is weighted using the following terms:\\n\\n* `stand_alone`: `A`, stand-alone applied for benign variant critieria `(BA1)`\\n* `supporting`: `P`, supporting applied for benign variant critieria `(BP1-6)` and pathogenic variant criteria `(PP1-5)`\\n* `moderate`: `M`, moderate applied for pathogenic variant critieria (PM1-6)\\n* `strong`: `S`, strong applied for pathogenic variant critieria (PS1-4)\\n* `very_strong`: `S`, Very Stong applied for pathogenic variant critieria (PVS1)\",\"symbols\":[\"stand_alone\",\"supporting\",\"moderate\",\"strong\",\"very_strong\"]},\"doc\":\"Default strength for criterion as defined in Table 3 of ACMG guidelines (Richards et al 2015). e.g. PM2 would be \\\"moderate\\\"\"},{\"name\":\"modifier\",\"type\":\"int\",\"doc\":\"The number suffix at the end of the ACMG criteria code e.g PM2 would be 2\"},{\"name\":\"activationStrength\",\"type\":{\"type\":\"enum\",\"name\":\"ActivationStrength\",\"doc\":\"Activation Strength enumeration:\\n* `strong`\\n* `moderate`\\n* `supporting`\\n* `very_strong`\\n* `stand_alone`\",\"symbols\":[\"strong\",\"moderate\",\"supporting\",\"very_strong\",\"stand_alone\"]},\"doc\":\"The strength this criterion has been used at in this interpretation. e.g. if PM2 was only used at \\\"supporting\\\" rather than \\\"moderate\\\", the activation strength would be \\\"supporting\\\"\"},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The description of the evidence as described in ACMG guidelines e.g. for PM2 the description would be \\\"Absent from controls (or at extremely low frequency if recessive) in Exome Sequencing Project, 1000 Genomes Project, or Exome Aggregation Consortium\\\"\"},{\"name\":\"comments\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"UserComment\",\"fields\":[{\"name\":\"comment\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Comment text\"},{\"name\":\"user\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"User\",\"fields\":[{\"name\":\"userid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Azure Active Directory immutable user OID\"},{\"name\":\"email\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"User email address\"},{\"name\":\"username\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Username\"},{\"name\":\"role\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"groups\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}]}]}],\"doc\":\"User who created comment\"},{\"name\":\"timestamp\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Date and time comment was created (ISO 8601 datetime with seconds and timezone e.g. 2020-11-23T15:52:36+00:00)\"}]}}],\"doc\":\"User comments attached to this ACMG criteria in this case\"}]}},\"doc\":\"Details of ACMG criteria used to score this variant\"},{\"name\":\"clinicalSignificance\",\"type\":{\"type\":\"enum\",\"name\":\"ClinicalSignificance\",\"symbols\":[\"benign\",\"likely_benign\",\"likely_pathogenic\",\"pathogenic\",\"uncertain_significance\",\"excluded\"]},\"doc\":\"Final classification selected by user\"},{\"name\":\"calculatedClinicalSignificance\",\"type\":[\"null\",\"ClinicalSignificance\"],\"doc\":\"Classification computed from ACMG scores\"},{\"name\":\"assessment\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"noAcmgEvidence\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"AcmgEvidenceCategory\"}],\"doc\":\"ACMG evidence categories for which the user has indicated there is no evidence available\"}]}],\"doc\":\"Variant classification using ACMG framework\"},{\"name\":\"ampVariantClassification\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"AmpVariantClassification\",\"doc\":\"Full Variant classification acording to AMP guideline, including all supporting evidences and the final\\n assessment\",\"fields\":[{\"name\":\"ampEvidences\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"AmpEvidence\",\"doc\":\"Evidences as defined in AMP guidelines, they are composed by a evidence type (first column in the evidence table of\\n the guidlines) and a assessment of the evicence, this last one will define the streght of the evidence, supporting\\n the variant to be classified as TierI-IV\",\"fields\":[{\"name\":\"type\",\"type\":{\"type\":\"enum\",\"name\":\"AmpEvidenceType\",\"doc\":\"Type of evidence in the AMP guideline\",\"symbols\":[\"mutation_type\",\"therapies\",\"variant_frequencies\",\"potential_germline\",\"population_database_presence\",\"germline_database_presence\",\"somatic_database_presence\",\"impact_predictive_software\",\"pathway_involvement\",\"publications\"]},\"doc\":\"AMP evidence type according to Guidlines, i.e germline_database_presence\"},{\"name\":\"evidenceAssessment\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Assessment for AMP evidence, i.e Present in ClinVar\"}]}},\"doc\":\"List of AMP evidences\"},{\"name\":\"ampTier\",\"type\":{\"type\":\"enum\",\"name\":\"AmpTier\",\"doc\":\"AMP tier:\\n* `TierI`: Variants of Strong Clinical Significance\\n* `TierII`: Variants of Potential Clinical Significance\\n* `TierIII`: Variants of Unknown Clinical Significance\\n* `TierIV`: Benign or Likely Benign Variants\",\"symbols\":[\"tierI\",\"tierII\",\"tierIII\",\"tierIV\"]},\"doc\":\"Final Clasification taken in account the evidences\"},{\"name\":\"ampClincialOrExperimentalEvidence\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"AmpClincialOrExperimentalEvidence\",\"doc\":\"Amp Clinical or Experimental Evidence, the level will define the overal clasification of the variant together with\\n the tiering.\",\"fields\":[{\"name\":\"category\",\"type\":{\"type\":\"enum\",\"name\":\"AmpClinicalOrExperimentalEvidenceCategory\",\"doc\":\"Categories of Clinical and/or Experimental Evidence as defined in AMP guidelines\",\"symbols\":[\"therapeutic\",\"diagnosis\",\"prognosis\"]},\"doc\":\"As denined in AMP guidelines: therapeutic, diagnosis or prognosis\"},{\"name\":\"level\",\"type\":{\"type\":\"enum\",\"name\":\"AmpClinicalOrExperimentalEvidenceLevel\",\"doc\":\"Levels for categories of Clinical and/or Experimental Evidence as defined in AMP guidelines\",\"symbols\":[\"levelA\",\"levelB\",\"levelC\",\"levelD\"]},\"doc\":\"As denined in AMP guidelines: levelA, levelB, levelC, levelD\"},{\"name\":\"description\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Description of the evidence\"}]}}],\"doc\":\"Clinical or Experimental evicence\"},{\"name\":\"assessment\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Final Assessment\"}]}],\"doc\":\"Variant classification using AMP framework\"}]}");
public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
/** Variant classification using ACMG framework */
private org.gel.models.report.avro.AcmgVariantClassification acmgVariantClassification;
/** Variant classification using AMP framework */
private org.gel.models.report.avro.AmpVariantClassification ampVariantClassification;
/**
* Default constructor. Note that this does not initialize fields
* to their default values from the schema. If that is desired then
* one should use newBuilder()
.
*/
public GuidelineBasedVariantClassification() {}
/**
* All-args constructor.
*/
public GuidelineBasedVariantClassification(org.gel.models.report.avro.AcmgVariantClassification acmgVariantClassification, org.gel.models.report.avro.AmpVariantClassification ampVariantClassification) {
this.acmgVariantClassification = acmgVariantClassification;
this.ampVariantClassification = ampVariantClassification;
}
public org.apache.avro.Schema getSchema() { return SCHEMA$; }
// Used by DatumWriter. Applications should not call.
public java.lang.Object get(int field$) {
switch (field$) {
case 0: return acmgVariantClassification;
case 1: return ampVariantClassification;
default: throw new org.apache.avro.AvroRuntimeException("Bad index");
}
}
// Used by DatumReader. Applications should not call.
@SuppressWarnings(value="unchecked")
public void put(int field$, java.lang.Object value$) {
switch (field$) {
case 0: acmgVariantClassification = (org.gel.models.report.avro.AcmgVariantClassification)value$; break;
case 1: ampVariantClassification = (org.gel.models.report.avro.AmpVariantClassification)value$; break;
default: throw new org.apache.avro.AvroRuntimeException("Bad index");
}
}
/**
* Gets the value of the 'acmgVariantClassification' field.
* Variant classification using ACMG framework */
public org.gel.models.report.avro.AcmgVariantClassification getAcmgVariantClassification() {
return acmgVariantClassification;
}
/**
* Sets the value of the 'acmgVariantClassification' field.
* Variant classification using ACMG framework * @param value the value to set.
*/
public void setAcmgVariantClassification(org.gel.models.report.avro.AcmgVariantClassification value) {
this.acmgVariantClassification = value;
}
/**
* Gets the value of the 'ampVariantClassification' field.
* Variant classification using AMP framework */
public org.gel.models.report.avro.AmpVariantClassification getAmpVariantClassification() {
return ampVariantClassification;
}
/**
* Sets the value of the 'ampVariantClassification' field.
* Variant classification using AMP framework * @param value the value to set.
*/
public void setAmpVariantClassification(org.gel.models.report.avro.AmpVariantClassification value) {
this.ampVariantClassification = value;
}
/** Creates a new GuidelineBasedVariantClassification RecordBuilder */
public static org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder newBuilder() {
return new org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder();
}
/** Creates a new GuidelineBasedVariantClassification RecordBuilder by copying an existing Builder */
public static org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder newBuilder(org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder other) {
return new org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder(other);
}
/** Creates a new GuidelineBasedVariantClassification RecordBuilder by copying an existing GuidelineBasedVariantClassification instance */
public static org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder newBuilder(org.gel.models.report.avro.GuidelineBasedVariantClassification other) {
return new org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder(other);
}
/**
* RecordBuilder for GuidelineBasedVariantClassification instances.
*/
public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase
implements org.apache.avro.data.RecordBuilder {
private org.gel.models.report.avro.AcmgVariantClassification acmgVariantClassification;
private org.gel.models.report.avro.AmpVariantClassification ampVariantClassification;
/** Creates a new Builder */
private Builder() {
super(org.gel.models.report.avro.GuidelineBasedVariantClassification.SCHEMA$);
}
/** Creates a Builder by copying an existing Builder */
private Builder(org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder other) {
super(other);
if (isValidValue(fields()[0], other.acmgVariantClassification)) {
this.acmgVariantClassification = data().deepCopy(fields()[0].schema(), other.acmgVariantClassification);
fieldSetFlags()[0] = true;
}
if (isValidValue(fields()[1], other.ampVariantClassification)) {
this.ampVariantClassification = data().deepCopy(fields()[1].schema(), other.ampVariantClassification);
fieldSetFlags()[1] = true;
}
}
/** Creates a Builder by copying an existing GuidelineBasedVariantClassification instance */
private Builder(org.gel.models.report.avro.GuidelineBasedVariantClassification other) {
super(org.gel.models.report.avro.GuidelineBasedVariantClassification.SCHEMA$);
if (isValidValue(fields()[0], other.acmgVariantClassification)) {
this.acmgVariantClassification = data().deepCopy(fields()[0].schema(), other.acmgVariantClassification);
fieldSetFlags()[0] = true;
}
if (isValidValue(fields()[1], other.ampVariantClassification)) {
this.ampVariantClassification = data().deepCopy(fields()[1].schema(), other.ampVariantClassification);
fieldSetFlags()[1] = true;
}
}
/** Gets the value of the 'acmgVariantClassification' field */
public org.gel.models.report.avro.AcmgVariantClassification getAcmgVariantClassification() {
return acmgVariantClassification;
}
/** Sets the value of the 'acmgVariantClassification' field */
public org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder setAcmgVariantClassification(org.gel.models.report.avro.AcmgVariantClassification value) {
validate(fields()[0], value);
this.acmgVariantClassification = value;
fieldSetFlags()[0] = true;
return this;
}
/** Checks whether the 'acmgVariantClassification' field has been set */
public boolean hasAcmgVariantClassification() {
return fieldSetFlags()[0];
}
/** Clears the value of the 'acmgVariantClassification' field */
public org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder clearAcmgVariantClassification() {
acmgVariantClassification = null;
fieldSetFlags()[0] = false;
return this;
}
/** Gets the value of the 'ampVariantClassification' field */
public org.gel.models.report.avro.AmpVariantClassification getAmpVariantClassification() {
return ampVariantClassification;
}
/** Sets the value of the 'ampVariantClassification' field */
public org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder setAmpVariantClassification(org.gel.models.report.avro.AmpVariantClassification value) {
validate(fields()[1], value);
this.ampVariantClassification = value;
fieldSetFlags()[1] = true;
return this;
}
/** Checks whether the 'ampVariantClassification' field has been set */
public boolean hasAmpVariantClassification() {
return fieldSetFlags()[1];
}
/** Clears the value of the 'ampVariantClassification' field */
public org.gel.models.report.avro.GuidelineBasedVariantClassification.Builder clearAmpVariantClassification() {
ampVariantClassification = null;
fieldSetFlags()[1] = false;
return this;
}
@Override
public GuidelineBasedVariantClassification build() {
try {
GuidelineBasedVariantClassification record = new GuidelineBasedVariantClassification();
record.acmgVariantClassification = fieldSetFlags()[0] ? this.acmgVariantClassification : (org.gel.models.report.avro.AcmgVariantClassification) defaultValue(fields()[0]);
record.ampVariantClassification = fieldSetFlags()[1] ? this.ampVariantClassification : (org.gel.models.report.avro.AmpVariantClassification) defaultValue(fields()[1]);
return record;
} catch (Exception e) {
throw new org.apache.avro.AvroRuntimeException(e);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy