public void AddVariantData(VariantFeature variant) { //add CytoGenetic band CytogeneticBand = variant.CytogeneticBand; // populating supplementary interval specific fields PopulateSuppIntervalFields(variant.GetSupplementaryIntervals()); foreach (var altAllele in variant.AlternateAlleles) { var jsonVariant = new JsonVariant(altAllele, variant); AnnotatedAlternateAlleles.Add(jsonVariant); // custom intervals are not part of SA as they are a separate data structure AddCustomIntervals(altAllele, jsonVariant); if (altAllele.SupplementaryAnnotationPosition == null) { continue; } var sa = altAllele.SupplementaryAnnotationPosition; sa.AddSaPositionToVariant(jsonVariant); } }
public override string ToString() { // return if this is a reference site // ReSharper disable once AssignNullToNotNullAttribute if (!AnnotatedAlternateAlleles.Any()) { return(null); } var sb = new StringBuilder(); var jsonObject = new JsonObject(sb); if (NeedsVariantComma) { sb.Append(JsonObject.Comma); sb.Append('\n'); } else { NeedsVariantComma = true; } // data section sb.Append(JsonObject.OpenBrace); // ========== // positional // ========== jsonObject.AddStringValue(ChromosomeTag, ReferenceName); jsonObject.AddStringValue(RefAlleleTag, ReferenceAllele); jsonObject.AddIntValue(PositionTag, ReferenceBegin); jsonObject.AddStringValues("ciPos", CiPos, false); jsonObject.AddStringValues("ciEnd", CiEnd, false); jsonObject.AddIntValue("svLength", SvLength); jsonObject.AddStringValue("quality", Quality, false); jsonObject.AddStringValues("filters", Filters); jsonObject.AddStringValues("altAlleles", AlternateAlleles); jsonObject.AddStringValue("strandBias", StrandBias, false); jsonObject.AddStringValue("jointSomaticNormalQuality", JointSomaticNormalQuality, false); jsonObject.AddStringValue("recalibratedQuality", RecalibratedQuality, false); jsonObject.AddStringValue("copyNumber", CopyNumber, false); jsonObject.AddStringValue("cytogeneticBand", CytogeneticBand); jsonObject.AddBoolValue("colocalizedWithCnv", ColocalizedWithCnv, true, TrueTag); if (AnnotatedSamples != null) { jsonObject.AddStringValues(SamplesTag, AnnotatedSamples.Select(s => s.ToString()).ToArray(), false); } if (SupplementaryIntervals != null && SupplementaryIntervals.Any()) { jsonObject.AddStringValues(StructuralVariantsTag, SupplementaryIntervals.Select(s => s.ToString()).ToArray(), false); } jsonObject.AddStringValues(VariantsTag, AnnotatedAlternateAlleles.Select(v => v.ToString()).ToArray(), false); sb.Append(JsonObject.CloseBrace.ToString()); return(sb.ToString()); }