/// <summary> /// sets the underlying data for the compressed sequence /// </summary> public void Set(int numBases, byte[] buffer, IIntervalSearch <MaskedEntry> maskedIntervalSearch, int sequenceOffset = 0) { NumBases = numBases; _buffer = buffer; _maskedIntervalSearch = maskedIntervalSearch; _sequenceOffset = sequenceOffset; }
private void BuildIntervalForests() { if (_saReaders == null || _saReaders.Count == 0) { return; } var smallVariantIntervals = new List <Interval <ISupplementaryInterval> >(); var svIntervals = new List <Interval <ISupplementaryInterval> >(); var allVariantIntervals = new List <Interval <ISupplementaryInterval> >(); foreach (var reader in _saReaders) { if (reader.SmallVariantIntervals != null) { smallVariantIntervals.AddRange(reader.SmallVariantIntervals); } if (reader.SvIntervals != null) { svIntervals.AddRange(reader.SvIntervals); } if (reader.AllVariantIntervals != null) { allVariantIntervals.AddRange(reader.AllVariantIntervals); } } _smallVariantIntervalArray = CreateIntervalArray(smallVariantIntervals); _svIntervalArray = CreateIntervalArray(svIntervals); _allVariantIntervalArray = CreateIntervalArray(allVariantIntervals); }
public SupplementaryAnnotationProvider(List <string> saDirs) { Name = "Supplementary annotation provider"; _currentUcscReferenceName = ""; _smallVariantIntervalArray = new NullIntervalSearch <ISupplementaryInterval>(); _svIntervalArray = new NullIntervalSearch <ISupplementaryInterval>(); _allVariantIntervalArray = new NullIntervalSearch <ISupplementaryInterval>(); _saDirs = saDirs.ToList(); }
internal void Set(int length, int sequenceOffset, byte[] twoBitBuffer, IntervalArray <MaskedEntry> maskedEntryIntervalArray, Band[] cytogeneticBands) { Length = length; _buffer = twoBitBuffer; _maskedIntervalSearch = maskedEntryIntervalArray; _sequenceOffset = sequenceOffset; CytogeneticBands = cytogeneticBands; _useNSequence = false; }
private static void AddIntervals(IAnnotatedPosition annotatedPosition, IIntervalSearch <ISupplementaryInterval> intervalArray, int begin, int end) { var intervals = intervalArray.GetAllOverlappingValues(begin, end); if (intervals == null) { return; } foreach (var overlappingInterval in intervals) { var reciprocalOverlap = annotatedPosition.Position.Start >= annotatedPosition.Position.End ? null : overlappingInterval.GetReciprocalOverlap(annotatedPosition.AnnotatedVariants[0].Variant); annotatedPosition.SupplementaryIntervals.Add( new AnnotatedSupplementaryInterval(overlappingInterval, reciprocalOverlap)); } }
public void Set(int numBases, byte[] buffer, IIntervalSearch <MaskedEntry> maskedIntervalSearch, int sequenceOffset = 0) { throw new NotImplementedException(); }
public ReferenceIntervalArrayTests() { _refIntervalSearch = GetData(); }