public override bool CreateVariantEffect(Variant variant, VariantEffects variantEffects) { if (!Intersects(variant)) { return(false); } //for (SpliceSite ss : spliceSites) // if (ss.intersects(variant)) ss.variantEffect(variant, variantEffects); // Add intron part variantEffects.AddEffectType(variant, this, EffectType.INTRON); return(true); }
public override bool CreateVariantEffect(Variant variant, VariantEffects variantEffects) { if (!Intersects(variant)) { return(false); } if (variant.Includes(this) && variant.VarType == Variant.VariantType.DEL) { variantEffects.AddEffectType(variant, this, EffectType.UTR_3_DELETED); // A UTR was removed entirely return(true); } Transcript tr = (Transcript)FindParent(typeof(Transcript)); long distance = utrDistance(variant, tr); VariantEffect variantEffect = new VariantEffect(variant); variantEffect.Set(this, EffectType.UTR_3_PRIME, EffectTypeMethods.EffectDictionary[EffectType.UTR_3_PRIME], distance >= 0 ? distance + " bases from CDS" : ""); variantEffect.Distance = distance; variantEffects.AddEffect(variantEffect); return(true); }