/// <summary> /// constructor /// </summary> public VariantEffect(TranscriptAnnotation ta, Transcript transcript, VariantType internalCopyNumberType = VariantType.unknown) { _ta = ta; _transcript = transcript; _altAllele = ta.AlternateAllele; _preCache = new BasicVariantEffects(ta); _cache = new VariantEffectCache(); _tempCache = new TempVariantEffectCache(); _featureVariantEffects = new FeatureVariantEffects(transcript, _altAllele.NirvanaVariantType, _altAllele.Start, _altAllele.End, _altAllele.IsStructuralVariant, internalCopyNumberType); }
/// <summary> /// determines the regulatory region variant's functional consequence /// </summary> public void DetermineRegulatoryVariantEffects(ReferenceAnnotationInterval feature, VariantType vt, int refBegin, int refEnd, bool isSv, VariantType internalCopyNumberType) { var regulatoryVariantEffects = new FeatureVariantEffects(feature, vt, refBegin, refEnd, isSv, internalCopyNumberType); // RegulatoryRegionAmplification if (regulatoryVariantEffects.Amplification()) { _consequences.Add(ConsequenceType.RegulatoryRegionAmplification); } // RegulatoryRegionAblation if (regulatoryVariantEffects.Ablation()) { _consequences.Add(ConsequenceType.RegulatoryRegionAblation); } // RegulatoryRegionVariant _consequences.Add(ConsequenceType.RegulatoryRegionVariant); }